mirror of
https://github.com/postgres/postgres.git
synced 2025-06-05 23:56:58 +03:00
Ensure commands in extension scripts see the results of preceding DDL.
Due to a missing CommandCounterIncrement() call, parsing of a non-utility command in an extension script would not see the effects of the immediately preceding DDL command, unless that command's execution ends with CommandCounterIncrement() internally ... which some do but many don't. Report by Philippe Beaudoin, diagnosis by Julien Rouhaud. Rather remarkably, this bug has evaded detection since extensions were invented, so back-patch to all supported branches. Discussion: https://postgr.es/m/2cf7941e-4e41-7714-3de8-37b1a8f74dff@free.fr
This commit is contained in:
parent
df53413ba5
commit
d0d3a57bfa
@ -703,6 +703,9 @@ execute_sql_string(const char *sql, const char *filename)
|
||||
List *stmt_list;
|
||||
ListCell *lc2;
|
||||
|
||||
/* Be sure parser can see any DDL done so far */
|
||||
CommandCounterIncrement();
|
||||
|
||||
stmt_list = pg_analyze_and_rewrite(parsetree,
|
||||
sql,
|
||||
NULL,
|
||||
|
Loading…
x
Reference in New Issue
Block a user