Always generate code, even if it is a no-op, for CREATE and DROP statements

that use the IF EXISTS or IF NOT EXISTS clause. (CVS 3106)

FossilOrigin-Name: f8173e6aea8e90f64f5907f3f7ff4f34281f40da
This commit is contained in:
drh
2006-02-18 16:36:45 +00:00
parent 8ae59d5233
commit e134ff1ea8
4 changed files with 46 additions and 13 deletions
+3 -3
View File
@@ -22,7 +22,7 @@
** COMMIT
** ROLLBACK
**
** $Id: build.c,v 1.387 2006/02/17 12:25:15 danielk1977 Exp $
** $Id: build.c,v 1.388 2006/02/18 16:36:45 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -135,8 +135,8 @@ void sqlite3FinishCoding(Parse *pParse){
if( !pParse->pVdbe ){
if( pParse->rc==SQLITE_OK && pParse->nErr ){
pParse->rc = SQLITE_ERROR;
return;
}
return;
}
/* Begin by generating some termination code at the end of the
@@ -185,7 +185,7 @@ void sqlite3FinishCoding(Parse *pParse){
/* Get the VDBE program ready for execution
*/
if( v && pParse->nErr==0 ){
if( v && pParse->nErr==0 && !sqlite3MallocFailed() ){
FILE *trace = (db->flags & SQLITE_VdbeTrace)!=0 ? stdout : 0;
sqlite3VdbeTrace(v, trace);
sqlite3VdbeMakeReady(v, pParse->nVar, pParse->nMem+3,