diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-07-21 02:02:51 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-07-21 02:02:51 +0000 |
commit | 10e8b3fae373caa7ade131947b1e271cf9d0e25f (patch) | |
tree | ed1d08e43a7c63f6470dd094cf970a1781dfc88d /src/backend/utils/adt/tsquery_rewrite.c | |
parent | 323e3fc2aacbdaf35793083eb9ce6a998b0d41ae (diff) | |
download | postgresql-10e8b3fae373caa7ade131947b1e271cf9d0e25f.tar.gz postgresql-10e8b3fae373caa7ade131947b1e271cf9d0e25f.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/backend/utils/adt/tsquery_rewrite.c')
0 files changed, 0 insertions, 0 deletions