Re: [PERFORM] improvise callbacks in plpgsql

Lists: pgsql-performancepgsql-www
From: "Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: <pgsql-performance(at)postgresql(dot)org>
Subject: Re: improvise callbacks in plpgsql
Date: 2005-11-02 13:45:02
Message-ID: 6EE64EF3AB31D5448D0007DD34EEB3417DD76D@Herge.rcsinc.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance pgsql-www

> Would you be willing to write up an example of this? We often get
asked
> about support for WITH, so I bet there's other people who would be
very
> interested in what you've got.

Sure. In fact, I had already decided this to be the next topic on my
blog. I'm assuming you are asking about tools to deal with recursive
sets in postgresql. A plpgsql solution is extremely fast, tight, and
easy if you do it right...Tom's latest suggestions (I have to flesh this
out some more) provide the missing piece puzzle to make it really tight
from a classic programming perspective. I don't miss the recursive
query syntax at all...IMO it's pretty much a hack anyways (to SQL).

Merlin


From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: Merlin Moncure <merlin(dot)moncure(at)rcsonline(dot)com>
Cc: pgsql-www(at)postgresql(dot)org
Subject: Re: [PERFORM] improvise callbacks in plpgsql
Date: 2005-11-02 23:44:30
Message-ID: 20051102234430.GA55520@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance pgsql-www

Can we get a link to this posted somewhere? I guess on techdocs?

On Wed, Nov 02, 2005 at 08:45:02AM -0500, Merlin Moncure wrote:
> > Would you be willing to write up an example of this? We often get
> asked
> > about support for WITH, so I bet there's other people who would be
> very
> > interested in what you've got.
>
> Sure. In fact, I had already decided this to be the next topic on my
> blog. I'm assuming you are asking about tools to deal with recursive
> sets in postgresql. A plpgsql solution is extremely fast, tight, and
> easy if you do it right...Tom's latest suggestions (I have to flesh this
> out some more) provide the missing piece puzzle to make it really tight
> from a classic programming perspective. I don't miss the recursive
> query syntax at all...IMO it's pretty much a hack anyways (to SQL).
>
> Merlin
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faq
>

--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461


From: David Fetter <david(at)fetter(dot)org>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: Merlin Moncure <merlin(dot)moncure(at)rcsonline(dot)com>, pgsql-www(at)postgresql(dot)org
Subject: Re: [PERFORM] improvise callbacks in plpgsql
Date: 2005-11-03 02:52:33
Message-ID: 20051103025233.GG29465@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance pgsql-www

On Wed, Nov 02, 2005 at 05:44:30PM -0600, Jim C. Nasby wrote:
> Can we get a link to this posted somewhere? I guess on techdocs?
>
> On Wed, Nov 02, 2005 at 08:45:02AM -0500, Merlin Moncure wrote:
> > > Would you be willing to write up an example of this? We often get
> > asked
> > > about support for WITH, so I bet there's other people who would be
> > very
> > > interested in what you've got.
> >
> > Sure. In fact, I had already decided this to be the next topic on
> > my blog. I'm assuming you are asking about tools to deal with
> > recursive sets in postgresql. A plpgsql solution is extremely
> > fast, tight, and easy if you do it right...Tom's latest
> > suggestions (I have to flesh this out some more) provide the
> > missing piece puzzle to make it really tight from a classic
> > programming perspective. I don't miss the recursive query syntax
> > at all...IMO it's pretty much a hack anyways (to SQL).

This might be worth putting in the docs somewhere. Tutorial?

Cheers,
D
--
David Fetter david(at)fetter(dot)org http://fetter.org/
phone: +1 510 893 6100 mobile: +1 415 235 3778

Remember to vote!


From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: David Fetter <david(at)fetter(dot)org>
Cc: pgsql-www(at)postgresql(dot)org, jnasby(at)pervasive(dot)com
Subject: Re: [PERFORM] improvise callbacks in plpgsql
Date: 2005-11-03 14:01:52
Message-ID: b42b73150511030601q1da5f693h73cdc20cb24125e5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance pgsql-www

On 11/2/05, David Fetter <david(at)fetter(dot)org> wrote:
> On Wed, Nov 02, 2005 at 05:44:30PM -0600, Jim C. Nasby wrote:
> > Can we get a link to this posted somewhere? I guess on techdocs?
> >
> > On Wed, Nov 02, 2005 at 08:45:02AM -0500, Merlin Moncure wrote:
> > > > Would you be willing to write up an example of this? We often get
> > > asked
> > > > about support for WITH, so I bet there's other people who would be
> > > very
> > > > interested in what you've got.
> > >
> > > Sure. In fact, I had already decided this to be the next topic on
> > > my blog. I'm assuming you are asking about tools to deal with
> > > recursive sets in postgresql. A plpgsql solution is extremely
> > > fast, tight, and easy if you do it right...Tom's latest
> > > suggestions (I have to flesh this out some more) provide the
> > > missing piece puzzle to make it really tight from a classic
> > > programming perspective. I don't miss the recursive query syntax
> > > at all...IMO it's pretty much a hack anyways (to SQL).
>
> This might be worth putting in the docs somewhere. Tutorial?

you guys can do anything you like with it...

I'm working on part two which will build on the previous example and
show how to pass in a function to use as a callback, kind of like a
functor.

btw, the blog examples are a reduction of my own personal code which
went through a vast simplification process. I need to test it a bt
before it hits doc quality, there might be some errors lurking there.

Merlin