| Index: third_party/sqlite/sqlite-src-3100200/src/alter.c
|
| diff --git a/third_party/sqlite/sqlite-src-3080704/src/alter.c b/third_party/sqlite/sqlite-src-3100200/src/alter.c
|
| similarity index 98%
|
| copy from third_party/sqlite/sqlite-src-3080704/src/alter.c
|
| copy to third_party/sqlite/sqlite-src-3100200/src/alter.c
|
| index dd060248b8f7a97500426c5ce8acc368943f9123..2b043ef158b87bb47fb96a0f089e760eeebf839a 100644
|
| --- a/third_party/sqlite/sqlite-src-3080704/src/alter.c
|
| +++ b/third_party/sqlite/sqlite-src-3100200/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;
|
| }
|
|
|