SQLite Android Bindings
Check-in [00dbc13062]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Upgrade this project to 3.25.2.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 00dbc13062b4f48a92daf26f79decc55bee4a881
User & Date: dan 2018-09-25 19:33:17
Context
2018-11-05
20:54
Update this project to SQLite version 3.25.3. check-in: 317855cf62 user: dan tags: trunk
2018-09-25
19:33
Upgrade this project to 3.25.2. check-in: 00dbc13062 user: dan tags: trunk
2018-09-24
19:06
Partly revert [e8a9b149f7] so that for SEE-enabled builds, the journal mode of the database is not changed to match the configuration flags as soon as it is opened. check-in: 8a027aa451 user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to sqlite3/src/main/jni/sqlite/sqlite3.c.

     1      1   /******************************************************************************
     2      2   ** This file is an amalgamation of many separate C source files from SQLite
     3         -** version 3.25.1.  By combining all the individual C code files into this
            3  +** version 3.25.2.  By combining all the individual C code files into this
     4      4   ** single large file, the entire code can be compiled as a single translation
     5      5   ** unit.  This allows many compilers to do optimizations that would not be
     6      6   ** possible if the files were compiled separately.  Performance improvements
     7      7   ** of 5% or more are commonly seen when SQLite is compiled as a single
     8      8   ** translation unit.
     9      9   **
    10     10   ** This file is all you need to compile SQLite.  To use SQLite in other
................................................................................
  1154   1154   ** been edited in any way since it was last checked in, then the last
  1155   1155   ** four hexadecimal digits of the hash may be modified.
  1156   1156   **
  1157   1157   ** See also: [sqlite3_libversion()],
  1158   1158   ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
  1159   1159   ** [sqlite_version()] and [sqlite_source_id()].
  1160   1160   */
  1161         -#define SQLITE_VERSION        "3.25.1"
  1162         -#define SQLITE_VERSION_NUMBER 3025001
  1163         -#define SQLITE_SOURCE_ID      "2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460b386"
         1161  +#define SQLITE_VERSION        "3.25.2"
         1162  +#define SQLITE_VERSION_NUMBER 3025002
         1163  +#define SQLITE_SOURCE_ID      "2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792d1c7"
  1164   1164   
  1165   1165   /*
  1166   1166   ** CAPI3REF: Run-Time Library Version Numbers
  1167   1167   ** KEYWORDS: sqlite3_version sqlite3_sourceid
  1168   1168   **
  1169   1169   ** These interfaces provide the same information as the [SQLITE_VERSION],
  1170   1170   ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros
................................................................................
 16267  16267   #define SQLITE_DeferFKs       0x00080000  /* Defer all FK constraints */
 16268  16268   #define SQLITE_QueryOnly      0x00100000  /* Disable database changes */
 16269  16269   #define SQLITE_CellSizeCk     0x00200000  /* Check btree cell sizes on load */
 16270  16270   #define SQLITE_Fts3Tokenizer  0x00400000  /* Enable fts3_tokenizer(2) */
 16271  16271   #define SQLITE_EnableQPSG     0x00800000  /* Query Planner Stability Guarantee*/
 16272  16272   #define SQLITE_TriggerEQP     0x01000000  /* Show trigger EXPLAIN QUERY PLAN */
 16273  16273   #define SQLITE_ResetDatabase  0x02000000  /* Reset the database */
        16274  +#define SQLITE_LegacyAlter    0x04000000  /* Legacy ALTER TABLE behaviour */
 16274  16275   
 16275  16276   /* Flags used only if debugging */
 16276  16277   #ifdef SQLITE_DEBUG
 16277  16278   #define SQLITE_SqlTrace       0x08000000  /* Debug print SQL as it executes */
 16278  16279   #define SQLITE_VdbeListing    0x10000000  /* Debug listings of VDBE programs */
 16279  16280   #define SQLITE_VdbeTrace      0x20000000  /* True to trace VDBE execution */
 16280  16281   #define SQLITE_VdbeAddopTrace 0x40000000  /* Trace sqlite3VdbeAddOp() calls */
................................................................................
 89715  89716   ** P4 is a pointer to a virtual table object, an sqlite3_vtab structure.
 89716  89717   ** This opcode invokes the corresponding xRename method. The value
 89717  89718   ** in register P1 is passed as the zName argument to the xRename method.
 89718  89719   */
 89719  89720   case OP_VRename: {
 89720  89721     sqlite3_vtab *pVtab;
 89721  89722     Mem *pName;
 89722         -
        89723  +  int isLegacy;
        89724  +  
        89725  +  isLegacy = (db->flags & SQLITE_LegacyAlter);
        89726  +  db->flags |= SQLITE_LegacyAlter;
 89723  89727     pVtab = pOp->p4.pVtab->pVtab;
 89724  89728     pName = &aMem[pOp->p1];
 89725  89729     assert( pVtab->pModule->xRename );
 89726  89730     assert( memIsValid(pName) );
 89727  89731     assert( p->readOnly==0 );
 89728  89732     REGISTER_TRACE(pOp->p1, pName);
 89729  89733     assert( pName->flags & MEM_Str );
 89730  89734     testcase( pName->enc==SQLITE_UTF8 );
 89731  89735     testcase( pName->enc==SQLITE_UTF16BE );
 89732  89736     testcase( pName->enc==SQLITE_UTF16LE );
 89733  89737     rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8);
 89734  89738     if( rc ) goto abort_due_to_error;
 89735  89739     rc = pVtab->pModule->xRename(pVtab, pName->z);
        89740  +  if( isLegacy==0 ) db->flags &= ~SQLITE_LegacyAlter;
 89736  89741     sqlite3VtabImportErrmsg(p, pVtab);
 89737  89742     p->expired = 0;
 89738  89743     if( rc ) goto abort_due_to_error;
 89739  89744     break;
 89740  89745   }
 89741  89746   #endif
 89742  89747   
................................................................................
 97049  97054           pNew->x.pSelect = sqlite3SelectDup(db, p->x.pSelect, dupFlags);
 97050  97055         }else{
 97051  97056           pNew->x.pList = sqlite3ExprListDup(db, p->x.pList, dupFlags);
 97052  97057         }
 97053  97058       }
 97054  97059   
 97055  97060       /* Fill in pNew->pLeft and pNew->pRight. */
        97061  +    zAlloc += dupedExprNodeSize(p, dupFlags);
 97056  97062       if( ExprHasProperty(pNew, EP_Reduced|EP_TokenOnly) ){
 97057         -      zAlloc += dupedExprNodeSize(p, dupFlags);
 97058  97063         if( !ExprHasProperty(pNew, EP_TokenOnly|EP_Leaf) ){
 97059  97064           pNew->pLeft = p->pLeft ?
 97060  97065                         exprDup(db, p->pLeft, EXPRDUP_REDUCE, &zAlloc) : 0;
 97061  97066           pNew->pRight = p->pRight ?
 97062  97067                          exprDup(db, p->pRight, EXPRDUP_REDUCE, &zAlloc) : 0;
 97063  97068         }
 97064         -      if( pzBuffer ){
 97065         -        *pzBuffer = zAlloc;
 97066         -      }
 97067  97069       }else{
 97068  97070   #ifndef SQLITE_OMIT_WINDOWFUNC
 97069  97071         if( ExprHasProperty(p, EP_Reduced|EP_TokenOnly) ){
 97070  97072           pNew->pWin = 0;
 97071  97073         }else{
 97072  97074           pNew->pWin = sqlite3WindowDup(db, pNew, p->pWin);
 97073  97075         }
................................................................................
 97079  97081             assert( p->pRight==0  || p->pRight==p->pLeft );
 97080  97082           }else{
 97081  97083             pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0);
 97082  97084           }
 97083  97085           pNew->pRight = sqlite3ExprDup(db, p->pRight, 0);
 97084  97086         }
 97085  97087       }
        97088  +    if( pzBuffer ){
        97089  +      *pzBuffer = zAlloc;
        97090  +    }
 97086  97091     }
 97087  97092     return pNew;
 97088  97093   }
 97089  97094   
 97090  97095   /*
 97091  97096   ** Create and return a deep copy of the object passed as the second 
 97092  97097   ** argument. If an OOM condition is encountered, NULL is returned
................................................................................
100630 100635     }
100631 100636     return 0;
100632 100637   }
100633 100638   
100634 100639   /*
100635 100640   ** This is the Expr node callback for sqlite3ExprImpliesNotNullRow().
100636 100641   ** If the expression node requires that the table at pWalker->iCur
100637         -** have a non-NULL column, then set pWalker->eCode to 1 and abort.
       100642  +** have one or more non-NULL column, then set pWalker->eCode to 1 and abort.
       100643  +**
       100644  +** This routine controls an optimization.  False positives (setting
       100645  +** pWalker->eCode to 1 when it should not be) are deadly, but false-negatives
       100646  +** (never setting pWalker->eCode) is a harmless missed optimization.
100638 100647   */
100639 100648   static int impliesNotNullRow(Walker *pWalker, Expr *pExpr){
100640         -  /* This routine is only called for WHERE clause expressions and so it
100641         -  ** cannot have any TK_AGG_COLUMN entries because those are only found
100642         -  ** in HAVING clauses.  We can get a TK_AGG_FUNCTION in a WHERE clause,
100643         -  ** but that is an illegal construct and the query will be rejected at
100644         -  ** a later stage of processing, so the TK_AGG_FUNCTION case does not
100645         -  ** need to be considered here. */
100646         -  assert( pExpr->op!=TK_AGG_COLUMN );
       100649  +  testcase( pExpr->op==TK_AGG_COLUMN );
100647 100650     testcase( pExpr->op==TK_AGG_FUNCTION );
100648         -
100649 100651     if( ExprHasProperty(pExpr, EP_FromJoin) ) return WRC_Prune;
100650 100652     switch( pExpr->op ){
100651 100653       case TK_ISNOT:
100652 100654       case TK_NOT:
100653 100655       case TK_ISNULL:
100654 100656       case TK_IS:
100655 100657       case TK_OR:
................................................................................
101300 101302     ** table.
101301 101303     */
101302 101304     v = sqlite3GetVdbe(pParse);
101303 101305     if( v==0 ){
101304 101306       goto exit_rename_table;
101305 101307     }
101306 101308   
101307         -  /* If this is a virtual table, invoke the xRename() function if
101308         -  ** one is defined. The xRename() callback will modify the names
101309         -  ** of any resources used by the v-table implementation (including other
101310         -  ** SQLite tables) that are identified by the name of the virtual table.
101311         -  */
101312         -#ifndef SQLITE_OMIT_VIRTUALTABLE
101313         -  if( pVTab ){
101314         -    int i = ++pParse->nMem;
101315         -    sqlite3VdbeLoadString(v, i, zName);
101316         -    sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB);
101317         -    sqlite3MayAbort(pParse);
101318         -  }
101319         -#endif
101320         -
101321 101309     /* figure out how many UTF-8 characters are in zName */
101322 101310     zTabName = pTab->zName;
101323 101311     nTabName = sqlite3Utf8CharLen(zTabName, -1);
101324 101312   
101325 101313     /* Rewrite all CREATE TABLE, INDEX, TRIGGER or VIEW statements in
101326 101314     ** the schema to use the new table name.  */
101327 101315     sqlite3NestedParse(pParse, 
................................................................................
101370 101358               "tbl_name = "
101371 101359                 "CASE WHEN tbl_name=%Q COLLATE nocase AND "
101372 101360                 "          sqlite_rename_test(%Q, sql, type, name, 1) "
101373 101361                 "THEN %Q ELSE tbl_name END "
101374 101362               "WHERE type IN ('view', 'trigger')"
101375 101363           , zDb, zTabName, zName, zTabName, zDb, zName);
101376 101364     }
       101365  +
       101366  +  /* If this is a virtual table, invoke the xRename() function if
       101367  +  ** one is defined. The xRename() callback will modify the names
       101368  +  ** of any resources used by the v-table implementation (including other
       101369  +  ** SQLite tables) that are identified by the name of the virtual table.
       101370  +  */
       101371  +#ifndef SQLITE_OMIT_VIRTUALTABLE
       101372  +  if( pVTab ){
       101373  +    int i = ++pParse->nMem;
       101374  +    sqlite3VdbeLoadString(v, i, zName);
       101375  +    sqlite3VdbeAddOp4(v, OP_VRename, i, 0, 0,(const char*)pVTab, P4_VTAB);
       101376  +    sqlite3MayAbort(pParse);
       101377  +  }
       101378  +#endif
101377 101379   
101378 101380     renameReloadSchema(pParse, iDb);
101379 101381     renameTestSchema(pParse, zDb, iDb==1);
101380 101382   
101381 101383   exit_rename_table:
101382 101384     sqlite3SrcListDelete(db, pSrc);
101383 101385     sqlite3DbFree(db, zName);
................................................................................
102553 102555       sWalker.xExprCallback = renameTableExprCb;
102554 102556       sWalker.xSelectCallback = renameTableSelectCb;
102555 102557       sWalker.u.pRename = &sCtx;
102556 102558   
102557 102559       rc = renameParseSql(&sParse, zDb, 1, db, zInput, bTemp);
102558 102560   
102559 102561       if( rc==SQLITE_OK ){
       102562  +      int isLegacy = (db->flags & SQLITE_LegacyAlter);
102560 102563         if( sParse.pNewTable ){
102561 102564           Table *pTab = sParse.pNewTable;
102562 102565   
102563 102566           if( pTab->pSelect ){
102564         -          NameContext sNC;
102565         -          memset(&sNC, 0, sizeof(sNC));
102566         -          sNC.pParse = &sParse;
       102567  +          if( isLegacy==0 ){
       102568  +            NameContext sNC;
       102569  +            memset(&sNC, 0, sizeof(sNC));
       102570  +            sNC.pParse = &sParse;
102567 102571   
102568         -          sqlite3SelectPrep(&sParse, pTab->pSelect, &sNC);
102569         -          if( sParse.nErr ) rc = sParse.rc;
102570         -          sqlite3WalkSelect(&sWalker, pTab->pSelect);
       102572  +            sqlite3SelectPrep(&sParse, pTab->pSelect, &sNC);
       102573  +            if( sParse.nErr ) rc = sParse.rc;
       102574  +            sqlite3WalkSelect(&sWalker, pTab->pSelect);
       102575  +          }
102571 102576           }else{
102572 102577             /* Modify any FK definitions to point to the new table. */
102573 102578   #ifndef SQLITE_OMIT_FOREIGN_KEY
102574 102579             if( db->flags & SQLITE_ForeignKeys ){
102575 102580               FKey *pFKey;
102576 102581               for(pFKey=pTab->pFKey; pFKey; pFKey=pFKey->pNextFrom){
102577 102582                 if( sqlite3_stricmp(pFKey->zTo, zOld)==0 ){
................................................................................
102582 102587   #endif
102583 102588   
102584 102589             /* If this is the table being altered, fix any table refs in CHECK
102585 102590             ** expressions. Also update the name that appears right after the
102586 102591             ** "CREATE [VIRTUAL] TABLE" bit. */
102587 102592             if( sqlite3_stricmp(zOld, pTab->zName)==0 ){
102588 102593               sCtx.pTab = pTab;
102589         -            sqlite3WalkExprList(&sWalker, pTab->pCheck);
       102594  +            if( isLegacy==0 ){
       102595  +              sqlite3WalkExprList(&sWalker, pTab->pCheck);
       102596  +            }
102590 102597               renameTokenFind(&sParse, &sCtx, pTab->zName);
102591 102598             }
102592 102599           }
102593 102600         }
102594 102601   
102595 102602         else if( sParse.pNewIndex ){
102596 102603           renameTokenFind(&sParse, &sCtx, sParse.pNewIndex->zName);
102597         -        sqlite3WalkExpr(&sWalker, sParse.pNewIndex->pPartIdxWhere);
       102604  +        if( isLegacy==0 ){
       102605  +          sqlite3WalkExpr(&sWalker, sParse.pNewIndex->pPartIdxWhere);
       102606  +        }
102598 102607         }
102599 102608   
102600 102609   #ifndef SQLITE_OMIT_TRIGGER
102601 102610         else{
102602 102611           Trigger *pTrigger = sParse.pNewTrigger;
102603 102612           TriggerStep *pStep;
102604 102613           if( 0==sqlite3_stricmp(sParse.pNewTrigger->table, zOld) 
102605 102614               && sCtx.pTab->pSchema==pTrigger->pTabSchema
102606 102615             ){
102607 102616             renameTokenFind(&sParse, &sCtx, sParse.pNewTrigger->table);
102608 102617           }
102609 102618   
102610         -        rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb);
102611         -        if( rc==SQLITE_OK ){
102612         -          renameWalkTrigger(&sWalker, pTrigger);
102613         -          for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
102614         -            if( pStep->zTarget && 0==sqlite3_stricmp(pStep->zTarget, zOld) ){
102615         -              renameTokenFind(&sParse, &sCtx, pStep->zTarget);
       102619  +        if( isLegacy==0 ){
       102620  +          rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb);
       102621  +          if( rc==SQLITE_OK ){
       102622  +            renameWalkTrigger(&sWalker, pTrigger);
       102623  +            for(pStep=pTrigger->step_list; pStep; pStep=pStep->pNext){
       102624  +              if( pStep->zTarget && 0==sqlite3_stricmp(pStep->zTarget, zOld) ){
       102625  +                renameTokenFind(&sParse, &sCtx, pStep->zTarget);
       102626  +              }
102616 102627               }
102617 102628             }
102618 102629           }
102619 102630         }
102620 102631   #endif
102621 102632       }
102622 102633   
................................................................................
102666 102677     int NotUsed,
102667 102678     sqlite3_value **argv
102668 102679   ){
102669 102680     sqlite3 *db = sqlite3_context_db_handle(context);
102670 102681     char const *zDb = (const char*)sqlite3_value_text(argv[0]);
102671 102682     char const *zInput = (const char*)sqlite3_value_text(argv[1]);
102672 102683     int bTemp = sqlite3_value_int(argv[4]);
       102684  +  int isLegacy = (db->flags & SQLITE_LegacyAlter);
102673 102685   
102674 102686   #ifndef SQLITE_OMIT_AUTHORIZATION
102675 102687     sqlite3_xauth xAuth = db->xAuth;
102676 102688     db->xAuth = 0;
102677 102689   #endif
102678 102690   
102679 102691     UNUSED_PARAMETER(NotUsed);
102680 102692     if( zDb && zInput ){
102681 102693       int rc;
102682 102694       Parse sParse;
102683 102695       rc = renameParseSql(&sParse, zDb, 1, db, zInput, bTemp);
102684 102696       if( rc==SQLITE_OK ){
102685         -      if( sParse.pNewTable && sParse.pNewTable->pSelect ){
       102697  +      if( isLegacy==0 && sParse.pNewTable && sParse.pNewTable->pSelect ){
102686 102698           NameContext sNC;
102687 102699           memset(&sNC, 0, sizeof(sNC));
102688 102700           sNC.pParse = &sParse;
102689 102701           sqlite3SelectPrep(&sParse, sParse.pNewTable->pSelect, &sNC);
102690 102702           if( sParse.nErr ) rc = sParse.rc;
102691 102703         }
102692 102704   
102693 102705         else if( sParse.pNewTrigger ){
102694         -        rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb);
       102706  +        if( isLegacy==0 ){
       102707  +          rc = renameResolveTrigger(&sParse, bTemp ? 0 : zDb);
       102708  +        }
102695 102709           if( rc==SQLITE_OK ){
102696 102710             int i1 = sqlite3SchemaToIndex(db, sParse.pNewTrigger->pTabSchema);
102697 102711             int i2 = sqlite3FindDbName(db, zDb);
102698 102712             if( i1==i2 ) sqlite3_result_int(context, 1);
102699 102713           }
102700 102714         }
102701 102715       }
................................................................................
107337 107351       for(i=0; i<pTab->nCol; i++){
107338 107352         if( (pTab->aCol[i].colFlags & COLFLAG_PRIMKEY)!=0 ){
107339 107353           pTab->aCol[i].notNull = OE_Abort;
107340 107354         }
107341 107355       }
107342 107356     }
107343 107357   
107344         -  /* The remaining transformations only apply to b-tree tables, not to
107345         -  ** virtual tables */
107346         -  if( IN_DECLARE_VTAB ) return;
107347         -
107348 107358     /* Convert the P3 operand of the OP_CreateBtree opcode from BTREE_INTKEY
107349 107359     ** into BTREE_BLOBKEY.
107350 107360     */
107351 107361     if( pParse->addrCrTab ){
107352 107362       assert( v );
107353 107363       sqlite3VdbeChangeP3(v, pParse->addrCrTab, BTREE_BLOBKEY);
107354 107364     }
................................................................................
119471 119481    {/* zName:     */ "key",
119472 119482     /* ePragTyp:  */ PragTyp_KEY,
119473 119483     /* ePragFlg:  */ 0,
119474 119484     /* ColNames:  */ 0, 0,
119475 119485     /* iArg:      */ 0 },
119476 119486   #endif
119477 119487   #if !defined(SQLITE_OMIT_FLAG_PRAGMAS)
       119488  + {/* zName:     */ "legacy_alter_table",
       119489  +  /* ePragTyp:  */ PragTyp_FLAG,
       119490  +  /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
       119491  +  /* ColNames:  */ 0, 0,
       119492  +  /* iArg:      */ SQLITE_LegacyAlter },
119478 119493    {/* zName:     */ "legacy_file_format",
119479 119494     /* ePragTyp:  */ PragTyp_FLAG,
119480 119495     /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
119481 119496     /* ColNames:  */ 0, 0,
119482 119497     /* iArg:      */ SQLITE_LegacyFileFmt },
119483 119498   #endif
119484 119499   #if !defined(SQLITE_OMIT_PAGER_PRAGMAS) && SQLITE_ENABLE_LOCKING_STYLE
................................................................................
119724 119739    {/* zName:     */ "writable_schema",
119725 119740     /* ePragTyp:  */ PragTyp_FLAG,
119726 119741     /* ePragFlg:  */ PragFlg_Result0|PragFlg_NoColumns1,
119727 119742     /* ColNames:  */ 0, 0,
119728 119743     /* iArg:      */ SQLITE_WriteSchema },
119729 119744   #endif
119730 119745   };
119731         -/* Number of pragmas: 60 on by default, 77 total. */
       119746  +/* Number of pragmas: 61 on by default, 78 total. */
119732 119747   
119733 119748   /************** End of pragma.h **********************************************/
119734 119749   /************** Continuing where we left off in pragma.c *********************/
119735 119750   
119736 119751   /*
119737 119752   ** Interpret the given string as a safety level.  Return 0 for OFF,
119738 119753   ** 1 for ON or NORMAL, 2 for FULL, and 3 for EXTRA.  Return 1 for an empty or 
................................................................................
154765 154780       }
154766 154781     }
154767 154782     sqlite3_mutex_enter(db->mutex);
154768 154783     db->errMask = 0xff;
154769 154784     db->nDb = 2;
154770 154785     db->magic = SQLITE_MAGIC_BUSY;
154771 154786     db->aDb = db->aDbStatic;
       154787  +  db->lookaside.bDisable = 1;
154772 154788   
154773 154789     assert( sizeof(db->aLimit)==sizeof(aHardLimit) );
154774 154790     memcpy(db->aLimit, aHardLimit, sizeof(db->aLimit));
154775 154791     db->aLimit[SQLITE_LIMIT_WORKER_THREADS] = SQLITE_DEFAULT_WORKER_THREADS;
154776 154792     db->autoCommit = 1;
154777 154793     db->nextAutovac = -1;
154778 154794     db->szMmap = sqlite3GlobalConfig.szMmap;
................................................................................
214426 214442   static void fts5SourceIdFunc(
214427 214443     sqlite3_context *pCtx,          /* Function call context */
214428 214444     int nArg,                       /* Number of args */
214429 214445     sqlite3_value **apUnused        /* Function arguments */
214430 214446   ){
214431 214447     assert( nArg==0 );
214432 214448     UNUSED_PARAM2(nArg, apUnused);
214433         -  sqlite3_result_text(pCtx, "fts5: 2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460b386", -1, SQLITE_TRANSIENT);
       214449  +  sqlite3_result_text(pCtx, "fts5: 2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792d1c7", -1, SQLITE_TRANSIENT);
214434 214450   }
214435 214451   
214436 214452   static int fts5Init(sqlite3 *db){
214437 214453     static const sqlite3_module fts5Mod = {
214438 214454       /* iVersion      */ 2,
214439 214455       /* xCreate       */ fts5CreateMethod,
214440 214456       /* xConnect      */ fts5ConnectMethod,
................................................................................
219136 219152   #endif
219137 219153     return rc;
219138 219154   }
219139 219155   #endif /* SQLITE_CORE */
219140 219156   #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
219141 219157   
219142 219158   /************** End of stmt.c ************************************************/
219143         -#if __LINE__!=219137
       219159  +#if __LINE__!=219157
219144 219160   #undef SQLITE_SOURCE_ID
219145         -#define SQLITE_SOURCE_ID      "2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460alt2"
       219161  +#define SQLITE_SOURCE_ID      "2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792alt2"
219146 219162   #endif
219147 219163   /* Return the source-id for this library */
219148 219164   SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
219149 219165   /************************** End of sqlite3.c ******************************/

Changes to sqlite3/src/main/jni/sqlite/sqlite3.h.

   119    119   ** been edited in any way since it was last checked in, then the last
   120    120   ** four hexadecimal digits of the hash may be modified.
   121    121   **
   122    122   ** See also: [sqlite3_libversion()],
   123    123   ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
   124    124   ** [sqlite_version()] and [sqlite_source_id()].
   125    125   */
   126         -#define SQLITE_VERSION        "3.25.1"
   127         -#define SQLITE_VERSION_NUMBER 3025001
   128         -#define SQLITE_SOURCE_ID      "2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460b386"
          126  +#define SQLITE_VERSION        "3.25.2"
          127  +#define SQLITE_VERSION_NUMBER 3025002
          128  +#define SQLITE_SOURCE_ID      "2018-09-25 19:08:10 fb90e7189ae6d62e77ba3a308ca5d683f90bbe633cf681865365b8e92792d1c7"
   129    129   
   130    130   /*
   131    131   ** CAPI3REF: Run-Time Library Version Numbers
   132    132   ** KEYWORDS: sqlite3_version sqlite3_sourceid
   133    133   **
   134    134   ** These interfaces provide the same information as the [SQLITE_VERSION],
   135    135   ** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros