|
@@ -1,6 +1,6 @@
|
|
|
/******************************************************************************
|
|
/******************************************************************************
|
|
|
** This file is an amalgamation of many separate C source files from SQLite
|
|
** This file is an amalgamation of many separate C source files from SQLite
|
|
|
-** version 3.8.4. By combining all the individual C code files into this
|
|
|
|
|
|
|
+** version 3.8.4.1. By combining all the individual C code files into this
|
|
|
** single large file, the entire code can be compiled as a single translation
|
|
** single large file, the entire code can be compiled as a single translation
|
|
|
** unit. This allows many compilers to do optimizations that would not be
|
|
** unit. This allows many compilers to do optimizations that would not be
|
|
|
** possible if the files were compiled separately. Performance improvements
|
|
** possible if the files were compiled separately. Performance improvements
|
|
@@ -222,9 +222,9 @@ extern "C" {
|
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
** [sqlite_version()] and [sqlite_source_id()].
|
|
|
*/
|
|
*/
|
|
|
-#define SQLITE_VERSION "3.8.4"
|
|
|
|
|
|
|
+#define SQLITE_VERSION "3.8.4.1"
|
|
|
#define SQLITE_VERSION_NUMBER 3008004
|
|
#define SQLITE_VERSION_NUMBER 3008004
|
|
|
-#define SQLITE_SOURCE_ID "2014-03-10 12:20:37 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5"
|
|
|
|
|
|
|
+#define SQLITE_SOURCE_ID "2014-03-11 15:27:36 018d317b1257ce68a92908b05c9c7cf1494050d0"
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
** CAPI3REF: Run-Time Library Version Numbers
|
|
@@ -9482,11 +9482,13 @@ SQLITE_PRIVATE void sqlite3VdbeSetLineNumber(Vdbe*,int);
|
|
|
# define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__)
|
|
# define VdbeCoverageIf(v,x) if(x)sqlite3VdbeSetLineNumber(v,__LINE__)
|
|
|
# define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2);
|
|
# define VdbeCoverageAlwaysTaken(v) sqlite3VdbeSetLineNumber(v,2);
|
|
|
# define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1);
|
|
# define VdbeCoverageNeverTaken(v) sqlite3VdbeSetLineNumber(v,1);
|
|
|
|
|
+# define VDBE_OFFSET_LINENO(x) (__LINE__+x)
|
|
|
#else
|
|
#else
|
|
|
# define VdbeCoverage(v)
|
|
# define VdbeCoverage(v)
|
|
|
# define VdbeCoverageIf(v,x)
|
|
# define VdbeCoverageIf(v,x)
|
|
|
# define VdbeCoverageAlwaysTaken(v)
|
|
# define VdbeCoverageAlwaysTaken(v)
|
|
|
# define VdbeCoverageNeverTaken(v)
|
|
# define VdbeCoverageNeverTaken(v)
|
|
|
|
|
+# define VDBE_OFFSET_LINENO(x) 0
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
#endif
|
|
@@ -73791,7 +73793,7 @@ SQLITE_API int sqlite3_blob_open(
|
|
|
** which closes the b-tree cursor and (possibly) commits the
|
|
** which closes the b-tree cursor and (possibly) commits the
|
|
|
** transaction.
|
|
** transaction.
|
|
|
*/
|
|
*/
|
|
|
- static const int iLn = __LINE__+4;
|
|
|
|
|
|
|
+ static const int iLn = VDBE_OFFSET_LINENO(4);
|
|
|
static const VdbeOpList openBlob[] = {
|
|
static const VdbeOpList openBlob[] = {
|
|
|
/* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */
|
|
/* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */
|
|
|
{OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */
|
|
{OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */
|
|
@@ -97911,7 +97913,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
|
|
|
** size of historical compatibility.
|
|
** size of historical compatibility.
|
|
|
*/
|
|
*/
|
|
|
case PragTyp_DEFAULT_CACHE_SIZE: {
|
|
case PragTyp_DEFAULT_CACHE_SIZE: {
|
|
|
- static const int iLn = __LINE__+2;
|
|
|
|
|
|
|
+ static const int iLn = VDBE_OFFSET_LINENO(2);
|
|
|
static const VdbeOpList getCacheSize[] = {
|
|
static const VdbeOpList getCacheSize[] = {
|
|
|
{ OP_Transaction, 0, 0, 0}, /* 0 */
|
|
{ OP_Transaction, 0, 0, 0}, /* 0 */
|
|
|
{ OP_ReadCookie, 0, 1, BTREE_DEFAULT_CACHE_SIZE}, /* 1 */
|
|
{ OP_ReadCookie, 0, 1, BTREE_DEFAULT_CACHE_SIZE}, /* 1 */
|
|
@@ -98174,7 +98176,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
|
|
|
** file. Before writing to meta[6], check that meta[3] indicates
|
|
** file. Before writing to meta[6], check that meta[3] indicates
|
|
|
** that this really is an auto-vacuum capable database.
|
|
** that this really is an auto-vacuum capable database.
|
|
|
*/
|
|
*/
|
|
|
- static const int iLn = __LINE__+2;
|
|
|
|
|
|
|
+ static const int iLn = VDBE_OFFSET_LINENO(2);
|
|
|
static const VdbeOpList setMeta6[] = {
|
|
static const VdbeOpList setMeta6[] = {
|
|
|
{ OP_Transaction, 0, 1, 0}, /* 0 */
|
|
{ OP_Transaction, 0, 1, 0}, /* 0 */
|
|
|
{ OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE},
|
|
{ OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE},
|
|
@@ -98877,7 +98879,7 @@ SQLITE_PRIVATE void sqlite3Pragma(
|
|
|
** messages have been generated, output OK. Otherwise output the
|
|
** messages have been generated, output OK. Otherwise output the
|
|
|
** error message
|
|
** error message
|
|
|
*/
|
|
*/
|
|
|
- static const int iLn = __LINE__+2;
|
|
|
|
|
|
|
+ static const int iLn = VDBE_OFFSET_LINENO(2);
|
|
|
static const VdbeOpList endCode[] = {
|
|
static const VdbeOpList endCode[] = {
|
|
|
{ OP_AddImm, 1, 0, 0}, /* 0 */
|
|
{ OP_AddImm, 1, 0, 0}, /* 0 */
|
|
|
{ OP_IfNeg, 1, 0, 0}, /* 1 */
|
|
{ OP_IfNeg, 1, 0, 0}, /* 1 */
|
|
@@ -106365,7 +106367,7 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){
|
|
|
assert( pTable!=0 );
|
|
assert( pTable!=0 );
|
|
|
if( (v = sqlite3GetVdbe(pParse))!=0 ){
|
|
if( (v = sqlite3GetVdbe(pParse))!=0 ){
|
|
|
int base;
|
|
int base;
|
|
|
- static const int iLn = __LINE__+2;
|
|
|
|
|
|
|
+ static const int iLn = VDBE_OFFSET_LINENO(2);
|
|
|
static const VdbeOpList dropTrigger[] = {
|
|
static const VdbeOpList dropTrigger[] = {
|
|
|
{ OP_Rewind, 0, ADDR(9), 0},
|
|
{ OP_Rewind, 0, ADDR(9), 0},
|
|
|
{ OP_String8, 0, 1, 0}, /* 1 */
|
|
{ OP_String8, 0, 1, 0}, /* 1 */
|
|
@@ -113607,7 +113609,10 @@ static int whereLoopAddBtreeIndex(
|
|
|
pNew->aLTerm[pNew->nLTerm++] = 0;
|
|
pNew->aLTerm[pNew->nLTerm++] = 0;
|
|
|
pNew->wsFlags |= WHERE_SKIPSCAN;
|
|
pNew->wsFlags |= WHERE_SKIPSCAN;
|
|
|
nIter = sqlite3LogEst(pProbe->aiRowEst[0]/pProbe->aiRowEst[saved_nEq+1]);
|
|
nIter = sqlite3LogEst(pProbe->aiRowEst[0]/pProbe->aiRowEst[saved_nEq+1]);
|
|
|
|
|
+ pNew->rRun = rLogSize + nIter;
|
|
|
|
|
+ pNew->nOut += nIter;
|
|
|
whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter);
|
|
whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, nIter);
|
|
|
|
|
+ pNew->nOut = saved_nOut;
|
|
|
}
|
|
}
|
|
|
for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){
|
|
for(; rc==SQLITE_OK && pTerm!=0; pTerm = whereScanNext(&scan)){
|
|
|
int nIn = 0;
|
|
int nIn = 0;
|