OSDN Git Service

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)
commit76d5f6f0355e3e4b448a9e4e8a393672f4730ac7
treeeb591ea2ed8505b1fd53a3419391dde4500b43a9
parent4df8de7a682e98be2b9072458bb9e77513f53c47
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