Fossil SCM

Update the built-in SQLite to the first 3.8.8 release candidate.

drh 2015-01-13 00:27 trunk
Commit 51b476a0b9040ecd512cb8641f43f2241341e905
--- src/shell.c
+++ src/shell.c
@@ -15,10 +15,17 @@
1515
#if (defined(_WIN32) || defined(WIN32)) && !defined(_CRT_SECURE_NO_WARNINGS)
1616
/* This needs to come before any includes for MSVC compiler */
1717
#define _CRT_SECURE_NO_WARNINGS
1818
#endif
1919
20
+/*
21
+** If requested, include the SQLite compiler options file for MSVC.
22
+*/
23
+#if defined(INCLUDE_MSVC_H)
24
+#include "msvc.h"
25
+#endif
26
+
2027
/*
2128
** Enable large-file support for fopen() and friends on unix.
2229
*/
2330
#ifndef SQLITE_DISABLE_LFS
2431
# define _LARGE_FILE 1
2532
--- src/shell.c
+++ src/shell.c
@@ -15,10 +15,17 @@
15 #if (defined(_WIN32) || defined(WIN32)) && !defined(_CRT_SECURE_NO_WARNINGS)
16 /* This needs to come before any includes for MSVC compiler */
17 #define _CRT_SECURE_NO_WARNINGS
18 #endif
19
 
 
 
 
 
 
 
20 /*
21 ** Enable large-file support for fopen() and friends on unix.
22 */
23 #ifndef SQLITE_DISABLE_LFS
24 # define _LARGE_FILE 1
25
--- src/shell.c
+++ src/shell.c
@@ -15,10 +15,17 @@
15 #if (defined(_WIN32) || defined(WIN32)) && !defined(_CRT_SECURE_NO_WARNINGS)
16 /* This needs to come before any includes for MSVC compiler */
17 #define _CRT_SECURE_NO_WARNINGS
18 #endif
19
20 /*
21 ** If requested, include the SQLite compiler options file for MSVC.
22 */
23 #if defined(INCLUDE_MSVC_H)
24 #include "msvc.h"
25 #endif
26
27 /*
28 ** Enable large-file support for fopen() and friends on unix.
29 */
30 #ifndef SQLITE_DISABLE_LFS
31 # define _LARGE_FILE 1
32
+63 -13
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -41,10 +41,57 @@
4141
**
4242
*/
4343
#ifndef _SQLITEINT_H_
4444
#define _SQLITEINT_H_
4545
46
+/*
47
+** Include the header file used to customize the compiler options for MSVC.
48
+** This should be done first so that it can successfully prevent spurious
49
+** compiler warnings due to subsequent content in this file and other files
50
+** that are included by this file.
51
+*/
52
+/************** Include msvc.h in the middle of sqliteInt.h ******************/
53
+/************** Begin file msvc.h ********************************************/
54
+/*
55
+** 2015 January 12
56
+**
57
+** The author disclaims copyright to this source code. In place of
58
+** a legal notice, here is a blessing:
59
+**
60
+** May you do good and not evil.
61
+** May you find forgiveness for yourself and forgive others.
62
+** May you share freely, never taking more than you give.
63
+**
64
+******************************************************************************
65
+**
66
+** This file contains code that is specific to MSVC.
67
+*/
68
+#ifndef _MSVC_H_
69
+#define _MSVC_H_
70
+
71
+#if defined(_MSC_VER)
72
+#pragma warning(disable : 4054)
73
+#pragma warning(disable : 4055)
74
+#pragma warning(disable : 4100)
75
+#pragma warning(disable : 4127)
76
+#pragma warning(disable : 4152)
77
+#pragma warning(disable : 4189)
78
+#pragma warning(disable : 4206)
79
+#pragma warning(disable : 4210)
80
+#pragma warning(disable : 4232)
81
+#pragma warning(disable : 4244)
82
+#pragma warning(disable : 4305)
83
+#pragma warning(disable : 4306)
84
+#pragma warning(disable : 4702)
85
+#pragma warning(disable : 4706)
86
+#endif /* defined(_MSC_VER) */
87
+
88
+#endif /* _MSVC_H_ */
89
+
90
+/************** End of msvc.h ************************************************/
91
+/************** Continuing where we left off in sqliteInt.h ******************/
92
+
4693
/*
4794
** These #defines should enable >2GB file support on POSIX if the
4895
** underlying operating system supports it. If the OS lacks
4996
** large file support, or if the OS is windows, these should be no-ops.
5097
**
@@ -231,11 +278,11 @@
231278
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
232279
** [sqlite_version()] and [sqlite_source_id()].
233280
*/
234281
#define SQLITE_VERSION "3.8.8"
235282
#define SQLITE_VERSION_NUMBER 3008008
236
-#define SQLITE_SOURCE_ID "2015-01-10 18:22:06 46f3aba2692d74c29ab5c1f24a6daac600fd6af8"
283
+#define SQLITE_SOURCE_ID "2015-01-12 21:43:00 e693e11d1b9265974c32bddba873ea30a4d0b708"
237284
238285
/*
239286
** CAPI3REF: Run-Time Library Version Numbers
240287
** KEYWORDS: sqlite3_version, sqlite3_sourceid
241288
**
@@ -73895,12 +73942,12 @@
7389573942
pIdxKey->default_rc = 0;
7389673943
if( pOp->opcode==OP_NoConflict ){
7389773944
/* For the OP_NoConflict opcode, take the jump if any of the
7389873945
** input fields are NULL, since any key with a NULL will not
7389973946
** conflict */
73900
- for(ii=0; ii<r.nField; ii++){
73901
- if( r.aMem[ii].flags & MEM_Null ){
73947
+ for(ii=0; ii<pIdxKey->nField; ii++){
73948
+ if( pIdxKey->aMem[ii].flags & MEM_Null ){
7390273949
pc = pOp->p2 - 1; VdbeBranchTaken(1,2);
7390373950
break;
7390473951
}
7390573952
}
7390673953
}
@@ -79454,10 +79501,11 @@
7945479501
rc = vdbePmaReaderNext(pSorter->pReader);
7945579502
*pbEof = (pSorter->pReader->pFd==0);
7945679503
}else
7945779504
#endif
7945879505
/*if( !pSorter->bUseThreads )*/ {
79506
+ assert( pSorter->pMerger!=0 );
7945979507
assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) );
7946079508
rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof);
7946179509
}
7946279510
}else{
7946379511
SorterRecord *pFree = pSorter->list.pList;
@@ -94655,12 +94703,12 @@
9465594703
const char *zDb; /* Name of database holding pTab */
9465694704
int i; /* Loop counter */
9465794705
WhereInfo *pWInfo; /* Information about the WHERE clause */
9465894706
Index *pIdx; /* For looping over indices of the table */
9465994707
int iTabCur; /* Cursor number for the table */
94660
- int iDataCur; /* VDBE cursor for the canonical data source */
94661
- int iIdxCur; /* Cursor number of the first index */
94708
+ int iDataCur = 0; /* VDBE cursor for the canonical data source */
94709
+ int iIdxCur = 0; /* Cursor number of the first index */
9466294710
int nIdx; /* Number of indices */
9466394711
sqlite3 *db; /* Main database structure */
9466494712
AuthContext sContext; /* Authorization context */
9466594713
NameContext sNC; /* Name context to resolve expressions in */
9466694714
int iDb; /* Database number */
@@ -102649,11 +102697,11 @@
102649102697
char *zRight = 0; /* Nul-terminated UTF-8 string <value>, or NULL */
102650102698
const char *zDb = 0; /* The database name */
102651102699
Token *pId; /* Pointer to <id> token */
102652102700
char *aFcntl[4]; /* Argument to SQLITE_FCNTL_PRAGMA */
102653102701
int iDb; /* Database index for <database> */
102654
- int lwr, upr, mid; /* Binary search bounds */
102702
+ int lwr, upr, mid = 0; /* Binary search bounds */
102655102703
int rc; /* return value form SQLITE_FCNTL_PRAGMA */
102656102704
sqlite3 *db = pParse->db; /* The database connection */
102657102705
Db *pDb; /* The specific database being pragmaed */
102658102706
Vdbe *v = sqlite3GetVdbe(pParse); /* Prepared statement */
102659102707
@@ -129454,11 +129502,11 @@
129454129502
){
129455129503
int rc;
129456129504
char *zErrMsg = 0;
129457129505
Table *pTab = 0;
129458129506
Column *pCol = 0;
129459
- int iCol;
129507
+ int iCol = 0;
129460129508
129461129509
char const *zDataType = 0;
129462129510
char const *zCollSeq = 0;
129463129511
int notnull = 0;
129464129512
int primarykey = 0;
@@ -133077,11 +133125,11 @@
133077133125
const char *zNode, /* Buffer containing segment interior node */
133078133126
int nNode, /* Size of buffer at zNode */
133079133127
sqlite3_int64 *piLeaf, /* Selected leaf node */
133080133128
sqlite3_int64 *piLeaf2 /* Selected leaf node */
133081133129
){
133082
- int rc; /* Return code */
133130
+ int rc = SQLITE_OK; /* Return code */
133083133131
int iHeight; /* Height of this node in tree */
133084133132
133085133133
assert( piLeaf || piLeaf2 );
133086133134
133087133135
fts3GetVarint32(zNode, &iHeight);
@@ -133088,11 +133136,11 @@
133088133136
rc = fts3ScanInteriorNode(zTerm, nTerm, zNode, nNode, piLeaf, piLeaf2);
133089133137
assert( !piLeaf2 || !piLeaf || rc!=SQLITE_OK || (*piLeaf<=*piLeaf2) );
133090133138
133091133139
if( rc==SQLITE_OK && iHeight>1 ){
133092133140
char *zBlob = 0; /* Blob read from %_segments table */
133093
- int nBlob; /* Size of zBlob in bytes */
133141
+ int nBlob = 0; /* Size of zBlob in bytes */
133094133142
133095133143
if( piLeaf && piLeaf2 && (*piLeaf!=*piLeaf2) ){
133096133144
rc = sqlite3Fts3ReadBlock(p, *piLeaf, &zBlob, &nBlob, 0);
133097133145
if( rc==SQLITE_OK ){
133098133146
rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, 0);
@@ -134310,11 +134358,11 @@
134310134358
int idxNum, /* Strategy index */
134311134359
const char *idxStr, /* Unused */
134312134360
int nVal, /* Number of elements in apVal */
134313134361
sqlite3_value **apVal /* Arguments for the indexing scheme */
134314134362
){
134315
- int rc;
134363
+ int rc = SQLITE_OK;
134316134364
char *zSql; /* SQL statement used to access %_content */
134317134365
int eSearch;
134318134366
Fts3Table *p = (Fts3Table *)pCursor->pVtab;
134319134367
Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
134320134368
@@ -140798,11 +140846,11 @@
140798140846
int argc, /* Number of elements in argv array */
140799140847
const char * const *argv, /* xCreate/xConnect argument array */
140800140848
sqlite3_vtab **ppVtab, /* OUT: New sqlite3_vtab object */
140801140849
char **pzErr /* OUT: sqlite3_malloc'd error message */
140802140850
){
140803
- Fts3tokTable *pTab;
140851
+ Fts3tokTable *pTab = 0;
140804140852
const sqlite3_tokenizer_module *pMod = 0;
140805140853
sqlite3_tokenizer *pTok = 0;
140806140854
int rc;
140807140855
char **azDequote = 0;
140808140856
int nDequote;
@@ -144173,12 +144221,12 @@
144173144221
}
144174144222
rc = sqlite3_reset(pRange);
144175144223
144176144224
if( bOk ){
144177144225
int iIdx = 0;
144178
- sqlite3_stmt *pUpdate1;
144179
- sqlite3_stmt *pUpdate2;
144226
+ sqlite3_stmt *pUpdate1 = 0;
144227
+ sqlite3_stmt *pUpdate2 = 0;
144180144228
144181144229
if( rc==SQLITE_OK ){
144182144230
rc = fts3SqlStmt(p, SQL_UPDATE_LEVEL_IDX, &pUpdate1, 0);
144183144231
}
144184144232
if( rc==SQLITE_OK ){
@@ -151842,10 +151890,12 @@
151842151890
RtreeCell cell; /* New cell to insert if nData>1 */
151843151891
int bHaveRowid = 0; /* Set to 1 after new rowid is determined */
151844151892
151845151893
rtreeReference(pRtree);
151846151894
assert(nData>=1);
151895
+
151896
+ cell.iRowid = 0; /* Used only to suppress a compiler warning */
151847151897
151848151898
/* Constraint handling. A write operation on an r-tree table may return
151849151899
** SQLITE_CONSTRAINT for two reasons:
151850151900
**
151851151901
** 1. A duplicate rowid value, or
151852151902
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -41,10 +41,57 @@
41 **
42 */
43 #ifndef _SQLITEINT_H_
44 #define _SQLITEINT_H_
45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46 /*
47 ** These #defines should enable >2GB file support on POSIX if the
48 ** underlying operating system supports it. If the OS lacks
49 ** large file support, or if the OS is windows, these should be no-ops.
50 **
@@ -231,11 +278,11 @@
231 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
232 ** [sqlite_version()] and [sqlite_source_id()].
233 */
234 #define SQLITE_VERSION "3.8.8"
235 #define SQLITE_VERSION_NUMBER 3008008
236 #define SQLITE_SOURCE_ID "2015-01-10 18:22:06 46f3aba2692d74c29ab5c1f24a6daac600fd6af8"
237
238 /*
239 ** CAPI3REF: Run-Time Library Version Numbers
240 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
241 **
@@ -73895,12 +73942,12 @@
73895 pIdxKey->default_rc = 0;
73896 if( pOp->opcode==OP_NoConflict ){
73897 /* For the OP_NoConflict opcode, take the jump if any of the
73898 ** input fields are NULL, since any key with a NULL will not
73899 ** conflict */
73900 for(ii=0; ii<r.nField; ii++){
73901 if( r.aMem[ii].flags & MEM_Null ){
73902 pc = pOp->p2 - 1; VdbeBranchTaken(1,2);
73903 break;
73904 }
73905 }
73906 }
@@ -79454,10 +79501,11 @@
79454 rc = vdbePmaReaderNext(pSorter->pReader);
79455 *pbEof = (pSorter->pReader->pFd==0);
79456 }else
79457 #endif
79458 /*if( !pSorter->bUseThreads )*/ {
 
79459 assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) );
79460 rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof);
79461 }
79462 }else{
79463 SorterRecord *pFree = pSorter->list.pList;
@@ -94655,12 +94703,12 @@
94655 const char *zDb; /* Name of database holding pTab */
94656 int i; /* Loop counter */
94657 WhereInfo *pWInfo; /* Information about the WHERE clause */
94658 Index *pIdx; /* For looping over indices of the table */
94659 int iTabCur; /* Cursor number for the table */
94660 int iDataCur; /* VDBE cursor for the canonical data source */
94661 int iIdxCur; /* Cursor number of the first index */
94662 int nIdx; /* Number of indices */
94663 sqlite3 *db; /* Main database structure */
94664 AuthContext sContext; /* Authorization context */
94665 NameContext sNC; /* Name context to resolve expressions in */
94666 int iDb; /* Database number */
@@ -102649,11 +102697,11 @@
102649 char *zRight = 0; /* Nul-terminated UTF-8 string <value>, or NULL */
102650 const char *zDb = 0; /* The database name */
102651 Token *pId; /* Pointer to <id> token */
102652 char *aFcntl[4]; /* Argument to SQLITE_FCNTL_PRAGMA */
102653 int iDb; /* Database index for <database> */
102654 int lwr, upr, mid; /* Binary search bounds */
102655 int rc; /* return value form SQLITE_FCNTL_PRAGMA */
102656 sqlite3 *db = pParse->db; /* The database connection */
102657 Db *pDb; /* The specific database being pragmaed */
102658 Vdbe *v = sqlite3GetVdbe(pParse); /* Prepared statement */
102659
@@ -129454,11 +129502,11 @@
129454 ){
129455 int rc;
129456 char *zErrMsg = 0;
129457 Table *pTab = 0;
129458 Column *pCol = 0;
129459 int iCol;
129460
129461 char const *zDataType = 0;
129462 char const *zCollSeq = 0;
129463 int notnull = 0;
129464 int primarykey = 0;
@@ -133077,11 +133125,11 @@
133077 const char *zNode, /* Buffer containing segment interior node */
133078 int nNode, /* Size of buffer at zNode */
133079 sqlite3_int64 *piLeaf, /* Selected leaf node */
133080 sqlite3_int64 *piLeaf2 /* Selected leaf node */
133081 ){
133082 int rc; /* Return code */
133083 int iHeight; /* Height of this node in tree */
133084
133085 assert( piLeaf || piLeaf2 );
133086
133087 fts3GetVarint32(zNode, &iHeight);
@@ -133088,11 +133136,11 @@
133088 rc = fts3ScanInteriorNode(zTerm, nTerm, zNode, nNode, piLeaf, piLeaf2);
133089 assert( !piLeaf2 || !piLeaf || rc!=SQLITE_OK || (*piLeaf<=*piLeaf2) );
133090
133091 if( rc==SQLITE_OK && iHeight>1 ){
133092 char *zBlob = 0; /* Blob read from %_segments table */
133093 int nBlob; /* Size of zBlob in bytes */
133094
133095 if( piLeaf && piLeaf2 && (*piLeaf!=*piLeaf2) ){
133096 rc = sqlite3Fts3ReadBlock(p, *piLeaf, &zBlob, &nBlob, 0);
133097 if( rc==SQLITE_OK ){
133098 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, 0);
@@ -134310,11 +134358,11 @@
134310 int idxNum, /* Strategy index */
134311 const char *idxStr, /* Unused */
134312 int nVal, /* Number of elements in apVal */
134313 sqlite3_value **apVal /* Arguments for the indexing scheme */
134314 ){
134315 int rc;
134316 char *zSql; /* SQL statement used to access %_content */
134317 int eSearch;
134318 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
134319 Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
134320
@@ -140798,11 +140846,11 @@
140798 int argc, /* Number of elements in argv array */
140799 const char * const *argv, /* xCreate/xConnect argument array */
140800 sqlite3_vtab **ppVtab, /* OUT: New sqlite3_vtab object */
140801 char **pzErr /* OUT: sqlite3_malloc'd error message */
140802 ){
140803 Fts3tokTable *pTab;
140804 const sqlite3_tokenizer_module *pMod = 0;
140805 sqlite3_tokenizer *pTok = 0;
140806 int rc;
140807 char **azDequote = 0;
140808 int nDequote;
@@ -144173,12 +144221,12 @@
144173 }
144174 rc = sqlite3_reset(pRange);
144175
144176 if( bOk ){
144177 int iIdx = 0;
144178 sqlite3_stmt *pUpdate1;
144179 sqlite3_stmt *pUpdate2;
144180
144181 if( rc==SQLITE_OK ){
144182 rc = fts3SqlStmt(p, SQL_UPDATE_LEVEL_IDX, &pUpdate1, 0);
144183 }
144184 if( rc==SQLITE_OK ){
@@ -151842,10 +151890,12 @@
151842 RtreeCell cell; /* New cell to insert if nData>1 */
151843 int bHaveRowid = 0; /* Set to 1 after new rowid is determined */
151844
151845 rtreeReference(pRtree);
151846 assert(nData>=1);
 
 
151847
151848 /* Constraint handling. A write operation on an r-tree table may return
151849 ** SQLITE_CONSTRAINT for two reasons:
151850 **
151851 ** 1. A duplicate rowid value, or
151852
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -41,10 +41,57 @@
41 **
42 */
43 #ifndef _SQLITEINT_H_
44 #define _SQLITEINT_H_
45
46 /*
47 ** Include the header file used to customize the compiler options for MSVC.
48 ** This should be done first so that it can successfully prevent spurious
49 ** compiler warnings due to subsequent content in this file and other files
50 ** that are included by this file.
51 */
52 /************** Include msvc.h in the middle of sqliteInt.h ******************/
53 /************** Begin file msvc.h ********************************************/
54 /*
55 ** 2015 January 12
56 **
57 ** The author disclaims copyright to this source code. In place of
58 ** a legal notice, here is a blessing:
59 **
60 ** May you do good and not evil.
61 ** May you find forgiveness for yourself and forgive others.
62 ** May you share freely, never taking more than you give.
63 **
64 ******************************************************************************
65 **
66 ** This file contains code that is specific to MSVC.
67 */
68 #ifndef _MSVC_H_
69 #define _MSVC_H_
70
71 #if defined(_MSC_VER)
72 #pragma warning(disable : 4054)
73 #pragma warning(disable : 4055)
74 #pragma warning(disable : 4100)
75 #pragma warning(disable : 4127)
76 #pragma warning(disable : 4152)
77 #pragma warning(disable : 4189)
78 #pragma warning(disable : 4206)
79 #pragma warning(disable : 4210)
80 #pragma warning(disable : 4232)
81 #pragma warning(disable : 4244)
82 #pragma warning(disable : 4305)
83 #pragma warning(disable : 4306)
84 #pragma warning(disable : 4702)
85 #pragma warning(disable : 4706)
86 #endif /* defined(_MSC_VER) */
87
88 #endif /* _MSVC_H_ */
89
90 /************** End of msvc.h ************************************************/
91 /************** Continuing where we left off in sqliteInt.h ******************/
92
93 /*
94 ** These #defines should enable >2GB file support on POSIX if the
95 ** underlying operating system supports it. If the OS lacks
96 ** large file support, or if the OS is windows, these should be no-ops.
97 **
@@ -231,11 +278,11 @@
278 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
279 ** [sqlite_version()] and [sqlite_source_id()].
280 */
281 #define SQLITE_VERSION "3.8.8"
282 #define SQLITE_VERSION_NUMBER 3008008
283 #define SQLITE_SOURCE_ID "2015-01-12 21:43:00 e693e11d1b9265974c32bddba873ea30a4d0b708"
284
285 /*
286 ** CAPI3REF: Run-Time Library Version Numbers
287 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
288 **
@@ -73895,12 +73942,12 @@
73942 pIdxKey->default_rc = 0;
73943 if( pOp->opcode==OP_NoConflict ){
73944 /* For the OP_NoConflict opcode, take the jump if any of the
73945 ** input fields are NULL, since any key with a NULL will not
73946 ** conflict */
73947 for(ii=0; ii<pIdxKey->nField; ii++){
73948 if( pIdxKey->aMem[ii].flags & MEM_Null ){
73949 pc = pOp->p2 - 1; VdbeBranchTaken(1,2);
73950 break;
73951 }
73952 }
73953 }
@@ -79454,10 +79501,11 @@
79501 rc = vdbePmaReaderNext(pSorter->pReader);
79502 *pbEof = (pSorter->pReader->pFd==0);
79503 }else
79504 #endif
79505 /*if( !pSorter->bUseThreads )*/ {
79506 assert( pSorter->pMerger!=0 );
79507 assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) );
79508 rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof);
79509 }
79510 }else{
79511 SorterRecord *pFree = pSorter->list.pList;
@@ -94655,12 +94703,12 @@
94703 const char *zDb; /* Name of database holding pTab */
94704 int i; /* Loop counter */
94705 WhereInfo *pWInfo; /* Information about the WHERE clause */
94706 Index *pIdx; /* For looping over indices of the table */
94707 int iTabCur; /* Cursor number for the table */
94708 int iDataCur = 0; /* VDBE cursor for the canonical data source */
94709 int iIdxCur = 0; /* Cursor number of the first index */
94710 int nIdx; /* Number of indices */
94711 sqlite3 *db; /* Main database structure */
94712 AuthContext sContext; /* Authorization context */
94713 NameContext sNC; /* Name context to resolve expressions in */
94714 int iDb; /* Database number */
@@ -102649,11 +102697,11 @@
102697 char *zRight = 0; /* Nul-terminated UTF-8 string <value>, or NULL */
102698 const char *zDb = 0; /* The database name */
102699 Token *pId; /* Pointer to <id> token */
102700 char *aFcntl[4]; /* Argument to SQLITE_FCNTL_PRAGMA */
102701 int iDb; /* Database index for <database> */
102702 int lwr, upr, mid = 0; /* Binary search bounds */
102703 int rc; /* return value form SQLITE_FCNTL_PRAGMA */
102704 sqlite3 *db = pParse->db; /* The database connection */
102705 Db *pDb; /* The specific database being pragmaed */
102706 Vdbe *v = sqlite3GetVdbe(pParse); /* Prepared statement */
102707
@@ -129454,11 +129502,11 @@
129502 ){
129503 int rc;
129504 char *zErrMsg = 0;
129505 Table *pTab = 0;
129506 Column *pCol = 0;
129507 int iCol = 0;
129508
129509 char const *zDataType = 0;
129510 char const *zCollSeq = 0;
129511 int notnull = 0;
129512 int primarykey = 0;
@@ -133077,11 +133125,11 @@
133125 const char *zNode, /* Buffer containing segment interior node */
133126 int nNode, /* Size of buffer at zNode */
133127 sqlite3_int64 *piLeaf, /* Selected leaf node */
133128 sqlite3_int64 *piLeaf2 /* Selected leaf node */
133129 ){
133130 int rc = SQLITE_OK; /* Return code */
133131 int iHeight; /* Height of this node in tree */
133132
133133 assert( piLeaf || piLeaf2 );
133134
133135 fts3GetVarint32(zNode, &iHeight);
@@ -133088,11 +133136,11 @@
133136 rc = fts3ScanInteriorNode(zTerm, nTerm, zNode, nNode, piLeaf, piLeaf2);
133137 assert( !piLeaf2 || !piLeaf || rc!=SQLITE_OK || (*piLeaf<=*piLeaf2) );
133138
133139 if( rc==SQLITE_OK && iHeight>1 ){
133140 char *zBlob = 0; /* Blob read from %_segments table */
133141 int nBlob = 0; /* Size of zBlob in bytes */
133142
133143 if( piLeaf && piLeaf2 && (*piLeaf!=*piLeaf2) ){
133144 rc = sqlite3Fts3ReadBlock(p, *piLeaf, &zBlob, &nBlob, 0);
133145 if( rc==SQLITE_OK ){
133146 rc = fts3SelectLeaf(p, zTerm, nTerm, zBlob, nBlob, piLeaf, 0);
@@ -134310,11 +134358,11 @@
134358 int idxNum, /* Strategy index */
134359 const char *idxStr, /* Unused */
134360 int nVal, /* Number of elements in apVal */
134361 sqlite3_value **apVal /* Arguments for the indexing scheme */
134362 ){
134363 int rc = SQLITE_OK;
134364 char *zSql; /* SQL statement used to access %_content */
134365 int eSearch;
134366 Fts3Table *p = (Fts3Table *)pCursor->pVtab;
134367 Fts3Cursor *pCsr = (Fts3Cursor *)pCursor;
134368
@@ -140798,11 +140846,11 @@
140846 int argc, /* Number of elements in argv array */
140847 const char * const *argv, /* xCreate/xConnect argument array */
140848 sqlite3_vtab **ppVtab, /* OUT: New sqlite3_vtab object */
140849 char **pzErr /* OUT: sqlite3_malloc'd error message */
140850 ){
140851 Fts3tokTable *pTab = 0;
140852 const sqlite3_tokenizer_module *pMod = 0;
140853 sqlite3_tokenizer *pTok = 0;
140854 int rc;
140855 char **azDequote = 0;
140856 int nDequote;
@@ -144173,12 +144221,12 @@
144221 }
144222 rc = sqlite3_reset(pRange);
144223
144224 if( bOk ){
144225 int iIdx = 0;
144226 sqlite3_stmt *pUpdate1 = 0;
144227 sqlite3_stmt *pUpdate2 = 0;
144228
144229 if( rc==SQLITE_OK ){
144230 rc = fts3SqlStmt(p, SQL_UPDATE_LEVEL_IDX, &pUpdate1, 0);
144231 }
144232 if( rc==SQLITE_OK ){
@@ -151842,10 +151890,12 @@
151890 RtreeCell cell; /* New cell to insert if nData>1 */
151891 int bHaveRowid = 0; /* Set to 1 after new rowid is determined */
151892
151893 rtreeReference(pRtree);
151894 assert(nData>=1);
151895
151896 cell.iRowid = 0; /* Used only to suppress a compiler warning */
151897
151898 /* Constraint handling. A write operation on an r-tree table may return
151899 ** SQLITE_CONSTRAINT for two reasons:
151900 **
151901 ** 1. A duplicate rowid value, or
151902
+1 -1
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107107
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108108
** [sqlite_version()] and [sqlite_source_id()].
109109
*/
110110
#define SQLITE_VERSION "3.8.8"
111111
#define SQLITE_VERSION_NUMBER 3008008
112
-#define SQLITE_SOURCE_ID "2015-01-10 18:22:06 46f3aba2692d74c29ab5c1f24a6daac600fd6af8"
112
+#define SQLITE_SOURCE_ID "2015-01-12 21:43:00 e693e11d1b9265974c32bddba873ea30a4d0b708"
113113
114114
/*
115115
** CAPI3REF: Run-Time Library Version Numbers
116116
** KEYWORDS: sqlite3_version, sqlite3_sourceid
117117
**
118118
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.8.8"
111 #define SQLITE_VERSION_NUMBER 3008008
112 #define SQLITE_SOURCE_ID "2015-01-10 18:22:06 46f3aba2692d74c29ab5c1f24a6daac600fd6af8"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
118
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -107,11 +107,11 @@
107 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
108 ** [sqlite_version()] and [sqlite_source_id()].
109 */
110 #define SQLITE_VERSION "3.8.8"
111 #define SQLITE_VERSION_NUMBER 3008008
112 #define SQLITE_SOURCE_ID "2015-01-12 21:43:00 e693e11d1b9265974c32bddba873ea30a4d0b708"
113
114 /*
115 ** CAPI3REF: Run-Time Library Version Numbers
116 ** KEYWORDS: sqlite3_version, sqlite3_sourceid
117 **
118

Keyboard Shortcuts

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