Fossil SCM

Update the built-in SQLite to version 3.8.11.1

jan.nijtmans 2015-08-18 13:28 trunk
Commit 7842b8ab3177fa73bf2fdf3a491939ece8bbe3e8
--- src/shell.c
+++ src/shell.c
@@ -1316,10 +1316,12 @@
13161316
iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_AUTOINDEX,bReset);
13171317
fprintf(pArg->out, "Autoindex Inserts: %d\n", iCur);
13181318
iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_VM_STEP, bReset);
13191319
fprintf(pArg->out, "Virtual Machine Steps: %d\n", iCur);
13201320
}
1321
+
1322
+ /* Do not remove this machine readable comment: extra-stats-output-here */
13211323
13221324
return 0;
13231325
}
13241326
13251327
/*
13261328
--- src/shell.c
+++ src/shell.c
@@ -1316,10 +1316,12 @@
1316 iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_AUTOINDEX,bReset);
1317 fprintf(pArg->out, "Autoindex Inserts: %d\n", iCur);
1318 iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_VM_STEP, bReset);
1319 fprintf(pArg->out, "Virtual Machine Steps: %d\n", iCur);
1320 }
 
 
1321
1322 return 0;
1323 }
1324
1325 /*
1326
--- src/shell.c
+++ src/shell.c
@@ -1316,10 +1316,12 @@
1316 iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_AUTOINDEX,bReset);
1317 fprintf(pArg->out, "Autoindex Inserts: %d\n", iCur);
1318 iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_VM_STEP, bReset);
1319 fprintf(pArg->out, "Virtual Machine Steps: %d\n", iCur);
1320 }
1321
1322 /* Do not remove this machine readable comment: extra-stats-output-here */
1323
1324 return 0;
1325 }
1326
1327 /*
1328
+13 -9
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1,8 +1,8 @@
11
/******************************************************************************
22
** This file is an amalgamation of many separate C source files from SQLite
3
-** version 3.8.11. By combining all the individual C code files into this
3
+** version 3.8.11.1. By combining all the individual C code files into this
44
** single large file, the entire code can be compiled as a single translation
55
** unit. This allows many compilers to do optimizations that would not be
66
** possible if the files were compiled separately. Performance improvements
77
** of 5% or more are commonly seen when SQLite is compiled as a single
88
** translation unit.
@@ -323,13 +323,13 @@
323323
**
324324
** See also: [sqlite3_libversion()],
325325
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
326326
** [sqlite_version()] and [sqlite_source_id()].
327327
*/
328
-#define SQLITE_VERSION "3.8.11"
328
+#define SQLITE_VERSION "3.8.11.1"
329329
#define SQLITE_VERSION_NUMBER 3008011
330
-#define SQLITE_SOURCE_ID "2015-07-27 13:49:41 b8e92227a469de677a66da62e4361f099c0b79d0"
330
+#define SQLITE_SOURCE_ID "2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f"
331331
332332
/*
333333
** CAPI3REF: Run-Time Library Version Numbers
334334
** KEYWORDS: sqlite3_version, sqlite3_sourceid
335335
**
@@ -4747,13 +4747,13 @@
47474747
** ^The sqlite3_result_blob() interface sets the result from
47484748
** an application-defined function to be the BLOB whose content is pointed
47494749
** to by the second parameter and which is N bytes long where N is the
47504750
** third parameter.
47514751
**
4752
-** ^The sqlite3_result_zeroblob() and zeroblob64() interfaces set the result
4753
-** of the application-defined function to be a BLOB containing all zero
4754
-** bytes and N bytes in size, where N is the value of the 2nd parameter.
4752
+** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N)
4753
+** interfaces set the result of the application-defined function to be
4754
+** a BLOB containing all zero bytes and N bytes in size.
47554755
**
47564756
** ^The sqlite3_result_double() interface sets the result from
47574757
** an application-defined function to be a floating point value specified
47584758
** by its 2nd argument.
47594759
**
@@ -102750,11 +102750,11 @@
102750102750
}else{
102751102751
sqlite3TableLock(pParse, iDbDest, pDest->tnum, 1, pDest->zName);
102752102752
sqlite3TableLock(pParse, iDbSrc, pSrc->tnum, 0, pSrc->zName);
102753102753
}
102754102754
for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){
102755
- u8 useSeekResult = 0;
102755
+ u8 idxInsFlags = 0;
102756102756
for(pSrcIdx=pSrc->pIndex; ALWAYS(pSrcIdx); pSrcIdx=pSrcIdx->pNext){
102757102757
if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break;
102758102758
}
102759102759
assert( pSrcIdx );
102760102760
sqlite3VdbeAddOp3(v, OP_OpenRead, iSrc, pSrcIdx->tnum, iDbSrc);
@@ -102785,16 +102785,19 @@
102785102785
char *zColl = pSrcIdx->azColl[i];
102786102786
assert( zColl!=0 );
102787102787
if( sqlite3_stricmp("BINARY", zColl) ) break;
102788102788
}
102789102789
if( i==pSrcIdx->nColumn ){
102790
- useSeekResult = OPFLAG_USESEEKRESULT;
102790
+ idxInsFlags = OPFLAG_USESEEKRESULT;
102791102791
sqlite3VdbeAddOp3(v, OP_Last, iDest, 0, -1);
102792102792
}
102793
+ }
102794
+ if( !HasRowid(pSrc) && pDestIdx->idxType==2 ){
102795
+ idxInsFlags |= OPFLAG_NCHANGE;
102793102796
}
102794102797
sqlite3VdbeAddOp3(v, OP_IdxInsert, iDest, regData, 1);
102795
- sqlite3VdbeChangeP5(v, useSeekResult);
102798
+ sqlite3VdbeChangeP5(v, idxInsFlags);
102796102799
sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1+1); VdbeCoverage(v);
102797102800
sqlite3VdbeJumpHere(v, addr1);
102798102801
sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0);
102799102802
sqlite3VdbeAddOp2(v, OP_Close, iDest, 0);
102800102803
}
@@ -105464,10 +105467,11 @@
105464105467
returnSingleInt(pParse, "cache_size", pDb->pSchema->cache_size);
105465105468
}else{
105466105469
int size = sqlite3Atoi(zRight);
105467105470
pDb->pSchema->cache_size = size;
105468105471
sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size);
105472
+ if( sqlite3ReadSchema(pParse) ) goto pragma_out;
105469105473
}
105470105474
break;
105471105475
}
105472105476
105473105477
/*
105474105478
--- 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.11. 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.
@@ -323,13 +323,13 @@
323 **
324 ** See also: [sqlite3_libversion()],
325 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
326 ** [sqlite_version()] and [sqlite_source_id()].
327 */
328 #define SQLITE_VERSION "3.8.11"
329 #define SQLITE_VERSION_NUMBER 3008011
330 #define SQLITE_SOURCE_ID "2015-07-27 13:49:41 b8e92227a469de677a66da62e4361f099c0b79d0"
331
332 /*
333 ** CAPI3REF: Run-Time Library Version Numbers
334 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
335 **
@@ -4747,13 +4747,13 @@
4747 ** ^The sqlite3_result_blob() interface sets the result from
4748 ** an application-defined function to be the BLOB whose content is pointed
4749 ** to by the second parameter and which is N bytes long where N is the
4750 ** third parameter.
4751 **
4752 ** ^The sqlite3_result_zeroblob() and zeroblob64() interfaces set the result
4753 ** of the application-defined function to be a BLOB containing all zero
4754 ** bytes and N bytes in size, where N is the value of the 2nd parameter.
4755 **
4756 ** ^The sqlite3_result_double() interface sets the result from
4757 ** an application-defined function to be a floating point value specified
4758 ** by its 2nd argument.
4759 **
@@ -102750,11 +102750,11 @@
102750 }else{
102751 sqlite3TableLock(pParse, iDbDest, pDest->tnum, 1, pDest->zName);
102752 sqlite3TableLock(pParse, iDbSrc, pSrc->tnum, 0, pSrc->zName);
102753 }
102754 for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){
102755 u8 useSeekResult = 0;
102756 for(pSrcIdx=pSrc->pIndex; ALWAYS(pSrcIdx); pSrcIdx=pSrcIdx->pNext){
102757 if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break;
102758 }
102759 assert( pSrcIdx );
102760 sqlite3VdbeAddOp3(v, OP_OpenRead, iSrc, pSrcIdx->tnum, iDbSrc);
@@ -102785,16 +102785,19 @@
102785 char *zColl = pSrcIdx->azColl[i];
102786 assert( zColl!=0 );
102787 if( sqlite3_stricmp("BINARY", zColl) ) break;
102788 }
102789 if( i==pSrcIdx->nColumn ){
102790 useSeekResult = OPFLAG_USESEEKRESULT;
102791 sqlite3VdbeAddOp3(v, OP_Last, iDest, 0, -1);
102792 }
 
 
 
102793 }
102794 sqlite3VdbeAddOp3(v, OP_IdxInsert, iDest, regData, 1);
102795 sqlite3VdbeChangeP5(v, useSeekResult);
102796 sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1+1); VdbeCoverage(v);
102797 sqlite3VdbeJumpHere(v, addr1);
102798 sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0);
102799 sqlite3VdbeAddOp2(v, OP_Close, iDest, 0);
102800 }
@@ -105464,10 +105467,11 @@
105464 returnSingleInt(pParse, "cache_size", pDb->pSchema->cache_size);
105465 }else{
105466 int size = sqlite3Atoi(zRight);
105467 pDb->pSchema->cache_size = size;
105468 sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size);
 
105469 }
105470 break;
105471 }
105472
105473 /*
105474
--- 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.11.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.
@@ -323,13 +323,13 @@
323 **
324 ** See also: [sqlite3_libversion()],
325 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
326 ** [sqlite_version()] and [sqlite_source_id()].
327 */
328 #define SQLITE_VERSION "3.8.11.1"
329 #define SQLITE_VERSION_NUMBER 3008011
330 #define SQLITE_SOURCE_ID "2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f"
331
332 /*
333 ** CAPI3REF: Run-Time Library Version Numbers
334 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
335 **
@@ -4747,13 +4747,13 @@
4747 ** ^The sqlite3_result_blob() interface sets the result from
4748 ** an application-defined function to be the BLOB whose content is pointed
4749 ** to by the second parameter and which is N bytes long where N is the
4750 ** third parameter.
4751 **
4752 ** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N)
4753 ** interfaces set the result of the application-defined function to be
4754 ** a BLOB containing all zero bytes and N bytes in size.
4755 **
4756 ** ^The sqlite3_result_double() interface sets the result from
4757 ** an application-defined function to be a floating point value specified
4758 ** by its 2nd argument.
4759 **
@@ -102750,11 +102750,11 @@
102750 }else{
102751 sqlite3TableLock(pParse, iDbDest, pDest->tnum, 1, pDest->zName);
102752 sqlite3TableLock(pParse, iDbSrc, pSrc->tnum, 0, pSrc->zName);
102753 }
102754 for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){
102755 u8 idxInsFlags = 0;
102756 for(pSrcIdx=pSrc->pIndex; ALWAYS(pSrcIdx); pSrcIdx=pSrcIdx->pNext){
102757 if( xferCompatibleIndex(pDestIdx, pSrcIdx) ) break;
102758 }
102759 assert( pSrcIdx );
102760 sqlite3VdbeAddOp3(v, OP_OpenRead, iSrc, pSrcIdx->tnum, iDbSrc);
@@ -102785,16 +102785,19 @@
102785 char *zColl = pSrcIdx->azColl[i];
102786 assert( zColl!=0 );
102787 if( sqlite3_stricmp("BINARY", zColl) ) break;
102788 }
102789 if( i==pSrcIdx->nColumn ){
102790 idxInsFlags = OPFLAG_USESEEKRESULT;
102791 sqlite3VdbeAddOp3(v, OP_Last, iDest, 0, -1);
102792 }
102793 }
102794 if( !HasRowid(pSrc) && pDestIdx->idxType==2 ){
102795 idxInsFlags |= OPFLAG_NCHANGE;
102796 }
102797 sqlite3VdbeAddOp3(v, OP_IdxInsert, iDest, regData, 1);
102798 sqlite3VdbeChangeP5(v, idxInsFlags);
102799 sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1+1); VdbeCoverage(v);
102800 sqlite3VdbeJumpHere(v, addr1);
102801 sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0);
102802 sqlite3VdbeAddOp2(v, OP_Close, iDest, 0);
102803 }
@@ -105464,10 +105467,11 @@
105467 returnSingleInt(pParse, "cache_size", pDb->pSchema->cache_size);
105468 }else{
105469 int size = sqlite3Atoi(zRight);
105470 pDb->pSchema->cache_size = size;
105471 sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size);
105472 if( sqlite3ReadSchema(pParse) ) goto pragma_out;
105473 }
105474 break;
105475 }
105476
105477 /*
105478
+5 -5
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -109,13 +109,13 @@
109109
**
110110
** See also: [sqlite3_libversion()],
111111
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
112112
** [sqlite_version()] and [sqlite_source_id()].
113113
*/
114
-#define SQLITE_VERSION "3.8.11"
114
+#define SQLITE_VERSION "3.8.11.1"
115115
#define SQLITE_VERSION_NUMBER 3008011
116
-#define SQLITE_SOURCE_ID "2015-07-27 13:49:41 b8e92227a469de677a66da62e4361f099c0b79d0"
116
+#define SQLITE_SOURCE_ID "2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f"
117117
118118
/*
119119
** CAPI3REF: Run-Time Library Version Numbers
120120
** KEYWORDS: sqlite3_version, sqlite3_sourceid
121121
**
@@ -4533,13 +4533,13 @@
45334533
** ^The sqlite3_result_blob() interface sets the result from
45344534
** an application-defined function to be the BLOB whose content is pointed
45354535
** to by the second parameter and which is N bytes long where N is the
45364536
** third parameter.
45374537
**
4538
-** ^The sqlite3_result_zeroblob() and zeroblob64() interfaces set the result
4539
-** of the application-defined function to be a BLOB containing all zero
4540
-** bytes and N bytes in size, where N is the value of the 2nd parameter.
4538
+** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N)
4539
+** interfaces set the result of the application-defined function to be
4540
+** a BLOB containing all zero bytes and N bytes in size.
45414541
**
45424542
** ^The sqlite3_result_double() interface sets the result from
45434543
** an application-defined function to be a floating point value specified
45444544
** by its 2nd argument.
45454545
**
45464546
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -109,13 +109,13 @@
109 **
110 ** See also: [sqlite3_libversion()],
111 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
112 ** [sqlite_version()] and [sqlite_source_id()].
113 */
114 #define SQLITE_VERSION "3.8.11"
115 #define SQLITE_VERSION_NUMBER 3008011
116 #define SQLITE_SOURCE_ID "2015-07-27 13:49:41 b8e92227a469de677a66da62e4361f099c0b79d0"
117
118 /*
119 ** CAPI3REF: Run-Time Library Version Numbers
120 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
121 **
@@ -4533,13 +4533,13 @@
4533 ** ^The sqlite3_result_blob() interface sets the result from
4534 ** an application-defined function to be the BLOB whose content is pointed
4535 ** to by the second parameter and which is N bytes long where N is the
4536 ** third parameter.
4537 **
4538 ** ^The sqlite3_result_zeroblob() and zeroblob64() interfaces set the result
4539 ** of the application-defined function to be a BLOB containing all zero
4540 ** bytes and N bytes in size, where N is the value of the 2nd parameter.
4541 **
4542 ** ^The sqlite3_result_double() interface sets the result from
4543 ** an application-defined function to be a floating point value specified
4544 ** by its 2nd argument.
4545 **
4546
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -109,13 +109,13 @@
109 **
110 ** See also: [sqlite3_libversion()],
111 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
112 ** [sqlite_version()] and [sqlite_source_id()].
113 */
114 #define SQLITE_VERSION "3.8.11.1"
115 #define SQLITE_VERSION_NUMBER 3008011
116 #define SQLITE_SOURCE_ID "2015-07-29 20:00:57 cf538e2783e468bbc25e7cb2a9ee64d3e0e80b2f"
117
118 /*
119 ** CAPI3REF: Run-Time Library Version Numbers
120 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
121 **
@@ -4533,13 +4533,13 @@
4533 ** ^The sqlite3_result_blob() interface sets the result from
4534 ** an application-defined function to be the BLOB whose content is pointed
4535 ** to by the second parameter and which is N bytes long where N is the
4536 ** third parameter.
4537 **
4538 ** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N)
4539 ** interfaces set the result of the application-defined function to be
4540 ** a BLOB containing all zero bytes and N bytes in size.
4541 **
4542 ** ^The sqlite3_result_double() interface sets the result from
4543 ** an application-defined function to be a floating point value specified
4544 ** by its 2nd argument.
4545 **
4546

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button