mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Copy the INSERT query in postgres_fdw
When executing the INSERT with batching, we may need to rebuild the query when the batch size changes, in which case we pfree the current string. We must not release the original string, stored in fdw_private, because that may be needed in EXPLAIN ANALYZE. So make copy of the SQL, but only for INSERT queries. Reported-by: Pavel Stehule Discussion: https://postgr.es/m/CAFj8pRCL_Rjw-MCR6J7VX9OF7MR6PA5K8qUbrMvprW_e-aHkfQ%40mail.gmail.com
This commit is contained in:
@ -3903,7 +3903,10 @@ create_foreign_modify(EState *estate,
|
||||
/* Set up remote query information. */
|
||||
fmstate->query = query;
|
||||
if (operation == CMD_INSERT)
|
||||
{
|
||||
fmstate->query = pstrdup(fmstate->query);
|
||||
fmstate->orig_query = pstrdup(fmstate->query);
|
||||
}
|
||||
fmstate->target_attrs = target_attrs;
|
||||
fmstate->values_end = values_end;
|
||||
fmstate->has_returning = has_returning;
|
||||
|
Reference in New Issue
Block a user