aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/numeric.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-01-30 17:04:31 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2011-01-30 17:04:31 -0500
commit9688c4e6f1516d2fc0db5d200112c4d91538878d (patch)
tree9d41e022c5f4439525e9228a942a8e264071cb33 /src/backend/utils/adt/numeric.c
parent507069de6dbe18c2163f27fbc780673eef8c5622 (diff)
downloadpostgresql-9688c4e6f1516d2fc0db5d200112c4d91538878d.tar.gz
postgresql-9688c4e6f1516d2fc0db5d200112c4d91538878d.zip
Make reduce_outer_joins() smarter about semijoins.
reduce_outer_joins() mistakenly treated a semijoin like a left join for purposes of deciding whether not-null constraints created by the join's quals could be passed down into the join's left-hand side (possibly resulting in outer-join simplification there). Actually, semijoin works like inner join for this purpose, ie, we do not need to see any rows that can't possibly satisfy the quals. Hence, two-line fix to treat semi and inner joins alike. Per observation by Andres Freund about a performance gripe from Yazan Suleiman. Back-patch to 8.4, since this oversight has been there since the current handling of semijoins was implemented.
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
0 files changed, 0 insertions, 0 deletions