Fossil SCM

Update the built-in SQLite to the 3.30.0 release version.

drh 2019-10-04 15:44 trunk
Commit fc19d369ab46fa74e798b19ea4181116e8f27856a4dc68c7221c2d09bda13106
3 files changed +1 -5 +71 -42 +1 -1
+1 -5
--- src/shell.c
+++ src/shell.c
@@ -16691,16 +16691,12 @@
1669116691
1669216692
/* .parameter clear
1669316693
** Clear all bind parameters by dropping the TEMP table that holds them.
1669416694
*/
1669516695
if( nArg==2 && strcmp(azArg[1],"clear")==0 ){
16696
- int wrSchema = 0;
16697
- sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, -1, &wrSchema);
16698
- sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, 1, 0);
1669916696
sqlite3_exec(p->db, "DROP TABLE IF EXISTS temp.sqlite_parameters;",
1670016697
0, 0, 0);
16701
- sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, wrSchema, 0);
1670216698
}else
1670316699
1670416700
/* .parameter list
1670516701
** List all bind parameters.
1670616702
*/
@@ -17966,11 +17962,11 @@
1796617962
sqlite3_trace_v2(p->db, mType, sql_trace_callback, p);
1796717963
}
1796817964
}else
1796917965
#endif /* !defined(SQLITE_OMIT_TRACE) */
1797017966
17971
-#ifdef SQLITE_DEBUG
17967
+#if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_VIRTUALTABLE)
1797217968
if( c=='u' && strncmp(azArg[0], "unmodule", n)==0 ){
1797317969
int ii;
1797417970
int lenOpt;
1797517971
char *zOpt;
1797617972
if( nArg<2 ){
1797717973
--- src/shell.c
+++ src/shell.c
@@ -16691,16 +16691,12 @@
16691
16692 /* .parameter clear
16693 ** Clear all bind parameters by dropping the TEMP table that holds them.
16694 */
16695 if( nArg==2 && strcmp(azArg[1],"clear")==0 ){
16696 int wrSchema = 0;
16697 sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, -1, &wrSchema);
16698 sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, 1, 0);
16699 sqlite3_exec(p->db, "DROP TABLE IF EXISTS temp.sqlite_parameters;",
16700 0, 0, 0);
16701 sqlite3_db_config(p->db, SQLITE_DBCONFIG_WRITABLE_SCHEMA, wrSchema, 0);
16702 }else
16703
16704 /* .parameter list
16705 ** List all bind parameters.
16706 */
@@ -17966,11 +17962,11 @@
17966 sqlite3_trace_v2(p->db, mType, sql_trace_callback, p);
17967 }
17968 }else
17969 #endif /* !defined(SQLITE_OMIT_TRACE) */
17970
17971 #ifdef SQLITE_DEBUG
17972 if( c=='u' && strncmp(azArg[0], "unmodule", n)==0 ){
17973 int ii;
17974 int lenOpt;
17975 char *zOpt;
17976 if( nArg<2 ){
17977
--- src/shell.c
+++ src/shell.c
@@ -16691,16 +16691,12 @@
16691
16692 /* .parameter clear
16693 ** Clear all bind parameters by dropping the TEMP table that holds them.
16694 */
16695 if( nArg==2 && strcmp(azArg[1],"clear")==0 ){
 
 
 
16696 sqlite3_exec(p->db, "DROP TABLE IF EXISTS temp.sqlite_parameters;",
16697 0, 0, 0);
 
16698 }else
16699
16700 /* .parameter list
16701 ** List all bind parameters.
16702 */
@@ -17966,11 +17962,11 @@
17962 sqlite3_trace_v2(p->db, mType, sql_trace_callback, p);
17963 }
17964 }else
17965 #endif /* !defined(SQLITE_OMIT_TRACE) */
17966
17967 #if defined(SQLITE_DEBUG) && !defined(SQLITE_OMIT_VIRTUALTABLE)
17968 if( c=='u' && strncmp(azArg[0], "unmodule", n)==0 ){
17969 int ii;
17970 int lenOpt;
17971 char *zOpt;
17972 if( nArg<2 ){
17973
+71 -42
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1165,11 +1165,11 @@
11651165
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
11661166
** [sqlite_version()] and [sqlite_source_id()].
11671167
*/
11681168
#define SQLITE_VERSION "3.30.0"
11691169
#define SQLITE_VERSION_NUMBER 3030000
1170
-#define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505"
1170
+#define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f"
11711171
11721172
/*
11731173
** CAPI3REF: Run-Time Library Version Numbers
11741174
** KEYWORDS: sqlite3_version sqlite3_sourceid
11751175
**
@@ -16171,10 +16171,11 @@
1617116171
#define sqlite3MutexInit() SQLITE_OK
1617216172
#define sqlite3MutexEnd()
1617316173
#define MUTEX_LOGIC(X)
1617416174
#else
1617516175
#define MUTEX_LOGIC(X) X
16176
+SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*);
1617616177
#endif /* defined(SQLITE_MUTEX_OMIT) */
1617716178
1617816179
/************** End of mutex.h ***********************************************/
1617916180
/************** Continuing where we left off in sqliteInt.h ******************/
1618016181
@@ -17174,12 +17175,15 @@
1717417175
sqlite3 *db; /* The database connection */
1717517176
u8 *aSortFlags; /* Sort order for each column. */
1717617177
CollSeq *aColl[1]; /* Collating sequence for each term of the key */
1717717178
};
1717817179
17179
-#define KEYINFO_ORDER_DESC 0x01
17180
-#define KEYINFO_ORDER_BIGNULL 0x02
17180
+/*
17181
+** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
17182
+*/
17183
+#define KEYINFO_ORDER_DESC 0x01 /* DESC sort order */
17184
+#define KEYINFO_ORDER_BIGNULL 0x02 /* NULL is larger than any other value */
1718117185
1718217186
/*
1718317187
** This object holds a record which has been parsed out into individual
1718417188
** fields, for the purposes of doing a comparison.
1718517189
**
@@ -17505,10 +17509,11 @@
1750517509
#endif
1750617510
int iTable; /* TK_COLUMN: cursor number of table holding column
1750717511
** TK_REGISTER: register number
1750817512
** TK_TRIGGER: 1 -> new, 0 -> old
1750917513
** EP_Unlikely: 134217728 times likelihood
17514
+ ** TK_IN: ephemerial table holding RHS
1751017515
** TK_SELECT_COLUMN: Number of columns on the LHS
1751117516
** TK_SELECT: 1st register of result vector */
1751217517
ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid.
1751317518
** TK_VARIABLE: variable number (always >= 1).
1751417519
** TK_SELECT_COLUMN: column of the result vector */
@@ -29226,13 +29231,14 @@
2922629231
break;
2922729232
}
2922829233
2922929234
case TK_COLLATE: {
2923029235
/* COLLATE operators without the EP_Collate flag are intended to
29231
- ** emulate collation associated with a table column. Explicit
29232
- ** COLLATE operators that appear in the original SQL always have
29233
- ** the EP_Collate bit set */
29236
+ ** emulate collation associated with a table column. These show
29237
+ ** up in the treeview output as "SOFT-COLLATE". Explicit COLLATE
29238
+ ** operators that appear in the original SQL always have the
29239
+ ** EP_Collate bit set and appear in treeview output as just "COLLATE" */
2923429240
sqlite3TreeViewLine(pView, "%sCOLLATE %Q%s",
2923529241
!ExprHasProperty(pExpr, EP_Collate) ? "SOFT-" : "",
2923629242
pExpr->u.zToken, zFlgs);
2923729243
sqlite3TreeViewExpr(pView, pExpr->pLeft, 0);
2923829244
break;
@@ -32583,17 +32589,33 @@
3258332589
/* # include <sys/ioctl.h> */
3258432590
# include <sys/file.h>
3258532591
# include <sys/param.h>
3258632592
#endif /* SQLITE_ENABLE_LOCKING_STYLE */
3258732593
32588
-#if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
32589
- (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
32590
-# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
32591
- && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
32592
-# define HAVE_GETHOSTUUID 1
32593
-# else
32594
-# warning "gethostuuid() is disabled."
32594
+/*
32595
+** Try to determine if gethostuuid() is available based on standard
32596
+** macros. This might sometimes compute the wrong value for some
32597
+** obscure platforms. For those cases, simply compile with one of
32598
+** the following:
32599
+**
32600
+** -DHAVE_GETHOSTUUID=0
32601
+** -DHAVE_GETHOSTUUID=1
32602
+**
32603
+** None if this matters except when building on Apple products with
32604
+** -DSQLITE_ENABLE_LOCKING_STYLE.
32605
+*/
32606
+#ifndef HAVE_GETHOSTUUID
32607
+# define HAVE_GETHOSTUUID 0
32608
+# if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
32609
+ (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
32610
+# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
32611
+ && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
32612
+# undef HAVE_GETHOSTUUID
32613
+# define HAVE_GETHOSTUUID 1
32614
+# else
32615
+# warning "gethostuuid() is disabled."
32616
+# endif
3259532617
# endif
3259632618
#endif
3259732619
3259832620
3259932621
#if OS_VXWORKS
@@ -39605,11 +39627,11 @@
3960539627
SQLITE_API int sqlite3_hostid_num = 0;
3960639628
#endif
3960739629
3960839630
#define PROXY_HOSTIDLEN 16 /* conch file host id length */
3960939631
39610
-#ifdef HAVE_GETHOSTUUID
39632
+#if HAVE_GETHOSTUUID
3961139633
/* Not always defined in the headers as it ought to be */
3961239634
extern int gethostuuid(uuid_t id, const struct timespec *wait);
3961339635
#endif
3961439636
3961539637
/* get the host ID via gethostuuid(), pHostID must point to PROXY_HOSTIDLEN
@@ -39616,11 +39638,11 @@
3961639638
** bytes of writable memory.
3961739639
*/
3961839640
static int proxyGetHostID(unsigned char *pHostID, int *pError){
3961939641
assert(PROXY_HOSTIDLEN == sizeof(uuid_t));
3962039642
memset(pHostID, 0, PROXY_HOSTIDLEN);
39621
-#ifdef HAVE_GETHOSTUUID
39643
+#if HAVE_GETHOSTUUID
3962239644
{
3962339645
struct timespec timeout = {1, 0}; /* 1 sec timeout */
3962439646
if( gethostuuid(pHostID, &timeout) ){
3962539647
int err = errno;
3962639648
if( pError ){
@@ -84381,11 +84403,11 @@
8438184403
printf(" ir:%lld", p->u.i);
8438284404
}else if( p->flags & MEM_Int ){
8438384405
printf(" i:%lld", p->u.i);
8438484406
#ifndef SQLITE_OMIT_FLOATING_POINT
8438584407
}else if( p->flags & MEM_Real ){
84386
- printf(" r:%g", p->u.r);
84408
+ printf(" r:%.17g", p->u.r);
8438784409
#endif
8438884410
}else if( sqlite3VdbeMemIsRowSet(p) ){
8438984411
printf(" (rowset)");
8439084412
}else{
8439184413
char zBuf[200];
@@ -102445,11 +102467,12 @@
102445102467
&& pA->op!=TK_TRUEFALSE
102446102468
&& (combinedFlags & EP_Reduced)==0
102447102469
){
102448102470
if( pA->iColumn!=pB->iColumn ) return 2;
102449102471
if( pA->op2!=pB->op2 ) return 2;
102450
- if( pA->iTable!=pB->iTable
102472
+ if( pA->op!=TK_IN
102473
+ && pA->iTable!=pB->iTable
102451102474
&& (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
102452102475
}
102453102476
}
102454102477
return 0;
102455102478
}
@@ -110436,11 +110459,12 @@
110436110459
goto exit_drop_table;
110437110460
}
110438110461
}
110439110462
#endif
110440110463
if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0
110441
- && sqlite3StrNICmp(pTab->zName, "sqlite_stat", 11)!=0 ){
110464
+ && sqlite3StrNICmp(pTab->zName+7, "stat", 4)!=0
110465
+ && sqlite3StrNICmp(pTab->zName+7, "parameters", 10)!=0 ){
110442110466
sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName);
110443110467
goto exit_drop_table;
110444110468
}
110445110469
110446110470
#ifndef SQLITE_OMIT_VIEW
@@ -121079,11 +121103,15 @@
121079121103
#endif
121080121104
/* Version 3.28.0 and later */
121081121105
sqlite3_stmt_isexplain,
121082121106
sqlite3_value_frombind,
121083121107
/* Version 3.30.0 and later */
121108
+#ifndef SQLITE_OMIT_VIRTUALTABLE
121084121109
sqlite3_drop_modules,
121110
+#else
121111
+ 0,
121112
+#endif
121085121113
};
121086121114
121087121115
/*
121088121116
** Attempt to load an SQLite extension library contained in the file
121089121117
** zFile. The entry point is zProc. zProc may be 0 in which case a
@@ -162211,10 +162239,22 @@
162211162239
#ifndef SQLITE_CORE
162212162240
/* # include "sqlite3ext.h" */
162213162241
SQLITE_EXTENSION_INIT1
162214162242
#endif
162215162243
162244
+/*
162245
+** The following are copied from sqliteInt.h.
162246
+**
162247
+** Constants for the largest and smallest possible 64-bit signed integers.
162248
+** These macros are designed to work correctly on both 32-bit and 64-bit
162249
+** compilers.
162250
+*/
162251
+#ifndef SQLITE_AMALGAMATION
162252
+# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32))
162253
+# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64)
162254
+#endif
162255
+
162216162256
static int fts3EvalNext(Fts3Cursor *pCsr);
162217162257
static int fts3EvalStart(Fts3Cursor *pCsr);
162218162258
static int fts3TermSegReaderCursor(
162219162259
Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
162220162260
@@ -163989,14 +164029,15 @@
163989164029
}
163990164030
*ppPoslist = pEnd;
163991164031
}
163992164032
163993164033
/*
163994
-** Value used to signify the end of an position-list. This is safe because
163995
-** it is not possible to have a document with 2^31 terms.
164034
+** Value used to signify the end of an position-list. This must be
164035
+** as large or larger than any value that might appear on the
164036
+** position-list, even a position list that has been corrupted.
163996164037
*/
163997
-#define POSITION_LIST_END 0x7fffffff
164038
+#define POSITION_LIST_END LARGEST_INT64
163998164039
163999164040
/*
164000164041
** This function is used to help parse position-lists. When this function is
164001164042
** called, *pp may point to the start of the next varint in the position-list
164002164043
** being parsed, or it may point to 1 byte past the end of the position-list
@@ -164068,18 +164109,18 @@
164068164109
164069164110
if( *p1==POS_COLUMN ){
164070164111
fts3GetVarint32(&p1[1], &iCol1);
164071164112
if( iCol1==0 ) return FTS_CORRUPT_VTAB;
164072164113
}
164073
- else if( *p1==POS_END ) iCol1 = POSITION_LIST_END;
164114
+ else if( *p1==POS_END ) iCol1 = 0x7fffffff;
164074164115
else iCol1 = 0;
164075164116
164076164117
if( *p2==POS_COLUMN ){
164077164118
fts3GetVarint32(&p2[1], &iCol2);
164078164119
if( iCol2==0 ) return FTS_CORRUPT_VTAB;
164079164120
}
164080
- else if( *p2==POS_END ) iCol2 = POSITION_LIST_END;
164121
+ else if( *p2==POS_END ) iCol2 = 0x7fffffff;
164081164122
else iCol2 = 0;
164082164123
164083164124
if( iCol1==iCol2 ){
164084164125
sqlite3_int64 i1 = 0; /* Last position from pp1 */
164085164126
sqlite3_int64 i2 = 0; /* Last position from pp2 */
@@ -165085,22 +165126,10 @@
165085165126
}
165086165127
assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
165087165128
return rc;
165088165129
}
165089165130
165090
-/*
165091
-** The following are copied from sqliteInt.h.
165092
-**
165093
-** Constants for the largest and smallest possible 64-bit signed integers.
165094
-** These macros are designed to work correctly on both 32-bit and 64-bit
165095
-** compilers.
165096
-*/
165097
-#ifndef SQLITE_AMALGAMATION
165098
-# define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32))
165099
-# define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64)
165100
-#endif
165101
-
165102165131
/*
165103165132
** If the numeric type of argument pVal is "integer", then return it
165104165133
** converted to a 64-bit signed integer. Otherwise, return a copy of
165105165134
** the second parameter, iDefault.
165106165135
*/
@@ -175826,18 +175855,18 @@
175826175855
memset(p, 0, sizeof(NodeReader));
175827175856
p->aNode = aNode;
175828175857
p->nNode = nNode;
175829175858
175830175859
/* Figure out if this is a leaf or an internal node. */
175831
- if( p->aNode[0] ){
175860
+ if( aNode && aNode[0] ){
175832175861
/* An internal node. */
175833175862
p->iOff = 1 + sqlite3Fts3GetVarint(&p->aNode[1], &p->iChild);
175834175863
}else{
175835175864
p->iOff = 1;
175836175865
}
175837175866
175838
- return nodeReaderNext(p);
175867
+ return aNode ? nodeReaderNext(p) : SQLITE_OK;
175839175868
}
175840175869
175841175870
/*
175842175871
** This function is called while writing an FTS segment each time a leaf o
175843175872
** node is finished and written to disk. The key (zTerm/nTerm) is guaranteed
@@ -176325,12 +176354,12 @@
176325176354
176326176355
for(i=nHeight; i>=0 && rc==SQLITE_OK; i--){
176327176356
NodeReader reader;
176328176357
pNode = &pWriter->aNodeWriter[i];
176329176358
176330
- rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
176331
- if( reader.aNode ){
176359
+ if( pNode->block.a){
176360
+ rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
176332176361
while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader);
176333176362
blobGrowBuffer(&pNode->key, reader.term.n, &rc);
176334176363
if( rc==SQLITE_OK ){
176335176364
memcpy(pNode->key.a, reader.term.a, reader.term.n);
176336176365
pNode->key.n = reader.term.n;
@@ -220236,11 +220265,11 @@
220236220265
int nArg, /* Number of args */
220237220266
sqlite3_value **apUnused /* Function arguments */
220238220267
){
220239220268
assert( nArg==0 );
220240220269
UNUSED_PARAM2(nArg, apUnused);
220241
- sqlite3_result_text(pCtx, "fts5: 2019-09-25 18:44:49 36d35dbd5a80dc4a149ed7409cc4b43712622fc4c6a8915b4fbb62fd1d6b7763", -1, SQLITE_TRANSIENT);
220270
+ sqlite3_result_text(pCtx, "fts5: 2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f", -1, SQLITE_TRANSIENT);
220242220271
}
220243220272
220244220273
/*
220245220274
** Return true if zName is the extension on one of the shadow tables used
220246220275
** by this module.
@@ -225004,12 +225033,12 @@
225004225033
}
225005225034
#endif /* SQLITE_CORE */
225006225035
#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
225007225036
225008225037
/************** End of stmt.c ************************************************/
225009
-#if __LINE__!=225009
225038
+#if __LINE__!=225038
225010225039
#undef SQLITE_SOURCE_ID
225011
-#define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501dalt2"
225040
+#define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6alt2"
225012225041
#endif
225013225042
/* Return the source-id for this library */
225014225043
SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
225015225044
/************************** End of sqlite3.c ******************************/
225016225045
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1165,11 +1165,11 @@
1165 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
1166 ** [sqlite_version()] and [sqlite_source_id()].
1167 */
1168 #define SQLITE_VERSION "3.30.0"
1169 #define SQLITE_VERSION_NUMBER 3030000
1170 #define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505"
1171
1172 /*
1173 ** CAPI3REF: Run-Time Library Version Numbers
1174 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1175 **
@@ -16171,10 +16171,11 @@
16171 #define sqlite3MutexInit() SQLITE_OK
16172 #define sqlite3MutexEnd()
16173 #define MUTEX_LOGIC(X)
16174 #else
16175 #define MUTEX_LOGIC(X) X
 
16176 #endif /* defined(SQLITE_MUTEX_OMIT) */
16177
16178 /************** End of mutex.h ***********************************************/
16179 /************** Continuing where we left off in sqliteInt.h ******************/
16180
@@ -17174,12 +17175,15 @@
17174 sqlite3 *db; /* The database connection */
17175 u8 *aSortFlags; /* Sort order for each column. */
17176 CollSeq *aColl[1]; /* Collating sequence for each term of the key */
17177 };
17178
17179 #define KEYINFO_ORDER_DESC 0x01
17180 #define KEYINFO_ORDER_BIGNULL 0x02
 
 
 
17181
17182 /*
17183 ** This object holds a record which has been parsed out into individual
17184 ** fields, for the purposes of doing a comparison.
17185 **
@@ -17505,10 +17509,11 @@
17505 #endif
17506 int iTable; /* TK_COLUMN: cursor number of table holding column
17507 ** TK_REGISTER: register number
17508 ** TK_TRIGGER: 1 -> new, 0 -> old
17509 ** EP_Unlikely: 134217728 times likelihood
 
17510 ** TK_SELECT_COLUMN: Number of columns on the LHS
17511 ** TK_SELECT: 1st register of result vector */
17512 ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid.
17513 ** TK_VARIABLE: variable number (always >= 1).
17514 ** TK_SELECT_COLUMN: column of the result vector */
@@ -29226,13 +29231,14 @@
29226 break;
29227 }
29228
29229 case TK_COLLATE: {
29230 /* COLLATE operators without the EP_Collate flag are intended to
29231 ** emulate collation associated with a table column. Explicit
29232 ** COLLATE operators that appear in the original SQL always have
29233 ** the EP_Collate bit set */
 
29234 sqlite3TreeViewLine(pView, "%sCOLLATE %Q%s",
29235 !ExprHasProperty(pExpr, EP_Collate) ? "SOFT-" : "",
29236 pExpr->u.zToken, zFlgs);
29237 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0);
29238 break;
@@ -32583,17 +32589,33 @@
32583 /* # include <sys/ioctl.h> */
32584 # include <sys/file.h>
32585 # include <sys/param.h>
32586 #endif /* SQLITE_ENABLE_LOCKING_STYLE */
32587
32588 #if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
32589 (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
32590 # if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
32591 && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
32592 # define HAVE_GETHOSTUUID 1
32593 # else
32594 # warning "gethostuuid() is disabled."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32595 # endif
32596 #endif
32597
32598
32599 #if OS_VXWORKS
@@ -39605,11 +39627,11 @@
39605 SQLITE_API int sqlite3_hostid_num = 0;
39606 #endif
39607
39608 #define PROXY_HOSTIDLEN 16 /* conch file host id length */
39609
39610 #ifdef HAVE_GETHOSTUUID
39611 /* Not always defined in the headers as it ought to be */
39612 extern int gethostuuid(uuid_t id, const struct timespec *wait);
39613 #endif
39614
39615 /* get the host ID via gethostuuid(), pHostID must point to PROXY_HOSTIDLEN
@@ -39616,11 +39638,11 @@
39616 ** bytes of writable memory.
39617 */
39618 static int proxyGetHostID(unsigned char *pHostID, int *pError){
39619 assert(PROXY_HOSTIDLEN == sizeof(uuid_t));
39620 memset(pHostID, 0, PROXY_HOSTIDLEN);
39621 #ifdef HAVE_GETHOSTUUID
39622 {
39623 struct timespec timeout = {1, 0}; /* 1 sec timeout */
39624 if( gethostuuid(pHostID, &timeout) ){
39625 int err = errno;
39626 if( pError ){
@@ -84381,11 +84403,11 @@
84381 printf(" ir:%lld", p->u.i);
84382 }else if( p->flags & MEM_Int ){
84383 printf(" i:%lld", p->u.i);
84384 #ifndef SQLITE_OMIT_FLOATING_POINT
84385 }else if( p->flags & MEM_Real ){
84386 printf(" r:%g", p->u.r);
84387 #endif
84388 }else if( sqlite3VdbeMemIsRowSet(p) ){
84389 printf(" (rowset)");
84390 }else{
84391 char zBuf[200];
@@ -102445,11 +102467,12 @@
102445 && pA->op!=TK_TRUEFALSE
102446 && (combinedFlags & EP_Reduced)==0
102447 ){
102448 if( pA->iColumn!=pB->iColumn ) return 2;
102449 if( pA->op2!=pB->op2 ) return 2;
102450 if( pA->iTable!=pB->iTable
 
102451 && (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
102452 }
102453 }
102454 return 0;
102455 }
@@ -110436,11 +110459,12 @@
110436 goto exit_drop_table;
110437 }
110438 }
110439 #endif
110440 if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0
110441 && sqlite3StrNICmp(pTab->zName, "sqlite_stat", 11)!=0 ){
 
110442 sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName);
110443 goto exit_drop_table;
110444 }
110445
110446 #ifndef SQLITE_OMIT_VIEW
@@ -121079,11 +121103,15 @@
121079 #endif
121080 /* Version 3.28.0 and later */
121081 sqlite3_stmt_isexplain,
121082 sqlite3_value_frombind,
121083 /* Version 3.30.0 and later */
 
121084 sqlite3_drop_modules,
 
 
 
121085 };
121086
121087 /*
121088 ** Attempt to load an SQLite extension library contained in the file
121089 ** zFile. The entry point is zProc. zProc may be 0 in which case a
@@ -162211,10 +162239,22 @@
162211 #ifndef SQLITE_CORE
162212 /* # include "sqlite3ext.h" */
162213 SQLITE_EXTENSION_INIT1
162214 #endif
162215
 
 
 
 
 
 
 
 
 
 
 
 
162216 static int fts3EvalNext(Fts3Cursor *pCsr);
162217 static int fts3EvalStart(Fts3Cursor *pCsr);
162218 static int fts3TermSegReaderCursor(
162219 Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
162220
@@ -163989,14 +164029,15 @@
163989 }
163990 *ppPoslist = pEnd;
163991 }
163992
163993 /*
163994 ** Value used to signify the end of an position-list. This is safe because
163995 ** it is not possible to have a document with 2^31 terms.
 
163996 */
163997 #define POSITION_LIST_END 0x7fffffff
163998
163999 /*
164000 ** This function is used to help parse position-lists. When this function is
164001 ** called, *pp may point to the start of the next varint in the position-list
164002 ** being parsed, or it may point to 1 byte past the end of the position-list
@@ -164068,18 +164109,18 @@
164068
164069 if( *p1==POS_COLUMN ){
164070 fts3GetVarint32(&p1[1], &iCol1);
164071 if( iCol1==0 ) return FTS_CORRUPT_VTAB;
164072 }
164073 else if( *p1==POS_END ) iCol1 = POSITION_LIST_END;
164074 else iCol1 = 0;
164075
164076 if( *p2==POS_COLUMN ){
164077 fts3GetVarint32(&p2[1], &iCol2);
164078 if( iCol2==0 ) return FTS_CORRUPT_VTAB;
164079 }
164080 else if( *p2==POS_END ) iCol2 = POSITION_LIST_END;
164081 else iCol2 = 0;
164082
164083 if( iCol1==iCol2 ){
164084 sqlite3_int64 i1 = 0; /* Last position from pp1 */
164085 sqlite3_int64 i2 = 0; /* Last position from pp2 */
@@ -165085,22 +165126,10 @@
165085 }
165086 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
165087 return rc;
165088 }
165089
165090 /*
165091 ** The following are copied from sqliteInt.h.
165092 **
165093 ** Constants for the largest and smallest possible 64-bit signed integers.
165094 ** These macros are designed to work correctly on both 32-bit and 64-bit
165095 ** compilers.
165096 */
165097 #ifndef SQLITE_AMALGAMATION
165098 # define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32))
165099 # define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64)
165100 #endif
165101
165102 /*
165103 ** If the numeric type of argument pVal is "integer", then return it
165104 ** converted to a 64-bit signed integer. Otherwise, return a copy of
165105 ** the second parameter, iDefault.
165106 */
@@ -175826,18 +175855,18 @@
175826 memset(p, 0, sizeof(NodeReader));
175827 p->aNode = aNode;
175828 p->nNode = nNode;
175829
175830 /* Figure out if this is a leaf or an internal node. */
175831 if( p->aNode[0] ){
175832 /* An internal node. */
175833 p->iOff = 1 + sqlite3Fts3GetVarint(&p->aNode[1], &p->iChild);
175834 }else{
175835 p->iOff = 1;
175836 }
175837
175838 return nodeReaderNext(p);
175839 }
175840
175841 /*
175842 ** This function is called while writing an FTS segment each time a leaf o
175843 ** node is finished and written to disk. The key (zTerm/nTerm) is guaranteed
@@ -176325,12 +176354,12 @@
176325
176326 for(i=nHeight; i>=0 && rc==SQLITE_OK; i--){
176327 NodeReader reader;
176328 pNode = &pWriter->aNodeWriter[i];
176329
176330 rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
176331 if( reader.aNode ){
176332 while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader);
176333 blobGrowBuffer(&pNode->key, reader.term.n, &rc);
176334 if( rc==SQLITE_OK ){
176335 memcpy(pNode->key.a, reader.term.a, reader.term.n);
176336 pNode->key.n = reader.term.n;
@@ -220236,11 +220265,11 @@
220236 int nArg, /* Number of args */
220237 sqlite3_value **apUnused /* Function arguments */
220238 ){
220239 assert( nArg==0 );
220240 UNUSED_PARAM2(nArg, apUnused);
220241 sqlite3_result_text(pCtx, "fts5: 2019-09-25 18:44:49 36d35dbd5a80dc4a149ed7409cc4b43712622fc4c6a8915b4fbb62fd1d6b7763", -1, SQLITE_TRANSIENT);
220242 }
220243
220244 /*
220245 ** Return true if zName is the extension on one of the shadow tables used
220246 ** by this module.
@@ -225004,12 +225033,12 @@
225004 }
225005 #endif /* SQLITE_CORE */
225006 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
225007
225008 /************** End of stmt.c ************************************************/
225009 #if __LINE__!=225009
225010 #undef SQLITE_SOURCE_ID
225011 #define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501dalt2"
225012 #endif
225013 /* Return the source-id for this library */
225014 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
225015 /************************** End of sqlite3.c ******************************/
225016
--- src/sqlite3.c
+++ src/sqlite3.c
@@ -1165,11 +1165,11 @@
1165 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
1166 ** [sqlite_version()] and [sqlite_source_id()].
1167 */
1168 #define SQLITE_VERSION "3.30.0"
1169 #define SQLITE_VERSION_NUMBER 3030000
1170 #define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f"
1171
1172 /*
1173 ** CAPI3REF: Run-Time Library Version Numbers
1174 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1175 **
@@ -16171,10 +16171,11 @@
16171 #define sqlite3MutexInit() SQLITE_OK
16172 #define sqlite3MutexEnd()
16173 #define MUTEX_LOGIC(X)
16174 #else
16175 #define MUTEX_LOGIC(X) X
16176 SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*);
16177 #endif /* defined(SQLITE_MUTEX_OMIT) */
16178
16179 /************** End of mutex.h ***********************************************/
16180 /************** Continuing where we left off in sqliteInt.h ******************/
16181
@@ -17174,12 +17175,15 @@
17175 sqlite3 *db; /* The database connection */
17176 u8 *aSortFlags; /* Sort order for each column. */
17177 CollSeq *aColl[1]; /* Collating sequence for each term of the key */
17178 };
17179
17180 /*
17181 ** Allowed bit values for entries in the KeyInfo.aSortFlags[] array.
17182 */
17183 #define KEYINFO_ORDER_DESC 0x01 /* DESC sort order */
17184 #define KEYINFO_ORDER_BIGNULL 0x02 /* NULL is larger than any other value */
17185
17186 /*
17187 ** This object holds a record which has been parsed out into individual
17188 ** fields, for the purposes of doing a comparison.
17189 **
@@ -17505,10 +17509,11 @@
17509 #endif
17510 int iTable; /* TK_COLUMN: cursor number of table holding column
17511 ** TK_REGISTER: register number
17512 ** TK_TRIGGER: 1 -> new, 0 -> old
17513 ** EP_Unlikely: 134217728 times likelihood
17514 ** TK_IN: ephemerial table holding RHS
17515 ** TK_SELECT_COLUMN: Number of columns on the LHS
17516 ** TK_SELECT: 1st register of result vector */
17517 ynVar iColumn; /* TK_COLUMN: column index. -1 for rowid.
17518 ** TK_VARIABLE: variable number (always >= 1).
17519 ** TK_SELECT_COLUMN: column of the result vector */
@@ -29226,13 +29231,14 @@
29231 break;
29232 }
29233
29234 case TK_COLLATE: {
29235 /* COLLATE operators without the EP_Collate flag are intended to
29236 ** emulate collation associated with a table column. These show
29237 ** up in the treeview output as "SOFT-COLLATE". Explicit COLLATE
29238 ** operators that appear in the original SQL always have the
29239 ** EP_Collate bit set and appear in treeview output as just "COLLATE" */
29240 sqlite3TreeViewLine(pView, "%sCOLLATE %Q%s",
29241 !ExprHasProperty(pExpr, EP_Collate) ? "SOFT-" : "",
29242 pExpr->u.zToken, zFlgs);
29243 sqlite3TreeViewExpr(pView, pExpr->pLeft, 0);
29244 break;
@@ -32583,17 +32589,33 @@
32589 /* # include <sys/ioctl.h> */
32590 # include <sys/file.h>
32591 # include <sys/param.h>
32592 #endif /* SQLITE_ENABLE_LOCKING_STYLE */
32593
32594 /*
32595 ** Try to determine if gethostuuid() is available based on standard
32596 ** macros. This might sometimes compute the wrong value for some
32597 ** obscure platforms. For those cases, simply compile with one of
32598 ** the following:
32599 **
32600 ** -DHAVE_GETHOSTUUID=0
32601 ** -DHAVE_GETHOSTUUID=1
32602 **
32603 ** None if this matters except when building on Apple products with
32604 ** -DSQLITE_ENABLE_LOCKING_STYLE.
32605 */
32606 #ifndef HAVE_GETHOSTUUID
32607 # define HAVE_GETHOSTUUID 0
32608 # if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
32609 (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
32610 # if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
32611 && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
32612 # undef HAVE_GETHOSTUUID
32613 # define HAVE_GETHOSTUUID 1
32614 # else
32615 # warning "gethostuuid() is disabled."
32616 # endif
32617 # endif
32618 #endif
32619
32620
32621 #if OS_VXWORKS
@@ -39605,11 +39627,11 @@
39627 SQLITE_API int sqlite3_hostid_num = 0;
39628 #endif
39629
39630 #define PROXY_HOSTIDLEN 16 /* conch file host id length */
39631
39632 #if HAVE_GETHOSTUUID
39633 /* Not always defined in the headers as it ought to be */
39634 extern int gethostuuid(uuid_t id, const struct timespec *wait);
39635 #endif
39636
39637 /* get the host ID via gethostuuid(), pHostID must point to PROXY_HOSTIDLEN
@@ -39616,11 +39638,11 @@
39638 ** bytes of writable memory.
39639 */
39640 static int proxyGetHostID(unsigned char *pHostID, int *pError){
39641 assert(PROXY_HOSTIDLEN == sizeof(uuid_t));
39642 memset(pHostID, 0, PROXY_HOSTIDLEN);
39643 #if HAVE_GETHOSTUUID
39644 {
39645 struct timespec timeout = {1, 0}; /* 1 sec timeout */
39646 if( gethostuuid(pHostID, &timeout) ){
39647 int err = errno;
39648 if( pError ){
@@ -84381,11 +84403,11 @@
84403 printf(" ir:%lld", p->u.i);
84404 }else if( p->flags & MEM_Int ){
84405 printf(" i:%lld", p->u.i);
84406 #ifndef SQLITE_OMIT_FLOATING_POINT
84407 }else if( p->flags & MEM_Real ){
84408 printf(" r:%.17g", p->u.r);
84409 #endif
84410 }else if( sqlite3VdbeMemIsRowSet(p) ){
84411 printf(" (rowset)");
84412 }else{
84413 char zBuf[200];
@@ -102445,11 +102467,12 @@
102467 && pA->op!=TK_TRUEFALSE
102468 && (combinedFlags & EP_Reduced)==0
102469 ){
102470 if( pA->iColumn!=pB->iColumn ) return 2;
102471 if( pA->op2!=pB->op2 ) return 2;
102472 if( pA->op!=TK_IN
102473 && pA->iTable!=pB->iTable
102474 && (pA->iTable!=iTab || NEVER(pB->iTable>=0)) ) return 2;
102475 }
102476 }
102477 return 0;
102478 }
@@ -110436,11 +110459,12 @@
110459 goto exit_drop_table;
110460 }
110461 }
110462 #endif
110463 if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0
110464 && sqlite3StrNICmp(pTab->zName+7, "stat", 4)!=0
110465 && sqlite3StrNICmp(pTab->zName+7, "parameters", 10)!=0 ){
110466 sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName);
110467 goto exit_drop_table;
110468 }
110469
110470 #ifndef SQLITE_OMIT_VIEW
@@ -121079,11 +121103,15 @@
121103 #endif
121104 /* Version 3.28.0 and later */
121105 sqlite3_stmt_isexplain,
121106 sqlite3_value_frombind,
121107 /* Version 3.30.0 and later */
121108 #ifndef SQLITE_OMIT_VIRTUALTABLE
121109 sqlite3_drop_modules,
121110 #else
121111 0,
121112 #endif
121113 };
121114
121115 /*
121116 ** Attempt to load an SQLite extension library contained in the file
121117 ** zFile. The entry point is zProc. zProc may be 0 in which case a
@@ -162211,10 +162239,22 @@
162239 #ifndef SQLITE_CORE
162240 /* # include "sqlite3ext.h" */
162241 SQLITE_EXTENSION_INIT1
162242 #endif
162243
162244 /*
162245 ** The following are copied from sqliteInt.h.
162246 **
162247 ** Constants for the largest and smallest possible 64-bit signed integers.
162248 ** These macros are designed to work correctly on both 32-bit and 64-bit
162249 ** compilers.
162250 */
162251 #ifndef SQLITE_AMALGAMATION
162252 # define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32))
162253 # define SMALLEST_INT64 (((sqlite3_int64)-1) - LARGEST_INT64)
162254 #endif
162255
162256 static int fts3EvalNext(Fts3Cursor *pCsr);
162257 static int fts3EvalStart(Fts3Cursor *pCsr);
162258 static int fts3TermSegReaderCursor(
162259 Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
162260
@@ -163989,14 +164029,15 @@
164029 }
164030 *ppPoslist = pEnd;
164031 }
164032
164033 /*
164034 ** Value used to signify the end of an position-list. This must be
164035 ** as large or larger than any value that might appear on the
164036 ** position-list, even a position list that has been corrupted.
164037 */
164038 #define POSITION_LIST_END LARGEST_INT64
164039
164040 /*
164041 ** This function is used to help parse position-lists. When this function is
164042 ** called, *pp may point to the start of the next varint in the position-list
164043 ** being parsed, or it may point to 1 byte past the end of the position-list
@@ -164068,18 +164109,18 @@
164109
164110 if( *p1==POS_COLUMN ){
164111 fts3GetVarint32(&p1[1], &iCol1);
164112 if( iCol1==0 ) return FTS_CORRUPT_VTAB;
164113 }
164114 else if( *p1==POS_END ) iCol1 = 0x7fffffff;
164115 else iCol1 = 0;
164116
164117 if( *p2==POS_COLUMN ){
164118 fts3GetVarint32(&p2[1], &iCol2);
164119 if( iCol2==0 ) return FTS_CORRUPT_VTAB;
164120 }
164121 else if( *p2==POS_END ) iCol2 = 0x7fffffff;
164122 else iCol2 = 0;
164123
164124 if( iCol1==iCol2 ){
164125 sqlite3_int64 i1 = 0; /* Last position from pp1 */
164126 sqlite3_int64 i2 = 0; /* Last position from pp2 */
@@ -165085,22 +165126,10 @@
165126 }
165127 assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 );
165128 return rc;
165129 }
165130
 
 
 
 
 
 
 
 
 
 
 
 
165131 /*
165132 ** If the numeric type of argument pVal is "integer", then return it
165133 ** converted to a 64-bit signed integer. Otherwise, return a copy of
165134 ** the second parameter, iDefault.
165135 */
@@ -175826,18 +175855,18 @@
175855 memset(p, 0, sizeof(NodeReader));
175856 p->aNode = aNode;
175857 p->nNode = nNode;
175858
175859 /* Figure out if this is a leaf or an internal node. */
175860 if( aNode && aNode[0] ){
175861 /* An internal node. */
175862 p->iOff = 1 + sqlite3Fts3GetVarint(&p->aNode[1], &p->iChild);
175863 }else{
175864 p->iOff = 1;
175865 }
175866
175867 return aNode ? nodeReaderNext(p) : SQLITE_OK;
175868 }
175869
175870 /*
175871 ** This function is called while writing an FTS segment each time a leaf o
175872 ** node is finished and written to disk. The key (zTerm/nTerm) is guaranteed
@@ -176325,12 +176354,12 @@
176354
176355 for(i=nHeight; i>=0 && rc==SQLITE_OK; i--){
176356 NodeReader reader;
176357 pNode = &pWriter->aNodeWriter[i];
176358
176359 if( pNode->block.a){
176360 rc = nodeReaderInit(&reader, pNode->block.a, pNode->block.n);
176361 while( reader.aNode && rc==SQLITE_OK ) rc = nodeReaderNext(&reader);
176362 blobGrowBuffer(&pNode->key, reader.term.n, &rc);
176363 if( rc==SQLITE_OK ){
176364 memcpy(pNode->key.a, reader.term.a, reader.term.n);
176365 pNode->key.n = reader.term.n;
@@ -220236,11 +220265,11 @@
220265 int nArg, /* Number of args */
220266 sqlite3_value **apUnused /* Function arguments */
220267 ){
220268 assert( nArg==0 );
220269 UNUSED_PARAM2(nArg, apUnused);
220270 sqlite3_result_text(pCtx, "fts5: 2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f", -1, SQLITE_TRANSIENT);
220271 }
220272
220273 /*
220274 ** Return true if zName is the extension on one of the shadow tables used
220275 ** by this module.
@@ -225004,12 +225033,12 @@
225033 }
225034 #endif /* SQLITE_CORE */
225035 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
225036
225037 /************** End of stmt.c ************************************************/
225038 #if __LINE__!=225038
225039 #undef SQLITE_SOURCE_ID
225040 #define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6alt2"
225041 #endif
225042 /* Return the source-id for this library */
225043 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
225044 /************************** End of sqlite3.c ******************************/
225045
+1 -1
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123123
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124124
** [sqlite_version()] and [sqlite_source_id()].
125125
*/
126126
#define SQLITE_VERSION "3.30.0"
127127
#define SQLITE_VERSION_NUMBER 3030000
128
-#define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505"
128
+#define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f"
129129
130130
/*
131131
** CAPI3REF: Run-Time Library Version Numbers
132132
** KEYWORDS: sqlite3_version sqlite3_sourceid
133133
**
134134
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124 ** [sqlite_version()] and [sqlite_source_id()].
125 */
126 #define SQLITE_VERSION "3.30.0"
127 #define SQLITE_VERSION_NUMBER 3030000
128 #define SQLITE_SOURCE_ID "2019-09-26 16:57:42 49073b7003330027303c4c776e9f85112f8b99b89f848fec3f953eba501d7505"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
134
--- src/sqlite3.h
+++ src/sqlite3.h
@@ -123,11 +123,11 @@
123 ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
124 ** [sqlite_version()] and [sqlite_source_id()].
125 */
126 #define SQLITE_VERSION "3.30.0"
127 #define SQLITE_VERSION_NUMBER 3030000
128 #define SQLITE_SOURCE_ID "2019-10-04 15:03:17 c20a35336432025445f9f7e289d0cc3e4003fb17f45a4ce74c6269c407c6e09f"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
134

Keyboard Shortcuts

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