v1-0004-Improve-savepoint-error-messages.patch

text/plain

Filename: v1-0004-Improve-savepoint-error-messages.patch
Type: text/plain
Part: 3
Message: chained transactions

Patch

Format: format-patch
Series: patch v1-0004
Subject: Improve savepoint error messages
File+
src/backend/access/transam/xact.c 6 6
src/test/regress/expected/transactions.out 1 1
From 09d48e8de680ee6b293897d95fb783b22a50f0f6 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
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