]> granicus.if.org Git - postgresql/commit
Fix subtly-wrong volatility checking in BeginCopyFrom().
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 8 Nov 2013 13:59:39 +0000 (08:59 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 8 Nov 2013 13:59:39 +0000 (08:59 -0500)
commit060b22a99a67e01aa097f1a21d2123f166ccdb15
treeded3bc7456187c34aeb7f2f511af37915119dd36
parent20803d7881c3865edede170579f55261140b5d0d
Fix subtly-wrong volatility checking in BeginCopyFrom().

contain_volatile_functions() is best applied to the output of
expression_planner(), not its input, so that insertion of function
default arguments and constant-folding have been done.  (See comments
at CheckMutability, for instance.)  It's perhaps unlikely that anyone
will notice a difference in practice, but still we should do it properly.

In passing, change variable type from Node* to Expr* to reduce the net
number of casts needed.

Noted while perusing uses of contain_volatile_functions().
src/backend/commands/copy.c