pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: andrew <andrew.ylzhou@gmail.com>
To: pgsql-sql@postgresql.org
Subject: Re: filtering after join
Date: Thu, 26 Jan 2006 11:54:03 +0100
Message-ID: <29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com> (raw)
In-Reply-To: <200601261127.05442.peter_e@gmx.net>
References: <29d3b0b90601250927o2a5ee6e6mc33a7647da4438ce@mail.gmail.com>
	<200601252011.13465.peter_e@gmx.net>
	<29d3b0b90601251213g7f90dac7x9c524544ba72f61b@mail.gmail.com>
	<200601261127.05442.peter_e@gmx.net>

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@gmx.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@gmx.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



view thread (14+ messages)  latest in thread

Message-ID: <29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com>
Permalink:  ../29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com/
Also on:    postgresql.org/message-id/29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: andrew.ylzhou@gmail.com
  Subject: Re: filtering after join
  In-Reply-To: <29d3b0b90601260254n10d2c9aby77651744337020f8@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox