Index: third_party/sqlite/src/src/alter.c |
diff --git a/third_party/sqlite/src/src/alter.c b/third_party/sqlite/src/src/alter.c |
index dd060248b8f7a97500426c5ce8acc368943f9123..2b043ef158b87bb47fb96a0f089e760eeebf839a 100644 |
--- a/third_party/sqlite/src/src/alter.c |
+++ b/third_party/sqlite/src/src/alter.c |
@@ -126,6 +126,7 @@ static void renameParentFunc( |
n = sqlite3GetToken(z, &token); |
}while( token==TK_SPACE ); |
+ if( token==TK_ILLEGAL ) break; |
zParent = sqlite3DbStrNDup(db, (const char *)z, n); |
if( zParent==0 ) break; |
sqlite3Dequote(zParent); |
@@ -490,7 +491,7 @@ void sqlite3AlterRenameTable( |
#ifndef SQLITE_OMIT_VIRTUALTABLE |
if( pVTab ){ |
int i = ++pParse->nMem; |
- sqlite3VdbeAddOp4(v, OP_String8, 0, i, 0, zName, 0); |
+ sqlite3VdbeLoadString(v, i, zName); |
sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB); |
sqlite3MayAbort(pParse); |
} |
@@ -601,14 +602,14 @@ void sqlite3MinimumFileFormat(Parse *pParse, int iDb, int minFormat){ |
if( ALWAYS(v) ){ |
int r1 = sqlite3GetTempReg(pParse); |
int r2 = sqlite3GetTempReg(pParse); |
- int j1; |
+ int addr1; |
sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT); |
sqlite3VdbeUsesBtree(v, iDb); |
sqlite3VdbeAddOp2(v, OP_Integer, minFormat, r2); |
- j1 = sqlite3VdbeAddOp3(v, OP_Ge, r2, 0, r1); |
+ addr1 = sqlite3VdbeAddOp3(v, OP_Ge, r2, 0, r1); |
sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); VdbeCoverage(v); |
sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, r2); |
- sqlite3VdbeJumpHere(v, j1); |
+ sqlite3VdbeJumpHere(v, addr1); |
sqlite3ReleaseTempReg(pParse, r1); |
sqlite3ReleaseTempReg(pParse, r2); |
} |
@@ -690,7 +691,10 @@ void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ |
*/ |
if( pDflt ){ |
sqlite3_value *pVal = 0; |
- if( sqlite3ValueFromExpr(db, pDflt, SQLITE_UTF8, SQLITE_AFF_NONE, &pVal) ){ |
+ int rc; |
+ rc = sqlite3ValueFromExpr(db, pDflt, SQLITE_UTF8, SQLITE_AFF_BLOB, &pVal); |
+ assert( rc==SQLITE_OK || rc==SQLITE_NOMEM ); |
+ if( rc!=SQLITE_OK ){ |
db->mallocFailed = 1; |
return; |
} |