Fossil SCM
Update to SQLite 3.8.4.1
Commit
b93b3e8f98b850f05333f8d28ad06402d96b3e8c
Parent
e6d3e878a9a9257…
2 files changed
+13
-8
+2
-2
+13
-8
| --- src/sqlite3.c | ||
| +++ src/sqlite3.c | ||
| @@ -1,8 +1,8 @@ | ||
| 1 | 1 | /****************************************************************************** |
| 2 | 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | -** version 3.8.4. By combining all the individual C code files into this | |
| 3 | +** version 3.8.4.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. |
| @@ -220,13 +220,13 @@ | ||
| 220 | 220 | ** |
| 221 | 221 | ** See also: [sqlite3_libversion()], |
| 222 | 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | 224 | */ |
| 225 | -#define SQLITE_VERSION "3.8.4" | |
| 225 | +#define SQLITE_VERSION "3.8.4.1" | |
| 226 | 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | -#define SQLITE_SOURCE_ID "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5" | |
| 227 | +#define SQLITE_SOURCE_ID "2014-03-11 15:27:36 018d317b1257ce68a92908b05c9c7cf1494050d0" | |
| 228 | 228 | |
| 229 | 229 | /* |
| 230 | 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | 232 | ** |
| @@ -9428,15 +9428,17 @@ | ||
| 9428 | 9428 | SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe*,int); |
| 9429 | 9429 | # define VdbeCoverage(v) sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9430 | 9430 | # define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9431 | 9431 | # define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2); |
| 9432 | 9432 | # define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1); |
| 9433 | +# define VDBE_OFFSET_LINENO(x) (__LINE__+x) | |
| 9433 | 9434 | #else |
| 9434 | 9435 | # define VdbeCoverage(v) |
| 9435 | 9436 | # define VdbeCoverageIf(v,x) |
| 9436 | 9437 | # define VdbeCoverageAlwaysTaken(v) |
| 9437 | 9438 | # define VdbeCoverageNeverTaken(v) |
| 9439 | +# define VDBE_OFFSET_LINENO(x) 0 | |
| 9438 | 9440 | #endif |
| 9439 | 9441 | |
| 9440 | 9442 | #endif |
| 9441 | 9443 | |
| 9442 | 9444 | /************** End of vdbe.h ************************************************/ |
| @@ -73590,11 +73592,11 @@ | ||
| 73590 | 73592 | ** |
| 73591 | 73593 | ** The sqlite3_blob_close() function finalizes the vdbe program, |
| 73592 | 73594 | ** which closes the b-tree cursor and (possibly) commits the |
| 73593 | 73595 | ** transaction. |
| 73594 | 73596 | */ |
| 73595 | - static const int iLn = __LINE__+4; | |
| 73597 | + static const int iLn = VDBE_OFFSET_LINENO(4); | |
| 73596 | 73598 | static const VdbeOpList openBlob[] = { |
| 73597 | 73599 | /* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */ |
| 73598 | 73600 | {OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */ |
| 73599 | 73601 | /* One of the following two instructions is replaced by an OP_Noop. */ |
| 73600 | 73602 | {OP_OpenRead, 0, 0, 0}, /* 2: Open cursor 0 for reading */ |
| @@ -97663,11 +97665,11 @@ | ||
| 97663 | 97665 | ** is always on by default regardless of the sign of the default cache |
| 97664 | 97666 | ** size. But continue to take the absolute value of the default cache |
| 97665 | 97667 | ** size of historical compatibility. |
| 97666 | 97668 | */ |
| 97667 | 97669 | case PragTyp_DEFAULT_CACHE_SIZE: { |
| 97668 | - static const int iLn = __LINE__+2; | |
| 97670 | + static const int iLn = VDBE_OFFSET_LINENO(2); | |
| 97669 | 97671 | static const VdbeOpList getCacheSize[] = { |
| 97670 | 97672 | { OP_Transaction, 0, 0, 0}, /* 0 */ |
| 97671 | 97673 | { OP_ReadCookie, 0, 1, BTREE_DEFAULT_CACHE_SIZE}, /* 1 */ |
| 97672 | 97674 | { OP_IfPos, 1, 8, 0}, |
| 97673 | 97675 | { OP_Integer, 0, 2, 0}, |
| @@ -97926,11 +97928,11 @@ | ||
| 97926 | 97928 | /* When setting the auto_vacuum mode to either "full" or |
| 97927 | 97929 | ** "incremental", write the value of meta[6] in the database |
| 97928 | 97930 | ** file. Before writing to meta[6], check that meta[3] indicates |
| 97929 | 97931 | ** that this really is an auto-vacuum capable database. |
| 97930 | 97932 | */ |
| 97931 | - static const int iLn = __LINE__+2; | |
| 97933 | + static const int iLn = VDBE_OFFSET_LINENO(2); | |
| 97932 | 97934 | static const VdbeOpList setMeta6[] = { |
| 97933 | 97935 | { OP_Transaction, 0, 1, 0}, /* 0 */ |
| 97934 | 97936 | { OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE}, |
| 97935 | 97937 | { OP_If, 1, 0, 0}, /* 2 */ |
| 97936 | 97938 | { OP_Halt, SQLITE_OK, OE_Abort, 0}, /* 3 */ |
| @@ -98629,11 +98631,11 @@ | ||
| 98629 | 98631 | |
| 98630 | 98632 | /* Code that appears at the end of the integrity check. If no error |
| 98631 | 98633 | ** messages have been generated, output OK. Otherwise output the |
| 98632 | 98634 | ** error message |
| 98633 | 98635 | */ |
| 98634 | - static const int iLn = __LINE__+2; | |
| 98636 | + static const int iLn = VDBE_OFFSET_LINENO(2); | |
| 98635 | 98637 | static const VdbeOpList endCode[] = { |
| 98636 | 98638 | { OP_AddImm, 1, 0, 0}, /* 0 */ |
| 98637 | 98639 | { OP_IfNeg, 1, 0, 0}, /* 1 */ |
| 98638 | 98640 | { OP_String8, 0, 3, 0}, /* 2 */ |
| 98639 | 98641 | { OP_ResultRow, 3, 1, 0}, |
| @@ -106116,11 +106118,11 @@ | ||
| 106116 | 106118 | /* Generate code to destroy the database record of the trigger. |
| 106117 | 106119 | */ |
| 106118 | 106120 | assert( pTable!=0 ); |
| 106119 | 106121 | if( (v = sqlite3GetVdbe(pParse))!=0 ){ |
| 106120 | 106122 | int base; |
| 106121 | - static const int iLn = __LINE__+2; | |
| 106123 | + static const int iLn = VDBE_OFFSET_LINENO(2); | |
| 106122 | 106124 | static const VdbeOpList dropTrigger[] = { |
| 106123 | 106125 | { OP_Rewind, 0, ADDR(9), 0}, |
| 106124 | 106126 | { OP_String8, 0, 1, 0}, /* 1 */ |
| 106125 | 106127 | { OP_Column, 0, 1, 2}, |
| 106126 | 106128 | { OP_Ne, 2, ADDR(8), 1}, |
| @@ -113358,11 +113360,14 @@ | ||
| 113358 | 113360 | pNew->u.btree.nEq++; |
| 113359 | 113361 | pNew->u.btree.nSkip++; |
| 113360 | 113362 | pNew->aLTerm[pNew->nLTerm++] = 0; |
| 113361 | 113363 | pNew->wsFlags |= WHERE_SKIPSCAN; |
| 113362 | 113364 | nIter = sqlite3LogEst(pProbe->aiRowEst[0]/pProbe->aiRowEst[saved_nEq+1]); |
| 113365 | + pNew->rRun = rLogSize + nIter; | |
| 113366 | + pNew->nOut += nIter; | |
| 113363 | 113367 | whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter); |
| 113368 | + pNew->nOut = saved_nOut; | |
| 113364 | 113369 | } |
| 113365 | 113370 | for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){ |
| 113366 | 113371 | int nIn = 0; |
| 113367 | 113372 | #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 |
| 113368 | 113373 | int nRecValid = pBuilder->nRecValid; |
| 113369 | 113374 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -9428,15 +9428,17 @@ | |
| 9428 | SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe*,int); |
| 9429 | # define VdbeCoverage(v) sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9430 | # define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9431 | # define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2); |
| 9432 | # define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1); |
| 9433 | #else |
| 9434 | # define VdbeCoverage(v) |
| 9435 | # define VdbeCoverageIf(v,x) |
| 9436 | # define VdbeCoverageAlwaysTaken(v) |
| 9437 | # define VdbeCoverageNeverTaken(v) |
| 9438 | #endif |
| 9439 | |
| 9440 | #endif |
| 9441 | |
| 9442 | /************** End of vdbe.h ************************************************/ |
| @@ -73590,11 +73592,11 @@ | |
| 73590 | ** |
| 73591 | ** The sqlite3_blob_close() function finalizes the vdbe program, |
| 73592 | ** which closes the b-tree cursor and (possibly) commits the |
| 73593 | ** transaction. |
| 73594 | */ |
| 73595 | static const int iLn = __LINE__+4; |
| 73596 | static const VdbeOpList openBlob[] = { |
| 73597 | /* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */ |
| 73598 | {OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */ |
| 73599 | /* One of the following two instructions is replaced by an OP_Noop. */ |
| 73600 | {OP_OpenRead, 0, 0, 0}, /* 2: Open cursor 0 for reading */ |
| @@ -97663,11 +97665,11 @@ | |
| 97663 | ** is always on by default regardless of the sign of the default cache |
| 97664 | ** size. But continue to take the absolute value of the default cache |
| 97665 | ** size of historical compatibility. |
| 97666 | */ |
| 97667 | case PragTyp_DEFAULT_CACHE_SIZE: { |
| 97668 | static const int iLn = __LINE__+2; |
| 97669 | static const VdbeOpList getCacheSize[] = { |
| 97670 | { OP_Transaction, 0, 0, 0}, /* 0 */ |
| 97671 | { OP_ReadCookie, 0, 1, BTREE_DEFAULT_CACHE_SIZE}, /* 1 */ |
| 97672 | { OP_IfPos, 1, 8, 0}, |
| 97673 | { OP_Integer, 0, 2, 0}, |
| @@ -97926,11 +97928,11 @@ | |
| 97926 | /* When setting the auto_vacuum mode to either "full" or |
| 97927 | ** "incremental", write the value of meta[6] in the database |
| 97928 | ** file. Before writing to meta[6], check that meta[3] indicates |
| 97929 | ** that this really is an auto-vacuum capable database. |
| 97930 | */ |
| 97931 | static const int iLn = __LINE__+2; |
| 97932 | static const VdbeOpList setMeta6[] = { |
| 97933 | { OP_Transaction, 0, 1, 0}, /* 0 */ |
| 97934 | { OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE}, |
| 97935 | { OP_If, 1, 0, 0}, /* 2 */ |
| 97936 | { OP_Halt, SQLITE_OK, OE_Abort, 0}, /* 3 */ |
| @@ -98629,11 +98631,11 @@ | |
| 98629 | |
| 98630 | /* Code that appears at the end of the integrity check. If no error |
| 98631 | ** messages have been generated, output OK. Otherwise output the |
| 98632 | ** error message |
| 98633 | */ |
| 98634 | static const int iLn = __LINE__+2; |
| 98635 | static const VdbeOpList endCode[] = { |
| 98636 | { OP_AddImm, 1, 0, 0}, /* 0 */ |
| 98637 | { OP_IfNeg, 1, 0, 0}, /* 1 */ |
| 98638 | { OP_String8, 0, 3, 0}, /* 2 */ |
| 98639 | { OP_ResultRow, 3, 1, 0}, |
| @@ -106116,11 +106118,11 @@ | |
| 106116 | /* Generate code to destroy the database record of the trigger. |
| 106117 | */ |
| 106118 | assert( pTable!=0 ); |
| 106119 | if( (v = sqlite3GetVdbe(pParse))!=0 ){ |
| 106120 | int base; |
| 106121 | static const int iLn = __LINE__+2; |
| 106122 | static const VdbeOpList dropTrigger[] = { |
| 106123 | { OP_Rewind, 0, ADDR(9), 0}, |
| 106124 | { OP_String8, 0, 1, 0}, /* 1 */ |
| 106125 | { OP_Column, 0, 1, 2}, |
| 106126 | { OP_Ne, 2, ADDR(8), 1}, |
| @@ -113358,11 +113360,14 @@ | |
| 113358 | pNew->u.btree.nEq++; |
| 113359 | pNew->u.btree.nSkip++; |
| 113360 | pNew->aLTerm[pNew->nLTerm++] = 0; |
| 113361 | pNew->wsFlags |= WHERE_SKIPSCAN; |
| 113362 | nIter = sqlite3LogEst(pProbe->aiRowEst[0]/pProbe->aiRowEst[saved_nEq+1]); |
| 113363 | whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter); |
| 113364 | } |
| 113365 | for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){ |
| 113366 | int nIn = 0; |
| 113367 | #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 |
| 113368 | int nRecValid = pBuilder->nRecValid; |
| 113369 |
| --- src/sqlite3.c | |
| +++ src/sqlite3.c | |
| @@ -1,8 +1,8 @@ | |
| 1 | /****************************************************************************** |
| 2 | ** This file is an amalgamation of many separate C source files from SQLite |
| 3 | ** version 3.8.4.1. By combining all the individual C code files into this |
| 4 | ** single large file, the entire code can be compiled as a single translation |
| 5 | ** unit. This allows many compilers to do optimizations that would not be |
| 6 | ** possible if the files were compiled separately. Performance improvements |
| 7 | ** of 5% or more are commonly seen when SQLite is compiled as a single |
| 8 | ** translation unit. |
| @@ -220,13 +220,13 @@ | |
| 220 | ** |
| 221 | ** See also: [sqlite3_libversion()], |
| 222 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 223 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 224 | */ |
| 225 | #define SQLITE_VERSION "3.8.4.1" |
| 226 | #define SQLITE_VERSION_NUMBER 3008004 |
| 227 | #define SQLITE_SOURCE_ID "2014-03-11 15:27:36 018d317b1257ce68a92908b05c9c7cf1494050d0" |
| 228 | |
| 229 | /* |
| 230 | ** CAPI3REF: Run-Time Library Version Numbers |
| 231 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 232 | ** |
| @@ -9428,15 +9428,17 @@ | |
| 9428 | SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe*,int); |
| 9429 | # define VdbeCoverage(v) sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9430 | # define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__) |
| 9431 | # define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2); |
| 9432 | # define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1); |
| 9433 | # define VDBE_OFFSET_LINENO(x) (__LINE__+x) |
| 9434 | #else |
| 9435 | # define VdbeCoverage(v) |
| 9436 | # define VdbeCoverageIf(v,x) |
| 9437 | # define VdbeCoverageAlwaysTaken(v) |
| 9438 | # define VdbeCoverageNeverTaken(v) |
| 9439 | # define VDBE_OFFSET_LINENO(x) 0 |
| 9440 | #endif |
| 9441 | |
| 9442 | #endif |
| 9443 | |
| 9444 | /************** End of vdbe.h ************************************************/ |
| @@ -73590,11 +73592,11 @@ | |
| 73592 | ** |
| 73593 | ** The sqlite3_blob_close() function finalizes the vdbe program, |
| 73594 | ** which closes the b-tree cursor and (possibly) commits the |
| 73595 | ** transaction. |
| 73596 | */ |
| 73597 | static const int iLn = VDBE_OFFSET_LINENO(4); |
| 73598 | static const VdbeOpList openBlob[] = { |
| 73599 | /* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */ |
| 73600 | {OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */ |
| 73601 | /* One of the following two instructions is replaced by an OP_Noop. */ |
| 73602 | {OP_OpenRead, 0, 0, 0}, /* 2: Open cursor 0 for reading */ |
| @@ -97663,11 +97665,11 @@ | |
| 97665 | ** is always on by default regardless of the sign of the default cache |
| 97666 | ** size. But continue to take the absolute value of the default cache |
| 97667 | ** size of historical compatibility. |
| 97668 | */ |
| 97669 | case PragTyp_DEFAULT_CACHE_SIZE: { |
| 97670 | static const int iLn = VDBE_OFFSET_LINENO(2); |
| 97671 | static const VdbeOpList getCacheSize[] = { |
| 97672 | { OP_Transaction, 0, 0, 0}, /* 0 */ |
| 97673 | { OP_ReadCookie, 0, 1, BTREE_DEFAULT_CACHE_SIZE}, /* 1 */ |
| 97674 | { OP_IfPos, 1, 8, 0}, |
| 97675 | { OP_Integer, 0, 2, 0}, |
| @@ -97926,11 +97928,11 @@ | |
| 97928 | /* When setting the auto_vacuum mode to either "full" or |
| 97929 | ** "incremental", write the value of meta[6] in the database |
| 97930 | ** file. Before writing to meta[6], check that meta[3] indicates |
| 97931 | ** that this really is an auto-vacuum capable database. |
| 97932 | */ |
| 97933 | static const int iLn = VDBE_OFFSET_LINENO(2); |
| 97934 | static const VdbeOpList setMeta6[] = { |
| 97935 | { OP_Transaction, 0, 1, 0}, /* 0 */ |
| 97936 | { OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE}, |
| 97937 | { OP_If, 1, 0, 0}, /* 2 */ |
| 97938 | { OP_Halt, SQLITE_OK, OE_Abort, 0}, /* 3 */ |
| @@ -98629,11 +98631,11 @@ | |
| 98631 | |
| 98632 | /* Code that appears at the end of the integrity check. If no error |
| 98633 | ** messages have been generated, output OK. Otherwise output the |
| 98634 | ** error message |
| 98635 | */ |
| 98636 | static const int iLn = VDBE_OFFSET_LINENO(2); |
| 98637 | static const VdbeOpList endCode[] = { |
| 98638 | { OP_AddImm, 1, 0, 0}, /* 0 */ |
| 98639 | { OP_IfNeg, 1, 0, 0}, /* 1 */ |
| 98640 | { OP_String8, 0, 3, 0}, /* 2 */ |
| 98641 | { OP_ResultRow, 3, 1, 0}, |
| @@ -106116,11 +106118,11 @@ | |
| 106118 | /* Generate code to destroy the database record of the trigger. |
| 106119 | */ |
| 106120 | assert( pTable!=0 ); |
| 106121 | if( (v = sqlite3GetVdbe(pParse))!=0 ){ |
| 106122 | int base; |
| 106123 | static const int iLn = VDBE_OFFSET_LINENO(2); |
| 106124 | static const VdbeOpList dropTrigger[] = { |
| 106125 | { OP_Rewind, 0, ADDR(9), 0}, |
| 106126 | { OP_String8, 0, 1, 0}, /* 1 */ |
| 106127 | { OP_Column, 0, 1, 2}, |
| 106128 | { OP_Ne, 2, ADDR(8), 1}, |
| @@ -113358,11 +113360,14 @@ | |
| 113360 | pNew->u.btree.nEq++; |
| 113361 | pNew->u.btree.nSkip++; |
| 113362 | pNew->aLTerm[pNew->nLTerm++] = 0; |
| 113363 | pNew->wsFlags |= WHERE_SKIPSCAN; |
| 113364 | nIter = sqlite3LogEst(pProbe->aiRowEst[0]/pProbe->aiRowEst[saved_nEq+1]); |
| 113365 | pNew->rRun = rLogSize + nIter; |
| 113366 | pNew->nOut += nIter; |
| 113367 | whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter); |
| 113368 | pNew->nOut = saved_nOut; |
| 113369 | } |
| 113370 | for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){ |
| 113371 | int nIn = 0; |
| 113372 | #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 |
| 113373 | int nRecValid = pBuilder->nRecValid; |
| 113374 |
+2
-2
| --- src/sqlite3.h | ||
| +++ src/sqlite3.h | ||
| @@ -105,13 +105,13 @@ | ||
| 105 | 105 | ** |
| 106 | 106 | ** See also: [sqlite3_libversion()], |
| 107 | 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | 109 | */ |
| 110 | -#define SQLITE_VERSION "3.8.4" | |
| 110 | +#define SQLITE_VERSION "3.8.4.1" | |
| 111 | 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | -#define SQLITE_SOURCE_ID "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5" | |
| 112 | +#define SQLITE_SOURCE_ID "2014-03-11 15:27:36 018d317b1257ce68a92908b05c9c7cf1494050d0" | |
| 113 | 113 | |
| 114 | 114 | /* |
| 115 | 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | 117 | ** |
| 118 | 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |
| --- src/sqlite3.h | |
| +++ src/sqlite3.h | |
| @@ -105,13 +105,13 @@ | |
| 105 | ** |
| 106 | ** See also: [sqlite3_libversion()], |
| 107 | ** [sqlite3_libversion_number()], [sqlite3_sourceid()], |
| 108 | ** [sqlite_version()] and [sqlite_source_id()]. |
| 109 | */ |
| 110 | #define SQLITE_VERSION "3.8.4.1" |
| 111 | #define SQLITE_VERSION_NUMBER 3008004 |
| 112 | #define SQLITE_SOURCE_ID "2014-03-11 15:27:36 018d317b1257ce68a92908b05c9c7cf1494050d0" |
| 113 | |
| 114 | /* |
| 115 | ** CAPI3REF: Run-Time Library Version Numbers |
| 116 | ** KEYWORDS: sqlite3_version, sqlite3_sourceid |
| 117 | ** |
| 118 |