diff options
Diffstat (limited to 'src/insert.c')
-rw-r--r-- | src/insert.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/insert.c b/src/insert.c index 3d4c460b6..e24968690 100644 --- a/src/insert.c +++ b/src/insert.c @@ -12,7 +12,7 @@ ** This file contains C code routines that are called by the parser ** to handle INSERT statements in SQLite. ** -** $Id: insert.c,v 1.156 2006/01/10 17:58:23 danielk1977 Exp $ +** $Id: insert.c,v 1.157 2006/01/11 21:41:22 drh Exp $ */ #include "sqliteInt.h" @@ -225,7 +225,9 @@ void sqlite3Insert( int counterRowid; /* Memory cell holding rowid of autoinc counter */ #endif - if( pParse->nErr || sqlite3ThreadData()->mallocFailed ) goto insert_cleanup; + if( pParse->nErr || sqlite3ThreadDataReadOnly()->mallocFailed ){ + goto insert_cleanup; + } db = pParse->db; /* Locate the table into which we will be inserting new information. @@ -331,7 +333,9 @@ void sqlite3Insert( /* Resolve the expressions in the SELECT statement and execute it. */ rc = sqlite3Select(pParse, pSelect, SRT_Subroutine, iInsertBlock,0,0,0,0); - if( rc || pParse->nErr || sqlite3ThreadData()->mallocFailed ) goto insert_cleanup; + if( rc || pParse->nErr || sqlite3ThreadDataReadOnly()->mallocFailed ){ + goto insert_cleanup; + } iCleanup = sqlite3VdbeMakeLabel(v); sqlite3VdbeAddOp(v, OP_Goto, 0, iCleanup); |