From: | andrew <andrew(dot)ylzhou(at)gmail(dot)com> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: filtering after join |
Date: | 2006-01-26 10:54:03 |
Message-ID: | 29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
But the function foo() would produce different values for the two
queries, so the result will be different.
A simple example is foo() computes the sum of all the integer fields
of the input record.
On 1/26/06, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
> andrew wrote:
> > Sorry for the confusion. This is what i meant. Thanks, Michael.
> >
> > select *
> > from (select * from A, B where A.a = B.b) as s
> > where foo(s) < 2;
> >
> > On 1/25/06, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
> > > andrew wrote:
> > > > I want to use a UDF to filter tuples t that are generated after a
> > > > join. More specifially, I have a UDF foo(record), which computes
> > > > a value for a given tuple. I can do the filtering before the
> > > > join. e.g.:
> > > >
> > > > select * from A, B where foo(A)<2 and A.a=B.b;
>
> Note that these two queries will produce the same internal execution
> plan, so if you wanted to make some difference you will not.
>
> --
> Peter Eisentraut
> http://developer.postgresql.org/~petere/
>
--
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Mario Weilguni | 2006-01-26 11:22:03 | Re: Physical column size |
Previous Message | Peter Eisentraut | 2006-01-26 10:27:05 | Re: filtering after join |