SQLite Android Bindings
Check-in [2326888d88]
Not logged in

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

Overview
Comment:Upgrade this project to version 3.25.1.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2326888d881f294a1589202b06d0aec692c9fa4d
User & Date: dan 2018-09-18 20:41:45
Context
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
2018-09-18
20:41
Upgrade this project to version 3.25.1. check-in: 2326888d88 user: dan tags: trunk
19:41
Cherrypick SQLite commit e41e50fe into this project. Also add -DSQLITE_ENABLE_BATCH_ATOMIC_WRITE in Android.mk. check-in: a113b9be83 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.0.  By combining all the individual C code files into this
            3  +** version 3.25.1.  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.0"
  1162         -#define SQLITE_VERSION_NUMBER 3025000
  1163         -#define SQLITE_SOURCE_ID      "2018-09-15 04:01:47 b63af6c3bd33152742648d5d2e8dc5d5fcbcdd27df409272b6aea00a6f761760"
         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"
  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
................................................................................
102207 102207         sqlite3SelectPrep(pParse, pStep->pSelect, &sNC);
102208 102208         if( pParse->nErr ) rc = pParse->rc;
102209 102209       }
102210 102210       if( rc==SQLITE_OK && pStep->zTarget ){
102211 102211         Table *pTarget = sqlite3LocateTable(pParse, 0, pStep->zTarget, zDb);
102212 102212         if( pTarget==0 ){
102213 102213           rc = SQLITE_ERROR;
102214         -      }else{
       102214  +      }else if( SQLITE_OK==(rc = sqlite3ViewGetColumnNames(pParse, pTarget)) ){
102215 102215           SrcList sSrc;
102216 102216           memset(&sSrc, 0, sizeof(sSrc));
102217 102217           sSrc.nSrc = 1;
102218 102218           sSrc.a[0].zName = pStep->zTarget;
102219 102219           sSrc.a[0].pTab = pTarget;
102220 102220           sNC.pSrcList = &sSrc;
102221 102221           if( pStep->pWhere ){
................................................................................
107853 107853     ** to the elements of the FROM clause.  But we do not want these changes
107854 107854     ** to be permanent.  So the computation is done on a copy of the SELECT
107855 107855     ** statement that defines the view.
107856 107856     */
107857 107857     assert( pTable->pSelect );
107858 107858     pSel = sqlite3SelectDup(db, pTable->pSelect, 0);
107859 107859     if( pSel ){
       107860  +#ifndef SQLITE_OMIT_ALTERTABLE
       107861  +    u8 eParseMode = pParse->eParseMode;
       107862  +    pParse->eParseMode = PARSE_MODE_NORMAL;
       107863  +#endif
107860 107864       n = pParse->nTab;
107861 107865       sqlite3SrcListAssignCursors(pParse, pSel->pSrc);
107862 107866       pTable->nCol = -1;
107863 107867       db->lookaside.bDisable++;
107864 107868   #ifndef SQLITE_OMIT_AUTHORIZATION
107865 107869       xAuth = db->xAuth;
107866 107870       db->xAuth = 0;
................................................................................
107898 107902       }else{
107899 107903         pTable->nCol = 0;
107900 107904         nErr++;
107901 107905       }
107902 107906       sqlite3DeleteTable(db, pSelTab);
107903 107907       sqlite3SelectDelete(db, pSel);
107904 107908       db->lookaside.bDisable--;
       107909  +#ifndef SQLITE_OMIT_ALTERTABLE
       107910  +    pParse->eParseMode = eParseMode;
       107911  +#endif
107905 107912     } else {
107906 107913       nErr++;
107907 107914     }
107908 107915     pTable->pSchema->schemaFlags |= DB_UnresetViews;
107909 107916     if( db->mallocFailed ){
107910 107917       sqlite3DeleteColumnNames(db, pTable);
107911 107918       pTable->aCol = 0;
................................................................................
129185 129192         int regGosub = ++pParse->nMem;
129186 129193   
129187 129194         sqlite3WindowCodeStep(pParse, p, pWInfo, regGosub, addrGosub);
129188 129195   
129189 129196         sqlite3VdbeAddOp2(v, OP_Goto, 0, iBreak);
129190 129197         sqlite3VdbeResolveLabel(v, addrGosub);
129191 129198         VdbeNoopComment((v, "inner-loop subroutine"));
       129199  +      sSort.labelOBLopt = 0;
129192 129200         selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, iCont, iBreak);
129193 129201         sqlite3VdbeResolveLabel(v, iCont);
129194 129202         sqlite3VdbeAddOp1(v, OP_Return, regGosub);
129195 129203         VdbeComment((v, "end inner-loop subroutine"));
129196 129204         sqlite3VdbeResolveLabel(v, iBreak);
129197 129205       }else
129198 129206   #endif /* SQLITE_OMIT_WINDOWFUNC */
................................................................................
214418 214426   static void fts5SourceIdFunc(
214419 214427     sqlite3_context *pCtx,          /* Function call context */
214420 214428     int nArg,                       /* Number of args */
214421 214429     sqlite3_value **apUnused        /* Function arguments */
214422 214430   ){
214423 214431     assert( nArg==0 );
214424 214432     UNUSED_PARAM2(nArg, apUnused);
214425         -  sqlite3_result_text(pCtx, "fts5: 2018-09-15 04:01:47 b63af6c3bd33152742648d5d2e8dc5d5fcbcdd27df409272b6aea00a6f761760", -1, SQLITE_TRANSIENT);
       214433  +  sqlite3_result_text(pCtx, "fts5: 2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460b386", -1, SQLITE_TRANSIENT);
214426 214434   }
214427 214435   
214428 214436   static int fts5Init(sqlite3 *db){
214429 214437     static const sqlite3_module fts5Mod = {
214430 214438       /* iVersion      */ 2,
214431 214439       /* xCreate       */ fts5CreateMethod,
214432 214440       /* xConnect      */ fts5ConnectMethod,
................................................................................
219128 219136   #endif
219129 219137     return rc;
219130 219138   }
219131 219139   #endif /* SQLITE_CORE */
219132 219140   #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
219133 219141   
219134 219142   /************** End of stmt.c ************************************************/
219135         -#if __LINE__!=219129
       219143  +#if __LINE__!=219137
219136 219144   #undef SQLITE_SOURCE_ID
219137         -#define SQLITE_SOURCE_ID      "2018-09-15 04:01:47 b63af6c3bd33152742648d5d2e8dc5d5fcbcdd27df409272b6aea00a6f76alt2"
       219145  +#define SQLITE_SOURCE_ID      "2018-09-18 20:20:44 2ac9003de44da7dafa3fbb1915ac5725a9275c86bf2f3b7aa19321bf1460alt2"
219138 219146   #endif
219139 219147   /* Return the source-id for this library */
219140 219148   SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
219141 219149   /************************** 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.0"
   127         -#define SQLITE_VERSION_NUMBER 3025000
   128         -#define SQLITE_SOURCE_ID      "2018-09-15 04:01:47 b63af6c3bd33152742648d5d2e8dc5d5fcbcdd27df409272b6aea00a6f761760"
          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"
   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