Skip to content

Commit bfaa4f1

Browse files
committed
Snapshot of upstream SQLite 3.42.0
1 parent 340f146 commit bfaa4f1

File tree

205 files changed

+10003
-2083
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+10003
-2083
lines changed

Makefile.in

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -602,17 +602,35 @@ SHELL_OPT += -DSQLITE_ENABLE_OFFSET_SQL_FUNC
602602
FUZZERSHELL_OPT =
603603
FUZZCHECK_OPT += -I$(TOP)/test
604604
FUZZCHECK_OPT += -I$(TOP)/ext/recover
605-
FUZZCHECK_OPT += -DSQLITE_OMIT_LOAD_EXTENSION
606-
FUZZCHECK_OPT += -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
607-
FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000
608-
FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000
609-
FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS4
610-
FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS3_PARENTHESIS
611-
FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS5
612-
FUZZCHECK_OPT += -DSQLITE_ENABLE_RTREE
613-
FUZZCHECK_OPT += -DSQLITE_ENABLE_GEOPOLY
614-
FUZZCHECK_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB
615-
FUZZCHECK_OPT += -DSQLITE_ENABLE_BYTECODE_VTAB
605+
FUZZCHECK_OPT += \
606+
-DSQLITE_OSS_FUZZ \
607+
-DSQLITE_ENABLE_BYTECODE_VTAB \
608+
-DSQLITE_ENABLE_DBPAGE_VTAB \
609+
-DSQLITE_ENABLE_DBSTAT_VTAB \
610+
-DSQLITE_ENABLE_BYTECODE_VTAB \
611+
-DSQLITE_ENABLE_DESERIALIZE \
612+
-DSQLITE_ENABLE_EXPLAIN_COMMENTS \
613+
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
614+
-DSQLITE_ENABLE_FTS4 \
615+
-DSQLITE_ENABLE_FTS5 \
616+
-DSQLITE_ENABLE_GEOPOLY \
617+
-DSQLITE_ENABLE_MATH_FUNCTIONS \
618+
-DSQLITE_ENABLE_MEMSYS5 \
619+
-DSQLITE_ENABLE_NORMALIZE \
620+
-DSQLITE_ENABLE_OFFSET_SQL_FUNC \
621+
-DSQLITE_ENABLE_PREUPDATE_HOOK \
622+
-DSQLITE_ENABLE_RTREE \
623+
-DSQLITE_ENABLE_SESSION \
624+
-DSQLITE_ENABLE_STMTVTAB \
625+
-DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION \
626+
-DSQLITE_ENABLE_STAT4 \
627+
-DSQLITE_ENABLE_STMT_SCANSTATUS \
628+
-DSQLITE_MAX_MEMORY=50000000 \
629+
-DSQLITE_MAX_MMAP_SIZE=0 \
630+
-DSQLITE_OMIT_LOAD_EXTENSION \
631+
-DSQLITE_PRINTF_PRECISION_LIMIT=1000 \
632+
-DSQLITE_PRIVATE=""
633+
616634
FUZZCHECK_SRC += $(TOP)/test/fuzzcheck.c
617635
FUZZCHECK_SRC += $(TOP)/test/ossfuzz.c
618636
FUZZCHECK_SRC += $(TOP)/test/fuzzinvariants.c
@@ -679,6 +697,9 @@ fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
679697
fuzzcheck$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP)
680698
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(TLIBS)
681699

700+
fuzzcheck-asan$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP)
701+
$(LTLINK) -o $@ -fsanitize=address $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(TLIBS)
702+
682703
ossshell$(TEXE): $(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.h
683704
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/ossshell.c \
684705
$(TOP)/test/ossfuzz.c sqlite3.c $(TLIBS)

Makefile.msc

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,7 +1526,7 @@ TESTSRC = \
15261526
$(TOP)\ext\fts3\fts3_term.c \
15271527
$(TOP)\ext\fts3\fts3_test.c \
15281528
$(TOP)\ext\rbu\test_rbu.c \
1529-
$(TOP)\ext\session\test_session.c
1529+
$(TOP)\ext\session\test_session.c
15301530

15311531
# Statically linked extensions.
15321532
#
@@ -1671,6 +1671,33 @@ FUZZERSHELL_COMPILE_OPTS =
16711671
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -I$(TOP)\test -I$(TOP)\ext\recover
16721672
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MEMSYS5
16731673
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OSS_FUZZ
1674+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
1675+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBPAGE_VTAB
1676+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB
1677+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_BYTECODE_VTAB
1678+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DESERIALIZE
1679+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS
1680+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS3_PARENTHESIS
1681+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4
1682+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS5
1683+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY
1684+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MATH_FUNCTIONS
1685+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_MEMSYS5
1686+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_NORMALIZE
1687+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_OFFSET_SQL_FUNC
1688+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_PREUPDATE_HOOK
1689+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE
1690+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_SESSION
1691+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STMTVTAB
1692+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
1693+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STAT4
1694+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_STMT_SCANSTATUS
1695+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MEMORY=50000000
1696+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MMAP_SIZE=0
1697+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION
1698+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
1699+
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRIVATE=""
1700+
16741701
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_MAX_MEMORY=50000000
16751702
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_PRINTF_PRECISION_LIMIT=1000
16761703
FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_OMIT_LOAD_EXTENSION
@@ -1787,7 +1814,10 @@ dbfuzz.exe: $(TOP)\test\dbfuzz.c $(SQLITE3C) $(SQLITE3H)
17871814
$(LTLINK) $(NO_WARN) $(DBFUZZ_COMPILE_OPTS) $(TOP)\test\dbfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
17881815

17891816
fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
1790-
$(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
1817+
$(LTLINK) /F 8388608 $(NO_WARN) $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
1818+
1819+
fuzzcheck-asan.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
1820+
$(LTLINK) $(NO_WARN) /fsanitize=address $(FUZZCHECK_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
17911821

17921822
ossshell.exe: $(OSSSHELL_SRC) $(SQLITE3C) $(SQLITE3H)
17931823
$(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ and most of the documentation are managed separately.
77

88
## Version Control
99

10-
SQLite sources are managed using the
10+
SQLite sources are managed using
1111
[Fossil](https://www.fossil-scm.org/), a distributed version control system
1212
that was specifically designed and written to support SQLite development.
1313
The [Fossil repository](https://sqlite.org/src/timeline) contains the urtext.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.41.2
1+
3.42.0

autoconf/tea/configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dnl to configure the system for the local environment.
1919
# so that we create the export library with the dll.
2020
#-----------------------------------------------------------------------
2121

22-
AC_INIT([sqlite],[3.41.2])
22+
AC_INIT([sqlite],[3.42.0])
2323

2424
#--------------------------------------------------------------------
2525
# Call TEA_INIT as the first TEA_ macro to set up initial vars.

configure

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.69 for sqlite 3.41.2.
3+
# Generated by GNU Autoconf 2.69 for sqlite 3.42.0.
44
#
55
#
66
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -726,8 +726,8 @@ MAKEFLAGS=
726726
# Identity of this package.
727727
PACKAGE_NAME='sqlite'
728728
PACKAGE_TARNAME='sqlite'
729-
PACKAGE_VERSION='3.41.2'
730-
PACKAGE_STRING='sqlite 3.41.2'
729+
PACKAGE_VERSION='3.42.0'
730+
PACKAGE_STRING='sqlite 3.42.0'
731731
PACKAGE_BUGREPORT=''
732732
PACKAGE_URL=''
733733

@@ -1470,7 +1470,7 @@ if test "$ac_init_help" = "long"; then
14701470
# Omit some internal or obsolete options to make the list less imposing.
14711471
# This message is too long to be a string in the A/UX 3.1 sh.
14721472
cat <<_ACEOF
1473-
\`configure' configures sqlite 3.41.2 to adapt to many kinds of systems.
1473+
\`configure' configures sqlite 3.42.0 to adapt to many kinds of systems.
14741474
14751475
Usage: $0 [OPTION]... [VAR=VALUE]...
14761476
@@ -1535,7 +1535,7 @@ fi
15351535

15361536
if test -n "$ac_init_help"; then
15371537
case $ac_init_help in
1538-
short | recursive ) echo "Configuration of sqlite 3.41.2:";;
1538+
short | recursive ) echo "Configuration of sqlite 3.42.0:";;
15391539
esac
15401540
cat <<\_ACEOF
15411541
@@ -1665,7 +1665,7 @@ fi
16651665
test -n "$ac_init_help" && exit $ac_status
16661666
if $ac_init_version; then
16671667
cat <<\_ACEOF
1668-
sqlite configure 3.41.2
1668+
sqlite configure 3.42.0
16691669
generated by GNU Autoconf 2.69
16701670
16711671
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2084,7 +2084,7 @@ cat >config.log <<_ACEOF
20842084
This file contains any messages produced by compilers while
20852085
running configure, to aid debugging if configure makes a mistake.
20862086
2087-
It was created by sqlite $as_me 3.41.2, which was
2087+
It was created by sqlite $as_me 3.42.0, which was
20882088
generated by GNU Autoconf 2.69. Invocation command line was
20892089
20902090
$ $0 $@
@@ -12457,7 +12457,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
1245712457
# report actual input values of CONFIG_FILES etc. instead of their
1245812458
# values after options handling.
1245912459
ac_log="
12460-
This file was extended by sqlite $as_me 3.41.2, which was
12460+
This file was extended by sqlite $as_me 3.42.0, which was
1246112461
generated by GNU Autoconf 2.69. Invocation command line was
1246212462
1246312463
CONFIG_FILES = $CONFIG_FILES
@@ -12523,7 +12523,7 @@ _ACEOF
1252312523
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
1252412524
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
1252512525
ac_cs_version="\\
12526-
sqlite config.status 3.41.2
12526+
sqlite config.status 3.42.0
1252712527
configured by $0, generated by GNU Autoconf 2.69,
1252812528
with options \\"\$ac_cs_config\\"
1252912529

doc/lemon.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ <h4>3.2.1 Allocating The Parse Object On Stack</h4>
322322
<ul>
323323
<li> Declare a local variable of type "yyParser"
324324
<li> Initialize the variable using ParseInit()
325-
<li> Pass a pointer to the variable in calls ot Parse()
325+
<li> Pass a pointer to the variable in calls to Parse()
326326
<li> Deallocate substructure in the parse variable using ParseFinalize().
327327
</ul>
328328

ext/fts5/fts5Int.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ struct Fts5Config {
199199
int ePattern; /* FTS_PATTERN_XXX constant */
200200

201201
/* Values loaded from the %_config table */
202+
int iVersion; /* fts5 file format 'version' */
202203
int iCookie; /* Incremented when %_config is modified */
203204
int pgsz; /* Approximate page size used in %_data */
204205
int nAutomerge; /* 'automerge' setting */
@@ -207,6 +208,7 @@ struct Fts5Config {
207208
int nHashSize; /* Bytes of memory for in-memory hash */
208209
char *zRank; /* Name of rank function */
209210
char *zRankArgs; /* Arguments to rank function */
211+
int bSecureDelete; /* 'secure-delete' */
210212

211213
/* If non-NULL, points to sqlite3_vtab.base.zErrmsg. Often NULL. */
212214
char **pzErrmsg;
@@ -216,8 +218,11 @@ struct Fts5Config {
216218
#endif
217219
};
218220

219-
/* Current expected value of %_config table 'version' field */
220-
#define FTS5_CURRENT_VERSION 4
221+
/* Current expected value of %_config table 'version' field. And
222+
** the expected version if the 'secure-delete' option has ever been
223+
** set on the table. */
224+
#define FTS5_CURRENT_VERSION 4
225+
#define FTS5_CURRENT_VERSION_SECUREDELETE 5
221226

222227
#define FTS5_CONTENT_NORMAL 0
223228
#define FTS5_CONTENT_NONE 1
@@ -383,6 +388,7 @@ struct Fts5IndexIter {
383388
** above. */
384389
#define FTS5INDEX_QUERY_SKIPEMPTY 0x0010
385390
#define FTS5INDEX_QUERY_NOOUTPUT 0x0020
391+
#define FTS5INDEX_QUERY_SKIPHASH 0x0040
386392

387393
/*
388394
** Create/destroy an Fts5Index object.
@@ -537,7 +543,7 @@ int sqlite3Fts5GetVarintLen(u32 iVal);
537543
u8 sqlite3Fts5GetVarint(const unsigned char*, u64*);
538544
int sqlite3Fts5PutVarint(unsigned char *p, u64 v);
539545

540-
#define fts5GetVarint32(a,b) sqlite3Fts5GetVarint32(a,(u32*)&b)
546+
#define fts5GetVarint32(a,b) sqlite3Fts5GetVarint32(a,(u32*)&(b))
541547
#define fts5GetVarint sqlite3Fts5GetVarint
542548

543549
#define fts5FastGetVarint32(a, iOff, nVal) { \

ext/fts5/fts5_aux.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ static int fts5HighlightCb(
163163
if( tflags & FTS5_TOKEN_COLOCATED ) return SQLITE_OK;
164164
iPos = p->iPos++;
165165

166-
if( p->iRangeEnd>0 ){
166+
if( p->iRangeEnd>=0 ){
167167
if( iPos<p->iRangeStart || iPos>p->iRangeEnd ) return SQLITE_OK;
168168
if( p->iRangeStart && iPos==p->iRangeStart ) p->iOff = iStartOff;
169169
}
@@ -175,7 +175,7 @@ static int fts5HighlightCb(
175175
}
176176

177177
if( iPos==p->iter.iEnd ){
178-
if( p->iRangeEnd && p->iter.iStart<p->iRangeStart ){
178+
if( p->iRangeEnd>=0 && p->iter.iStart<p->iRangeStart ){
179179
fts5HighlightAppend(&rc, p, p->zOpen, -1);
180180
}
181181
fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
@@ -186,7 +186,7 @@ static int fts5HighlightCb(
186186
}
187187
}
188188

189-
if( p->iRangeEnd>0 && iPos==p->iRangeEnd ){
189+
if( p->iRangeEnd>=0 && iPos==p->iRangeEnd ){
190190
fts5HighlightAppend(&rc, p, &p->zIn[p->iOff], iEndOff - p->iOff);
191191
p->iOff = iEndOff;
192192
if( iPos>=p->iter.iStart && iPos<p->iter.iEnd ){
@@ -221,6 +221,7 @@ static void fts5HighlightFunction(
221221
memset(&ctx, 0, sizeof(HighlightContext));
222222
ctx.zOpen = (const char*)sqlite3_value_text(apVal[1]);
223223
ctx.zClose = (const char*)sqlite3_value_text(apVal[2]);
224+
ctx.iRangeEnd = -1;
224225
rc = pApi->xColumnText(pFts, iCol, &ctx.zIn, &ctx.nIn);
225226

226227
if( ctx.zIn ){
@@ -406,6 +407,7 @@ static void fts5SnippetFunction(
406407
iCol = sqlite3_value_int(apVal[0]);
407408
ctx.zOpen = fts5ValueToText(apVal[1]);
408409
ctx.zClose = fts5ValueToText(apVal[2]);
410+
ctx.iRangeEnd = -1;
409411
zEllips = fts5ValueToText(apVal[3]);
410412
nToken = sqlite3_value_int(apVal[4]);
411413

ext/fts5/fts5_config.c

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,7 @@ int sqlite3Fts5ConfigParse(
550550
rc = SQLITE_ERROR;
551551
}
552552

553+
assert( (pRet->abUnindexed && pRet->azCol) || rc!=SQLITE_OK );
553554
for(i=3; rc==SQLITE_OK && i<nArg; i++){
554555
const char *zOrig = azArg[i];
555556
const char *z;
@@ -903,6 +904,18 @@ int sqlite3Fts5ConfigSetValue(
903904
rc = SQLITE_OK;
904905
*pbBadkey = 1;
905906
}
907+
}
908+
909+
else if( 0==sqlite3_stricmp(zKey, "secure-delete") ){
910+
int bVal = -1;
911+
if( SQLITE_INTEGER==sqlite3_value_numeric_type(pVal) ){
912+
bVal = sqlite3_value_int(pVal);
913+
}
914+
if( bVal<0 ){
915+
*pbBadkey = 1;
916+
}else{
917+
pConfig->bSecureDelete = (bVal ? 1 : 0);
918+
}
906919
}else{
907920
*pbBadkey = 1;
908921
}
@@ -947,15 +960,20 @@ int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){
947960
rc = sqlite3_finalize(p);
948961
}
949962

950-
if( rc==SQLITE_OK && iVersion!=FTS5_CURRENT_VERSION ){
963+
if( rc==SQLITE_OK
964+
&& iVersion!=FTS5_CURRENT_VERSION
965+
&& iVersion!=FTS5_CURRENT_VERSION_SECUREDELETE
966+
){
951967
rc = SQLITE_ERROR;
952968
if( pConfig->pzErrmsg ){
953969
assert( 0==*pConfig->pzErrmsg );
954-
*pConfig->pzErrmsg = sqlite3_mprintf(
955-
"invalid fts5 file format (found %d, expected %d) - run 'rebuild'",
956-
iVersion, FTS5_CURRENT_VERSION
970+
*pConfig->pzErrmsg = sqlite3_mprintf("invalid fts5 file format "
971+
"(found %d, expected %d or %d) - run 'rebuild'",
972+
iVersion, FTS5_CURRENT_VERSION, FTS5_CURRENT_VERSION_SECUREDELETE
957973
);
958974
}
975+
}else{
976+
pConfig->iVersion = iVersion;
959977
}
960978

961979
if( rc==SQLITE_OK ){

0 commit comments

Comments
 (0)