[tarantool-patches] [PATCH v1 01/28] sql: remove field zErrMsg from struct Vdbe

imeevma at tarantool.org imeevma at tarantool.org
Mon Jun 10 16:56:26 MSK 2019


This field has become unused and should be removed.
---
 src/box/sql/vdbeInt.h |  1 -
 src/box/sql/vdbeaux.c | 29 ++++-------------------------
 2 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/src/box/sql/vdbeInt.h b/src/box/sql/vdbeInt.h
index 15eb55c..8b212e3 100644
--- a/src/box/sql/vdbeInt.h
+++ b/src/box/sql/vdbeInt.h
@@ -384,7 +384,6 @@ struct Vdbe {
 	Mem **apArg;		/* Arguments to currently executing user function */
 	Mem *aColName;		/* Column names to return */
 	Mem *pResultSet;	/* Pointer to an array of results */
-	char *zErrMsg;		/* Error message written here */
 	VdbeCursor **apCsr;	/* One element of this array for each open cursor */
 	Mem *aVar;		/* Values for the OP_Variable opcode. */
 	/**
diff --git a/src/box/sql/vdbeaux.c b/src/box/sql/vdbeaux.c
index 3f573d0..ae1f38f 100644
--- a/src/box/sql/vdbeaux.c
+++ b/src/box/sql/vdbeaux.c
@@ -1957,7 +1957,6 @@ closeCursorsAndFree(Vdbe * p)
 static void
 Cleanup(Vdbe * p)
 {
-	sql *db = p->db;
 
 #ifdef SQL_DEBUG
 	/* Execute assert() statements to ensure that the Vdbe.apCsr[] and
@@ -1973,8 +1972,6 @@ Cleanup(Vdbe * p)
 	}
 #endif
 
-	sqlDbFree(db, p->zErrMsg);
-	p->zErrMsg = 0;
 	p->pResultSet = 0;
 }
 
@@ -2317,8 +2314,6 @@ sqlVdbeHalt(Vdbe * p)
 				if (p->rc == SQL_OK
 				    || (p->rc & 0xff) == SQL_CONSTRAINT) {
 					p->rc = rc;
-					sqlDbFree(db, p->zErrMsg);
-					p->zErrMsg = 0;
 				}
 				closeCursorsAndFree(p);
 				sqlRollbackAll(p);
@@ -2381,24 +2376,13 @@ sqlVdbeTransferError(Vdbe * p)
 {
 	sql *db = p->db;
 	int rc = p->rc;
-	if (p->zErrMsg) {
-		db->bBenignMalloc++;
-		sqlBeginBenignMalloc();
-		if (db->pErr == 0)
-			db->pErr = sqlValueNew(db);
-		sqlValueSetStr(db->pErr, -1, p->zErrMsg, SQL_TRANSIENT);
-		sqlEndBenignMalloc();
-		db->bBenignMalloc--;
-		db->errCode = rc;
-	} else {
-		sqlError(db, rc);
-	}
+	sqlError(db, rc);
 	return rc;
 }
 
 /*
  * Clean up a VDBE after execution but do not delete the VDBE just yet.
- * Write any error messages into *pzErrMsg.  Return the result code.
+ * Return the result code.
  *
  * After this routine is run, the VDBE should be ready to be executed
  * again.
@@ -2426,8 +2410,6 @@ sqlVdbeReset(Vdbe * p)
 	 */
 	if (p->pc >= 0) {
 		sqlVdbeTransferError(p);
-		sqlDbFree(db, p->zErrMsg);
-		p->zErrMsg = 0;
 		if (p->runOnlyOnce)
 			p->expired = 1;
 	} else if (p->rc && p->expired) {
@@ -2435,10 +2417,7 @@ sqlVdbeReset(Vdbe * p)
 		 * to sql_step(). For consistency (since sql_step() was
 		 * called), set the database error in this case as well.
 		 */
-		sqlErrorWithMsg(db, p->rc, p->zErrMsg ? "%s" : 0,
-				    p->zErrMsg);
-		sqlDbFree(db, p->zErrMsg);
-		p->zErrMsg = 0;
+		sqlErrorWithMsg(db, p->rc, NULL);
 	}
 
 	/* Reclaim all memory used by the VDBE
@@ -2492,7 +2471,7 @@ sqlVdbeReset(Vdbe * p)
 
 /*
  * Clean up and delete a VDBE after execution.  Return an integer which is
- * the result code.  Write any error message text into *pzErrMsg.
+ * the result code.
  */
 int
 sqlVdbeFinalize(Vdbe * p)
-- 
2.7.4





More information about the Tarantool-patches mailing list