aboutsummaryrefslogtreecommitdiff
path: root/src/bin/psql/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/common.c')
-rw-r--r--src/bin/psql/common.c27
1 files changed, 7 insertions, 20 deletions
diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 1b224bf9e42..ec975c3e2a5 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -1200,7 +1200,6 @@ SendQuery(const char *query)
bool OK = false;
int i;
bool on_error_rollback_savepoint = false;
- static bool on_error_rollback_warning = false;
if (!pset.db)
{
@@ -1264,28 +1263,16 @@ SendQuery(const char *query)
(pset.cur_cmd_interactive ||
pset.on_error_rollback == PSQL_ERROR_ROLLBACK_ON))
{
- if (on_error_rollback_warning == false && pset.sversion < 80000)
- {
- char sverbuf[32];
-
- pg_log_warning("The server (version %s) does not support savepoints for ON_ERROR_ROLLBACK.",
- formatPGVersionNumber(pset.sversion, false,
- sverbuf, sizeof(sverbuf)));
- on_error_rollback_warning = true;
- }
- else
+ results = PQexec(pset.db, "SAVEPOINT pg_psql_temporary_savepoint");
+ if (PQresultStatus(results) != PGRES_COMMAND_OK)
{
- results = PQexec(pset.db, "SAVEPOINT pg_psql_temporary_savepoint");
- if (PQresultStatus(results) != PGRES_COMMAND_OK)
- {
- pg_log_info("%s", PQerrorMessage(pset.db));
- ClearOrSaveResult(results);
- ResetCancelConn();
- goto sendquery_cleanup;
- }
+ pg_log_info("%s", PQerrorMessage(pset.db));
ClearOrSaveResult(results);
- on_error_rollback_savepoint = true;
+ ResetCancelConn();
+ goto sendquery_cleanup;
}
+ ClearOrSaveResult(results);
+ on_error_rollback_savepoint = true;
}
if (pset.gdesc_flag)