| Index: third_party/sqlite/src/src/legacy.c | 
| diff --git a/third_party/sqlite/src/src/legacy.c b/third_party/sqlite/src/src/legacy.c | 
| index ebab2de37d996e1bb4a4d9a84caec76a5eff99ea..a10006e55847d4f78cd2912db44d5de48ab9129a 100644 | 
| --- a/third_party/sqlite/src/src/legacy.c | 
| +++ b/third_party/sqlite/src/src/legacy.c | 
| @@ -38,20 +38,19 @@ int sqlite3_exec( | 
| const char *zLeftover;      /* Tail of unprocessed SQL */ | 
| sqlite3_stmt *pStmt = 0;    /* The current SQL statement */ | 
| char **azCols = 0;          /* Names of result columns */ | 
| -  int nRetry = 0;             /* Number of retry attempts */ | 
| int callbackIsInit;         /* True if callback data is initialized */ | 
|  | 
| if( !sqlite3SafetyCheckOk(db) ) return SQLITE_MISUSE_BKPT; | 
| if( zSql==0 ) zSql = ""; | 
|  | 
| sqlite3_mutex_enter(db->mutex); | 
| -  sqlite3Error(db, SQLITE_OK, 0); | 
| -  while( (rc==SQLITE_OK || (rc==SQLITE_SCHEMA && (++nRetry)<2)) && zSql[0] ){ | 
| +  sqlite3Error(db, SQLITE_OK); | 
| +  while( rc==SQLITE_OK && zSql[0] ){ | 
| int nCol; | 
| char **azVals = 0; | 
|  | 
| pStmt = 0; | 
| -    rc = sqlite3_prepare(db, zSql, -1, &pStmt, &zLeftover); | 
| +    rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zLeftover); | 
| assert( rc==SQLITE_OK || pStmt==0 ); | 
| if( rc!=SQLITE_OK ){ | 
| continue; | 
| @@ -97,10 +96,13 @@ int sqlite3_exec( | 
| } | 
| } | 
| if( xCallback(pArg, nCol, azVals, azCols) ){ | 
| +          /* EVIDENCE-OF: R-38229-40159 If the callback function to | 
| +          ** sqlite3_exec() returns non-zero, then sqlite3_exec() will | 
| +          ** return SQLITE_ABORT. */ | 
| rc = SQLITE_ABORT; | 
| sqlite3VdbeFinalize((Vdbe *)pStmt); | 
| pStmt = 0; | 
| -          sqlite3Error(db, SQLITE_ABORT, 0); | 
| +          sqlite3Error(db, SQLITE_ABORT); | 
| goto exec_out; | 
| } | 
| } | 
| @@ -108,11 +110,8 @@ int sqlite3_exec( | 
| if( rc!=SQLITE_ROW ){ | 
| rc = sqlite3VdbeFinalize((Vdbe *)pStmt); | 
| pStmt = 0; | 
| -        if( rc!=SQLITE_SCHEMA ){ | 
| -          nRetry = 0; | 
| -          zSql = zLeftover; | 
| -          while( sqlite3Isspace(zSql[0]) ) zSql++; | 
| -        } | 
| +        zSql = zLeftover; | 
| +        while( sqlite3Isspace(zSql[0]) ) zSql++; | 
| break; | 
| } | 
| } | 
| @@ -126,14 +125,14 @@ exec_out: | 
| sqlite3DbFree(db, azCols); | 
|  | 
| rc = sqlite3ApiExit(db, rc); | 
| -  if( rc!=SQLITE_OK && ALWAYS(rc==sqlite3_errcode(db)) && pzErrMsg ){ | 
| +  if( rc!=SQLITE_OK && pzErrMsg ){ | 
| int nErrMsg = 1 + sqlite3Strlen30(sqlite3_errmsg(db)); | 
| *pzErrMsg = sqlite3Malloc(nErrMsg); | 
| if( *pzErrMsg ){ | 
| memcpy(*pzErrMsg, sqlite3_errmsg(db), nErrMsg); | 
| }else{ | 
| rc = SQLITE_NOMEM; | 
| -      sqlite3Error(db, SQLITE_NOMEM, 0); | 
| +      sqlite3Error(db, SQLITE_NOMEM); | 
| } | 
| }else if( pzErrMsg ){ | 
| *pzErrMsg = 0; | 
|  |