pgsql: Fix subtly-wrong volatility checking in BeginCopyFrom(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix subtly-wrong volatility checking in BeginCopyFrom().
Date
Msg-id E1VembV-0002Ht-OO@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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().

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/060b22a99a67e01aa097f1a21d2123f166ccdb15

Modified Files
--------------
src/backend/commands/copy.c |   14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix subtly-wrong volatility checking in BeginCopyFrom().
Next
From: Kevin Grittner
Date:
Subject: Re: pgsql: Fix blatantly broken record_image_cmp() logic for pass-by-value