Fossil SCM

Update the built-in SQLite to version 3.31.0.

drh 2020-01-22 19:08 trunk
Commit eee161e823e3df1fb2e05c7e47227ef513de000208792363cd86afa530e9630c
2 files changed +17 -9 +10 -4
+17 -9
--- 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.31.0"
11691169
#define SQLITE_VERSION_NUMBER 3031000
1170
-#define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87"
1170
+#define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824"
11711171
11721172
/*
11731173
** CAPI3REF: Run-Time Library Version Numbers
11741174
** KEYWORDS: sqlite3_version sqlite3_sourceid
11751175
**
@@ -10050,18 +10050,24 @@
1005010050
** various facets of the virtual table interface.
1005110051
**
1005210052
** If this interface is invoked outside the context of an xConnect or
1005310053
** xCreate virtual table method then the behavior is undefined.
1005410054
**
10055
-** At present, there is only one option that may be configured using
10056
-** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options
10057
-** may be added in the future.
10055
+** In the call sqlite3_vtab_config(D,C,...) the D parameter is the
10056
+** [database connection] in which the virtual table is being created and
10057
+** which is passed in as the first argument to the [xConnect] or [xCreate]
10058
+** method that is invoking sqlite3_vtab_config(). The C parameter is one
10059
+** of the [virtual table configuration options]. The presence and meaning
10060
+** of parameters after C depend on which [virtual table configuration option]
10061
+** is used.
1005810062
*/
1005910063
SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
1006010064
1006110065
/*
1006210066
** CAPI3REF: Virtual Table Configuration Options
10067
+** KEYWORDS: {virtual table configuration options}
10068
+** KEYWORDS: {virtual table configuration option}
1006310069
**
1006410070
** These macros define the various options to the
1006510071
** [sqlite3_vtab_config()] interface that [virtual table] implementations
1006610072
** can use to customize and optimize their behavior.
1006710073
**
@@ -132678,11 +132684,11 @@
132678132684
static void selectPopWith(Walker *pWalker, Select *p){
132679132685
Parse *pParse = pWalker->pParse;
132680132686
if( OK_IF_ALWAYS_TRUE(pParse->pWith) && p->pPrior==0 ){
132681132687
With *pWith = findRightmost(p)->pWith;
132682132688
if( pWith!=0 ){
132683
- assert( pParse->pWith==pWith );
132689
+ assert( pParse->pWith==pWith || pParse->nErr );
132684132690
pParse->pWith = pWith->pOuter;
132685132691
}
132686132692
}
132687132693
}
132688132694
#else
@@ -132809,28 +132815,30 @@
132809132815
}
132810132816
pTab->nTabRef++;
132811132817
if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){
132812132818
return WRC_Abort;
132813132819
}
132814
-#if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_VIRTUALTABLE)
132820
+#if !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_VIRTUALTABLE)
132815132821
if( IsVirtual(pTab) || pTab->pSelect ){
132816132822
i16 nCol;
132817132823
u8 eCodeOrig = pWalker->eCode;
132818132824
if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort;
132819132825
assert( pFrom->pSelect==0 );
132820132826
if( pTab->pSelect && (db->flags & SQLITE_EnableView)==0 ){
132821132827
sqlite3ErrorMsg(pParse, "access to view \"%s\" prohibited",
132822132828
pTab->zName);
132823132829
}
132830
+#ifndef SQLITE_OMIT_VIRTUALTABLE
132824132831
if( IsVirtual(pTab)
132825132832
&& pFrom->fg.fromDDL
132826132833
&& ALWAYS(pTab->pVTable!=0)
132827132834
&& pTab->pVTable->eVtabRisk > ((db->flags & SQLITE_TrustedSchema)!=0)
132828132835
){
132829132836
sqlite3ErrorMsg(pParse, "unsafe use of virtual table \"%s\"",
132830132837
pTab->zName);
132831132838
}
132839
+#endif
132832132840
pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
132833132841
nCol = pTab->nCol;
132834132842
pTab->nCol = -1;
132835132843
pWalker->eCode = 1; /* Turn on Select.selId renumbering */
132836132844
sqlite3WalkSelect(pWalker, pFrom->pSelect);
@@ -223629,11 +223637,11 @@
223629223637
int nArg, /* Number of args */
223630223638
sqlite3_value **apUnused /* Function arguments */
223631223639
){
223632223640
assert( nArg==0 );
223633223641
UNUSED_PARAM2(nArg, apUnused);
223634
- sqlite3_result_text(pCtx, "fts5: 2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87", -1, SQLITE_TRANSIENT);
223642
+ sqlite3_result_text(pCtx, "fts5: 2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824", -1, SQLITE_TRANSIENT);
223635223643
}
223636223644
223637223645
/*
223638223646
** Return true if zName is the extension on one of the shadow tables used
223639223647
** by this module.
@@ -228402,12 +228410,12 @@
228402228410
}
228403228411
#endif /* SQLITE_CORE */
228404228412
#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
228405228413
228406228414
/************** End of stmt.c ************************************************/
228407
-#if __LINE__!=228407
228415
+#if __LINE__!=228415
228408228416
#undef SQLITE_SOURCE_ID
228409
-#define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4aalt2"
228417
+#define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86alt2"
228410228418
#endif
228411228419
/* Return the source-id for this library */
228412228420
SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
228413228421
/************************** End of sqlite3.c ******************************/
228414228422
--- 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.31.0"
1169 #define SQLITE_VERSION_NUMBER 3031000
1170 #define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87"
1171
1172 /*
1173 ** CAPI3REF: Run-Time Library Version Numbers
1174 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1175 **
@@ -10050,18 +10050,24 @@
10050 ** various facets of the virtual table interface.
10051 **
10052 ** If this interface is invoked outside the context of an xConnect or
10053 ** xCreate virtual table method then the behavior is undefined.
10054 **
10055 ** At present, there is only one option that may be configured using
10056 ** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options
10057 ** may be added in the future.
 
 
 
 
10058 */
10059 SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
10060
10061 /*
10062 ** CAPI3REF: Virtual Table Configuration Options
 
 
10063 **
10064 ** These macros define the various options to the
10065 ** [sqlite3_vtab_config()] interface that [virtual table] implementations
10066 ** can use to customize and optimize their behavior.
10067 **
@@ -132678,11 +132684,11 @@
132678 static void selectPopWith(Walker *pWalker, Select *p){
132679 Parse *pParse = pWalker->pParse;
132680 if( OK_IF_ALWAYS_TRUE(pParse->pWith) && p->pPrior==0 ){
132681 With *pWith = findRightmost(p)->pWith;
132682 if( pWith!=0 ){
132683 assert( pParse->pWith==pWith );
132684 pParse->pWith = pWith->pOuter;
132685 }
132686 }
132687 }
132688 #else
@@ -132809,28 +132815,30 @@
132809 }
132810 pTab->nTabRef++;
132811 if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){
132812 return WRC_Abort;
132813 }
132814 #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_VIRTUALTABLE)
132815 if( IsVirtual(pTab) || pTab->pSelect ){
132816 i16 nCol;
132817 u8 eCodeOrig = pWalker->eCode;
132818 if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort;
132819 assert( pFrom->pSelect==0 );
132820 if( pTab->pSelect && (db->flags & SQLITE_EnableView)==0 ){
132821 sqlite3ErrorMsg(pParse, "access to view \"%s\" prohibited",
132822 pTab->zName);
132823 }
 
132824 if( IsVirtual(pTab)
132825 && pFrom->fg.fromDDL
132826 && ALWAYS(pTab->pVTable!=0)
132827 && pTab->pVTable->eVtabRisk > ((db->flags & SQLITE_TrustedSchema)!=0)
132828 ){
132829 sqlite3ErrorMsg(pParse, "unsafe use of virtual table \"%s\"",
132830 pTab->zName);
132831 }
 
132832 pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
132833 nCol = pTab->nCol;
132834 pTab->nCol = -1;
132835 pWalker->eCode = 1; /* Turn on Select.selId renumbering */
132836 sqlite3WalkSelect(pWalker, pFrom->pSelect);
@@ -223629,11 +223637,11 @@
223629 int nArg, /* Number of args */
223630 sqlite3_value **apUnused /* Function arguments */
223631 ){
223632 assert( nArg==0 );
223633 UNUSED_PARAM2(nArg, apUnused);
223634 sqlite3_result_text(pCtx, "fts5: 2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87", -1, SQLITE_TRANSIENT);
223635 }
223636
223637 /*
223638 ** Return true if zName is the extension on one of the shadow tables used
223639 ** by this module.
@@ -228402,12 +228410,12 @@
228402 }
228403 #endif /* SQLITE_CORE */
228404 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
228405
228406 /************** End of stmt.c ************************************************/
228407 #if __LINE__!=228407
228408 #undef SQLITE_SOURCE_ID
228409 #define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4aalt2"
228410 #endif
228411 /* Return the source-id for this library */
228412 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
228413 /************************** End of sqlite3.c ******************************/
228414
--- 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.31.0"
1169 #define SQLITE_VERSION_NUMBER 3031000
1170 #define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824"
1171
1172 /*
1173 ** CAPI3REF: Run-Time Library Version Numbers
1174 ** KEYWORDS: sqlite3_version sqlite3_sourceid
1175 **
@@ -10050,18 +10050,24 @@
10050 ** various facets of the virtual table interface.
10051 **
10052 ** If this interface is invoked outside the context of an xConnect or
10053 ** xCreate virtual table method then the behavior is undefined.
10054 **
10055 ** In the call sqlite3_vtab_config(D,C,...) the D parameter is the
10056 ** [database connection] in which the virtual table is being created and
10057 ** which is passed in as the first argument to the [xConnect] or [xCreate]
10058 ** method that is invoking sqlite3_vtab_config(). The C parameter is one
10059 ** of the [virtual table configuration options]. The presence and meaning
10060 ** of parameters after C depend on which [virtual table configuration option]
10061 ** is used.
10062 */
10063 SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
10064
10065 /*
10066 ** CAPI3REF: Virtual Table Configuration Options
10067 ** KEYWORDS: {virtual table configuration options}
10068 ** KEYWORDS: {virtual table configuration option}
10069 **
10070 ** These macros define the various options to the
10071 ** [sqlite3_vtab_config()] interface that [virtual table] implementations
10072 ** can use to customize and optimize their behavior.
10073 **
@@ -132678,11 +132684,11 @@
132684 static void selectPopWith(Walker *pWalker, Select *p){
132685 Parse *pParse = pWalker->pParse;
132686 if( OK_IF_ALWAYS_TRUE(pParse->pWith) && p->pPrior==0 ){
132687 With *pWith = findRightmost(p)->pWith;
132688 if( pWith!=0 ){
132689 assert( pParse->pWith==pWith || pParse->nErr );
132690 pParse->pWith = pWith->pOuter;
132691 }
132692 }
132693 }
132694 #else
@@ -132809,28 +132815,30 @@
132815 }
132816 pTab->nTabRef++;
132817 if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){
132818 return WRC_Abort;
132819 }
132820 #if !defined(SQLITE_OMIT_VIEW) || !defined(SQLITE_OMIT_VIRTUALTABLE)
132821 if( IsVirtual(pTab) || pTab->pSelect ){
132822 i16 nCol;
132823 u8 eCodeOrig = pWalker->eCode;
132824 if( sqlite3ViewGetColumnNames(pParse, pTab) ) return WRC_Abort;
132825 assert( pFrom->pSelect==0 );
132826 if( pTab->pSelect && (db->flags & SQLITE_EnableView)==0 ){
132827 sqlite3ErrorMsg(pParse, "access to view \"%s\" prohibited",
132828 pTab->zName);
132829 }
132830 #ifndef SQLITE_OMIT_VIRTUALTABLE
132831 if( IsVirtual(pTab)
132832 && pFrom->fg.fromDDL
132833 && ALWAYS(pTab->pVTable!=0)
132834 && pTab->pVTable->eVtabRisk > ((db->flags & SQLITE_TrustedSchema)!=0)
132835 ){
132836 sqlite3ErrorMsg(pParse, "unsafe use of virtual table \"%s\"",
132837 pTab->zName);
132838 }
132839 #endif
132840 pFrom->pSelect = sqlite3SelectDup(db, pTab->pSelect, 0);
132841 nCol = pTab->nCol;
132842 pTab->nCol = -1;
132843 pWalker->eCode = 1; /* Turn on Select.selId renumbering */
132844 sqlite3WalkSelect(pWalker, pFrom->pSelect);
@@ -223629,11 +223637,11 @@
223637 int nArg, /* Number of args */
223638 sqlite3_value **apUnused /* Function arguments */
223639 ){
223640 assert( nArg==0 );
223641 UNUSED_PARAM2(nArg, apUnused);
223642 sqlite3_result_text(pCtx, "fts5: 2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824", -1, SQLITE_TRANSIENT);
223643 }
223644
223645 /*
223646 ** Return true if zName is the extension on one of the shadow tables used
223647 ** by this module.
@@ -228402,12 +228410,12 @@
228410 }
228411 #endif /* SQLITE_CORE */
228412 #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */
228413
228414 /************** End of stmt.c ************************************************/
228415 #if __LINE__!=228415
228416 #undef SQLITE_SOURCE_ID
228417 #define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86alt2"
228418 #endif
228419 /* Return the source-id for this library */
228420 SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; }
228421 /************************** End of sqlite3.c ******************************/
228422
+10 -4
--- 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.31.0"
127127
#define SQLITE_VERSION_NUMBER 3031000
128
-#define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87"
128
+#define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824"
129129
130130
/*
131131
** CAPI3REF: Run-Time Library Version Numbers
132132
** KEYWORDS: sqlite3_version sqlite3_sourceid
133133
**
@@ -9008,18 +9008,24 @@
90089008
** various facets of the virtual table interface.
90099009
**
90109010
** If this interface is invoked outside the context of an xConnect or
90119011
** xCreate virtual table method then the behavior is undefined.
90129012
**
9013
-** At present, there is only one option that may be configured using
9014
-** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options
9015
-** may be added in the future.
9013
+** In the call sqlite3_vtab_config(D,C,...) the D parameter is the
9014
+** [database connection] in which the virtual table is being created and
9015
+** which is passed in as the first argument to the [xConnect] or [xCreate]
9016
+** method that is invoking sqlite3_vtab_config(). The C parameter is one
9017
+** of the [virtual table configuration options]. The presence and meaning
9018
+** of parameters after C depend on which [virtual table configuration option]
9019
+** is used.
90169020
*/
90179021
SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
90189022
90199023
/*
90209024
** CAPI3REF: Virtual Table Configuration Options
9025
+** KEYWORDS: {virtual table configuration options}
9026
+** KEYWORDS: {virtual table configuration option}
90219027
**
90229028
** These macros define the various options to the
90239029
** [sqlite3_vtab_config()] interface that [virtual table] implementations
90249030
** can use to customize and optimize their behavior.
90259031
**
90269032
--- 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.31.0"
127 #define SQLITE_VERSION_NUMBER 3031000
128 #define SQLITE_SOURCE_ID "2020-01-20 14:42:09 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
@@ -9008,18 +9008,24 @@
9008 ** various facets of the virtual table interface.
9009 **
9010 ** If this interface is invoked outside the context of an xConnect or
9011 ** xCreate virtual table method then the behavior is undefined.
9012 **
9013 ** At present, there is only one option that may be configured using
9014 ** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options
9015 ** may be added in the future.
 
 
 
 
9016 */
9017 SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
9018
9019 /*
9020 ** CAPI3REF: Virtual Table Configuration Options
 
 
9021 **
9022 ** These macros define the various options to the
9023 ** [sqlite3_vtab_config()] interface that [virtual table] implementations
9024 ** can use to customize and optimize their behavior.
9025 **
9026
--- 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.31.0"
127 #define SQLITE_VERSION_NUMBER 3031000
128 #define SQLITE_SOURCE_ID "2020-01-22 18:38:59 f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824"
129
130 /*
131 ** CAPI3REF: Run-Time Library Version Numbers
132 ** KEYWORDS: sqlite3_version sqlite3_sourceid
133 **
@@ -9008,18 +9008,24 @@
9008 ** various facets of the virtual table interface.
9009 **
9010 ** If this interface is invoked outside the context of an xConnect or
9011 ** xCreate virtual table method then the behavior is undefined.
9012 **
9013 ** In the call sqlite3_vtab_config(D,C,...) the D parameter is the
9014 ** [database connection] in which the virtual table is being created and
9015 ** which is passed in as the first argument to the [xConnect] or [xCreate]
9016 ** method that is invoking sqlite3_vtab_config(). The C parameter is one
9017 ** of the [virtual table configuration options]. The presence and meaning
9018 ** of parameters after C depend on which [virtual table configuration option]
9019 ** is used.
9020 */
9021 SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
9022
9023 /*
9024 ** CAPI3REF: Virtual Table Configuration Options
9025 ** KEYWORDS: {virtual table configuration options}
9026 ** KEYWORDS: {virtual table configuration option}
9027 **
9028 ** These macros define the various options to the
9029 ** [sqlite3_vtab_config()] interface that [virtual table] implementations
9030 ** can use to customize and optimize their behavior.
9031 **
9032

Keyboard Shortcuts

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