diff options
author | Christopher Browne | 2014-12-17 22:16:05 +0000 |
---|---|---|
committer | Christopher Browne | 2014-12-17 22:16:05 +0000 |
commit | d79166fffe59c259b088681e7f9e59a3713905c8 (patch) | |
tree | 4acda32c832be9347ad412fcfa2a2ba21a253b50 | |
parent | d5e89f95d191ce7a0f961d62b5d37ebca1c78396 (diff) |
Add RESET ALL to crucial places in DDL processingbug355
-rw-r--r-- | src/backend/slony1_funcs.sql | 1 | ||||
-rw-r--r-- | src/slonik/slonik.c | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/backend/slony1_funcs.sql b/src/backend/slony1_funcs.sql index e83c911e..e87c9e53 100644 --- a/src/backend/slony1_funcs.sql +++ b/src/backend/slony1_funcs.sql @@ -3787,6 +3787,7 @@ create or replace function @NAMESPACE@.ddlScript_complete_int () returns int4 as $$ begin + execute 'RESET ALL;'; perform @NAMESPACE@.updateRelname(); perform @NAMESPACE@.repair_log_triggers(true); return 0; diff --git a/src/slonik/slonik.c b/src/slonik/slonik.c index 5ab4cd9c..d2f9486c 100644 --- a/src/slonik/slonik.c +++ b/src/slonik/slonik.c @@ -5061,6 +5061,17 @@ slonik_ddl_script(SlonikStmt_ddl_script * stmt) return -1; } PQclear(res1); + + slon_mkquery(&query, "%s", "RESET ALL;"); + res1 = PQexec(adminfo1->dbconn, dstring_data(&query)); + if (PQresultStatus(res1) != PGRES_COMMAND_OK) { + fprintf(stderr, "%s [%s] - %s", + PQresStatus(PQresultStatus(res1)), + dstring_data(&query), PQresultErrorMessage(res1)); + PQclear(res1); + dstring_free(&query); + return -1; + } } /* |