Re: Propogating conditions into a query - Mailing list pgsql-general

From Tom Lane
Subject Re: Propogating conditions into a query
Date
Msg-id 4795.1119536573@sss.pgh.pa.us
Whole thread Raw
In response to Re: Propogating conditions into a query  (Kim Bisgaard <kib+pg@dmi.dk>)
Responses Re: Propogating conditions into a query
List pgsql-general
Kim Bisgaard <kib+pg@dmi.dk> writes:
> The reason the first query is not performing is because the query
> optimizer does not push the conditions down into the sub-queries - right??

Well, it's not the same condition: the WHERE clause is constraining
the output variable of the FULL JOIN, which is logically and
implementationally distinct from either input table's variable.
I suppose it is arguable that we could transform the WHERE clause into
constraints on the input variables --- but we'd have to think carefully
about the conditions under which such a transformation is valid.
Offhand it seems like it might work for strict non-volatile constraint
expressions that refer only to output variables of the JOIN; if they
refer to other tables too then I'm not sure.

This is by no means a "bug fix", but if I have time over the next week
I'll see whether it is feasible to write for 8.1.

            regards, tom lane

pgsql-general by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Performance counters?
Next
From: Tom Lane
Date:
Subject: Re: multiple action rules