aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapAnd.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2005-08-27 18:04:49 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2005-08-27 18:04:49 +0000
commit5a7d36973ad791b92a056ee10772378c161562c1 (patch)
tree7388da002b2dd5c7abaad7be32afb1b2c161dbae /src/backend/executor/nodeBitmapAnd.c
parent5824d02155e68180bd2237946a33b29dbef1dd51 (diff)
downloadpostgresql-5a7d36973ad791b92a056ee10772378c161562c1.tar.gz
postgresql-5a7d36973ad791b92a056ee10772378c161562c1.zip
Fix two separate bugs in setrefs.c. set_subqueryscan_references needs
to copy the whole plan tree before invoking adjust_plan_varnos(); else if there is any multiply-linked substructure, the latter might increment some Var's varno twice. Previously there were some retail copyObject calls inside adjust_plan_varnos, but it seems a lot safer to just dup the whole tree first. Also, set_inner_join_references was trying to avoid work by not recursing if a BitmapHeapScan's bitmapqualorig contained no outer references; which was OK at the time the code was written, I think, but now that create_bitmap_scan_plan removes duplicate clauses from bitmapqualorig it is possible for that field to be NULL while outer references still remain in the qpqual and/or contained indexscan nodes. For safety, always recurse even if the BitmapHeapScan looks to be outer reference free. Per reports from Michael Fuhr and Oleg Bartunov.
Diffstat (limited to 'src/backend/executor/nodeBitmapAnd.c')
0 files changed, 0 insertions, 0 deletions