From 09d48e8de680ee6b293897d95fb783b22a50f0f6 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sat, 17 Feb 2018 20:29:27 -0500 Subject: [PATCH v1 4/8] Improve savepoint error messages Include the savepoint name in the error message and rephrase it a bit to match common style. --- src/backend/access/transam/xact.c | 12 ++++++------ src/test/regress/expected/transactions.out | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 06a7e108d7..4709eabf4d 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -3931,7 +3931,7 @@ ReleaseSavepoint(const char *name) case TBLOCK_INPROGRESS: ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist", name))); break; case TBLOCK_IMPLICIT_INPROGRESS: @@ -3982,13 +3982,13 @@ ReleaseSavepoint(const char *name) if (!PointerIsValid(target)) ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist", name))); /* disallow crossing savepoint level boundaries */ if (target->savepointLevel != s->savepointLevel) ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist within current savepoint level", name))); /* * Mark "commit pending" all subtransactions up to the target @@ -4042,7 +4042,7 @@ RollbackToSavepoint(const char *name) case TBLOCK_ABORT: ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist", name))); break; case TBLOCK_IMPLICIT_INPROGRESS: @@ -4091,13 +4091,13 @@ RollbackToSavepoint(const char *name) if (!PointerIsValid(target)) ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist", name))); /* disallow crossing savepoint level boundaries */ if (target->savepointLevel != s->savepointLevel) ereport(ERROR, (errcode(ERRCODE_S_E_INVALID_SPECIFICATION), - errmsg("no such savepoint"))); + errmsg("savepoint \"%s\" does not exist within current savepoint level", name))); /* * Mark "abort pending" all subtransactions up to the target diff --git a/src/test/regress/expected/transactions.out b/src/test/regress/expected/transactions.out index a7fdcf45fd..fa7fccc63b 100644 --- a/src/test/regress/expected/transactions.out +++ b/src/test/regress/expected/transactions.out @@ -749,5 +749,5 @@ begin; select 1/0; ERROR: division by zero rollback to X; -ERROR: no such savepoint +ERROR: savepoint "x" does not exist -- DO NOT ADD ANYTHING HERE. -- 2.16.2