postgrespro.git / summary / log / commit / refs
commit 4a8283d0ec5a6781b9e0d4ba16b44da8a0856d02
Author: Tomas Vondra <tomas.vondra@postgresql.org>
Date: Tue Jan 22 22:11:17 2019 +0000
Fix handling of volatile expressions in COPY FROM ... WHERE
The checking for calls to volatile functions in the COPY FROM ... WHERE
expression was treating all WHERE clauses as if containing such calls.
While that does not produce incorrect results, this disables batching
which may result in significant performance regression.
Discussion: https://www.postgresql.org/message-id/flat/CALAY4q_DdpWDuB5-Zyi-oTtO2uSk8pmy+dupiRe3AvAc++1imA@mail.gmail.com
src/backend/commands/copy.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index c410e0a0dd..03745cca75 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -2612,8 +2612,7 @@ CopyFrom(CopyState cstate)
*/
insertMethod = CIM_SINGLE;
}
- else if (cstate->whereClause != NULL ||
- contain_volatile_functions(cstate->whereClause))
+ else if (contain_volatile_functions(cstate->whereClause))
{
/*
* Can't support multi-inserts if there are any volatile funcation
[parent: 005881033d4e]