aboutsummaryrefslogtreecommitdiff
path: root/src/vdbeapi.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-12-13 16:23:55 +0000
committerdrh <drh@noemail.net>2013-12-13 16:23:55 +0000
commita3cc007df47198f501b2ae02eeafbb64d6ff0097 (patch)
treeb95008fcd4285186924fe464af8c9a11eb73dc24 /src/vdbeapi.c
parenta5f40593bee1ae4261725e80b18259e3dfda975d (diff)
downloadsqlite-a3cc007df47198f501b2ae02eeafbb64d6ff0097.tar.gz
sqlite-a3cc007df47198f501b2ae02eeafbb64d6ff0097.zip
Simplication and optimization of error message handling.
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
Diffstat (limited to 'src/vdbeapi.c')
-rw-r--r--src/vdbeapi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vdbeapi.c b/src/vdbeapi.c
index d51256217..ea383dffd 100644
--- a/src/vdbeapi.c
+++ b/src/vdbeapi.c
@@ -486,7 +486,7 @@ int sqlite3_step(sqlite3_stmt *pStmt){
v->doingRerun = 1;
assert( v->expired==0 );
}
- if( rc2!=SQLITE_OK && ALWAYS(v->isPrepareV2) && ALWAYS(db->pErr) ){
+ if( rc2!=SQLITE_OK ){
/* This case occurs after failing to recompile an sql statement.
** The error message from the SQL compiler has already been loaded
** into the database handle. This block copies the error message
@@ -496,6 +496,7 @@ int sqlite3_step(sqlite3_stmt *pStmt){
** sqlite3_errmsg() and sqlite3_errcode().
*/
const char *zErr = (const char *)sqlite3_value_text(db->pErr);
+ assert( zErr!=0 || db->mallocFailed );
sqlite3DbFree(db, v->zErrMsg);
if( !db->mallocFailed ){
v->zErrMsg = sqlite3DbStrDup(db, zErr);