diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index d16102a1e4..499a3c6e16 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -3934,7 +3934,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: @@ -3985,13 +3985,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 @@ -4045,7 +4045,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: @@ -4094,13 +4094,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 829a38dd5b..69e176c525 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.