expression_tree_walker failed to let walker function see the immediate child
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 25 Oct 2006 22:11:32 +0000 (22:11 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 25 Oct 2006 22:11:32 +0000 (22:11 +0000)
commit53afd8a08448bd1ebb059fb9c5e33fcea0926213
tree802d4fd84c548e4c9a8460b6969bd4c02678a701
parentc777e2d7298f61b7f1f4e55e705438fd81b27f18
expression_tree_walker failed to let walker function see the immediate child
node of a SubLink or SubPlan testexpr field.  Bug resulted from replacing
the old lefthand/exprs list fields with a simple expression field, and not
remembering that expression_tree_walker is coded to save a few cycles by
recursing directly to self on list fields (on the assumption the walker
isn't interested in List nodes per se).  On non-list fields it must of
course call the walker.  Possibly that hack isn't worth the risk of more
such bugs, but I'll leave it be for now.  Per bug report from James Robinson.
src/backend/optimizer/util/clauses.c