diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-07-21 02:02:44 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-07-21 02:02:44 +0000 |
commit | b2c51e6eba1d8b3b139c529df3703b37952b5a3d (patch) | |
tree | 2e9e2608110c59fd75094ad1998f0e65c1b46fac /src/tutorial/basics.source | |
parent | 4e03b827eed0a04291657970c5796001a07fdf57 (diff) | |
download | postgresql-b2c51e6eba1d8b3b139c529df3703b37952b5a3d.tar.gz postgresql-b2c51e6eba1d8b3b139c529df3703b37952b5a3d.zip |
Fix another semijoin-ordering bug. We already knew that we couldn't
reorder a semijoin into or out of the righthand side of another semijoin,
but actually it doesn't work to reorder it into or out of the righthand
side of a left or antijoin, either. Per bug #4906 from Mathieu Fenniak.
This was sloppy thinking on my part. This identity does work:
( A left join B on (Pab) ) semijoin C on (Pac)
==
( A semijoin C on (Pac) ) left join B on (Pab)
but I failed to see that that doesn't mean this does:
( A left join B on (Pab) ) semijoin C on (Pbc)
!=
A left join ( B semijoin C on (Pbc) ) on (Pab)
Diffstat (limited to 'src/tutorial/basics.source')
0 files changed, 0 insertions, 0 deletions