|
1 | 1 | /****************************************************************************** |
2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
3 | | -** version 3.19.2. By combining all the individual C code files into this |
| 3 | +** version 3.19.3. 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 |
@@ -398,9 +398,9 @@ extern "C" { |
398 | 398 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
399 | 399 | ** [sqlite_version()] and [sqlite_source_id()]. |
400 | 400 | */ |
401 | | -#define SQLITE_VERSION "3.19.2" |
402 | | -#define SQLITE_VERSION_NUMBER 3019002 |
403 | | -#define SQLITE_SOURCE_ID "2017-05-25 16:50:27 edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9" |
| 401 | +#define SQLITE_VERSION "3.19.3" |
| 402 | +#define SQLITE_VERSION_NUMBER 3019003 |
| 403 | +#define SQLITE_SOURCE_ID "2017-06-08 14:26:16 0ee482a1e0eae22e08edc8978c9733a96603d4509645f348ebf55b579e89636b" |
404 | 404 |
|
405 | 405 | /* |
406 | 406 | ** CAPI3REF: Run-Time Library Version Numbers |
@@ -67208,12 +67208,18 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( |
67208 | 67208 | memcpy(newCell, oldCell, 4); |
67209 | 67209 | } |
67210 | 67210 | rc = clearCell(pPage, oldCell, &info); |
67211 | | - if( info.nSize==szNew && info.nLocal==info.nPayload ){ |
| 67211 | + if( info.nSize==szNew && info.nLocal==info.nPayload |
| 67212 | + && (!ISAUTOVACUUM || szNew<pPage->minLocal) |
| 67213 | + ){ |
67212 | 67214 | /* Overwrite the old cell with the new if they are the same size. |
67213 | 67215 | ** We could also try to do this if the old cell is smaller, then add |
67214 | 67216 | ** the leftover space to the free list. But experiments show that |
67215 | 67217 | ** doing that is no faster then skipping this optimization and just |
67216 | | - ** calling dropCell() and insertCell(). */ |
| 67218 | + ** calling dropCell() and insertCell(). |
| 67219 | + ** |
| 67220 | + ** This optimization cannot be used on an autovacuum database if the |
| 67221 | + ** new entry uses overflow pages, as the insertCell() call below is |
| 67222 | + ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ |
67217 | 67223 | assert( rc==SQLITE_OK ); /* clearCell never fails when nLocal==nPayload */ |
67218 | 67224 | if( oldCell+szNew > pPage->aDataEnd ) return SQLITE_CORRUPT_BKPT; |
67219 | 67225 | memcpy(oldCell, newCell, szNew); |
@@ -199056,7 +199062,7 @@ static void fts5SourceIdFunc( |
199056 | 199062 | ){ |
199057 | 199063 | assert( nArg==0 ); |
199058 | 199064 | UNUSED_PARAM2(nArg, apUnused); |
199059 | | - sqlite3_result_text(pCtx, "fts5: 2017-05-25 16:50:27 edb4e819b0c058c7d74d27ebd14cc5ceb2bad6a6144a486a970182b7afe3f8b9", -1, SQLITE_TRANSIENT); |
| 199065 | + sqlite3_result_text(pCtx, "fts5: 2017-06-08 14:26:16 0ee482a1e0eae22e08edc8978c9733a96603d4509645f348ebf55b579e89636b", -1, SQLITE_TRANSIENT); |
199060 | 199066 | } |
199061 | 199067 |
|
199062 | 199068 | static int fts5Init(sqlite3 *db){ |
|
0 commit comments