]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge all the latest enhancements from trunk. This merge include FTS5
authordrh <drh@noemail.net>
Tue, 30 Jun 2015 16:29:59 +0000 (16:29 +0000)
committerdrh <drh@noemail.net>
Tue, 30 Jun 2015 16:29:59 +0000 (16:29 +0000)
and a number of notable performance enhancements.

FossilOrigin-Name: 39936b33b0668aad81aa574d4d74c92b0ddd218a

15 files changed:
1  2 
Makefile.in
Makefile.msc
main.mk
manifest
manifest.uuid
src/main.c
src/sqliteInt.h
src/tclsqlite.c
src/test_config.c
src/vdbe.c
src/vdbe.h
src/vdbeInt.h
src/vdbeaux.c
src/vdbemem.c
test/permutations.test

diff --cc Makefile.in
index e3d323bbdf5b6b5feb16879a3db35394ed937afd,0a2389225b5a087f1479388b1761230b6c37583e..4bb4965d405c142921c3e2abaa016a98ee0205e3
@@@ -982,9 -976,43 +984,46 @@@ fts3_write.lo:   $(TOP)/ext/fts3/fts3_wri
  rtree.lo:     $(TOP)/ext/rtree/rtree.c $(HDR) $(EXTHDR)
        $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/rtree/rtree.c
  
 +sqlite3session.lo:    $(TOP)/ext/session/sqlite3session.c $(HDR) $(EXTHDR)
 +      $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)/ext/session/sqlite3session.c
 +
+ # FTS5 things
+ #
+ FTS5_SRC = \
+    $(TOP)/ext/fts5/fts5.h \
+    $(TOP)/ext/fts5/fts5Int.h \
+    $(TOP)/ext/fts5/fts5_aux.c \
+    $(TOP)/ext/fts5/fts5_buffer.c \
+    $(TOP)/ext/fts5/fts5_main.c \
+    $(TOP)/ext/fts5/fts5_config.c \
+    $(TOP)/ext/fts5/fts5_expr.c \
+    $(TOP)/ext/fts5/fts5_hash.c \
+    $(TOP)/ext/fts5/fts5_index.c \
+    fts5parse.c fts5parse.h \
+    $(TOP)/ext/fts5/fts5_storage.c \
+    $(TOP)/ext/fts5/fts5_tokenize.c \
+    $(TOP)/ext/fts5/fts5_unicode2.c \
+    $(TOP)/ext/fts5/fts5_varint.c \
+    $(TOP)/ext/fts5/fts5_vocab.c  \
+ fts5parse.c:  $(TOP)/ext/fts5/fts5parse.y lemon 
+       cp $(TOP)/ext/fts5/fts5parse.y .
+       rm -f fts5parse.h
+       ./lemon $(OPTS) fts5parse.y
+       mv fts5parse.c fts5parse.c.orig
+       echo "#ifdef SQLITE_ENABLE_FTS5" > fts5parse.c
+       cat fts5parse.c.orig | sed 's/yy/fts5yy/g' | sed 's/YY/fts5YY/g' \
+               | sed 's/TOKEN/FTS5TOKEN/g' >> fts5parse.c
+       echo "#endif /* SQLITE_ENABLE_FTS5 */" >> fts5parse.c
+ fts5parse.h: fts5parse.c
+ fts5.c: $(FTS5_SRC)
+       $(TCLSH_CMD) $(TOP)/ext/fts5/tool/mkfts5c.tcl
+ fts5.lo:      fts5.c $(HDR) $(EXTHDR)
+       $(LTCOMPILE) -DSQLITE_CORE -c fts5.c
  
  # Rules to build the 'testfixture' application.
  #
diff --cc Makefile.msc
index 33c2886c54fb89b5c01ec3012cea3d1ff0b26522,95c0cf18d48eb28e5abdfd6000dbc1018369ce64..cccfc76700ab0c369e2bf849f863a5a083ebce76
@@@ -1678,9 -1656,50 +1681,53 @@@ fts3_write.lo:        $(TOP)\ext\fts3\fts3_wri
  rtree.lo:     $(TOP)\ext\rtree\rtree.c $(HDR) $(EXTHDR)
        $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c $(TOP)\ext\rtree\rtree.c
  
 +sqlite3session.lo:    $(TOP)\ext\session\sqlite3sesion.c $(HDR) $(EXTHDR)
 +      $(LTCOMPILE) -DSQLITE_CORE -c $(TOP)\ext\session\sqlite3session.c
 +
+ # FTS5 things
+ #
+ FTS5_SRC = \
+    $(TOP)\ext\fts5\fts5.h \
+    $(TOP)\ext\fts5\fts5Int.h \
+    $(TOP)\ext\fts5\fts5_aux.c \
+    $(TOP)\ext\fts5\fts5_buffer.c \
+    $(TOP)\ext\fts5\fts5_main.c \
+    $(TOP)\ext\fts5\fts5_config.c \
+    $(TOP)\ext\fts5\fts5_expr.c \
+    $(TOP)\ext\fts5\fts5_hash.c \
+    $(TOP)\ext\fts5\fts5_index.c \
+    fts5parse.c fts5parse.h \
+    $(TOP)\ext\fts5\fts5_storage.c \
+    $(TOP)\ext\fts5\fts5_tokenize.c \
+    $(TOP)\ext\fts5\fts5_unicode2.c \
+    $(TOP)\ext\fts5\fts5_varint.c \
+    $(TOP)\ext\fts5\fts5_vocab.c
+ fts5parse.c:  $(TOP)\ext\fts5\fts5parse.y lemon.exe
+       copy $(TOP)\ext\fts5\fts5parse.y .
+       del /Q fts5parse.h 2>NUL
+       .\lemon.exe $(REQ_FEATURE_FLAGS) $(OPT_FEATURE_FLAGS) $(OPTS) fts5parse.y
+       move fts5parse.c fts5parse.c.orig
+       echo #ifdef SQLITE_ENABLE_FTS5 > $@
+       type fts5parse.c.orig \
+               | $(NAWK) "/.*/ { gsub(/yy/,\"fts5yy\");print }" \
+               | $(NAWK) "/.*/ { gsub(/YY/,\"fts5YY\");print }" \
+               | $(NAWK) "/.*/ { gsub(/TOKEN/,\"FTS5TOKEN\");print }" >> $@
+       echo #endif /* SQLITE_ENABLE_FTS5 */ >> $@
+ fts5parse.h: fts5parse.c
+ fts5.c: $(FTS5_SRC)
+       $(TCLSH_CMD) $(TOP)\ext\fts5\tool\mkfts5c.tcl
+ fts5.lo:      fts5.c $(HDR) $(EXTHDR)
+       $(LTCOMPILE) $(CORE_COMPILE_OPTS) $(NO_WARN) -DSQLITE_CORE -c fts5.c
+ fts5_ext.lo:  fts5.c $(HDR) $(EXTHDR)
+       $(LTCOMPILE) $(NO_WARN) -DSQLITE_ENABLE_FTS5 -c fts5.c
+ fts5.dll:     fts5_ext.lo
+       $(LD) $(LDFLAGS) $(LTLINKOPTS) $(LTLIBPATHS) /DLL /OUT:$@ fts5_ext.lo
  
  # Rules to build the 'testfixture' application.
  #
diff --cc main.mk
index 79847924d06107e732dba76e13e7d8b32288d230,5b93a99771abbcbb0093726aa4d354c024fe7db6..4d576edb5e0ca035a8ab4dc1581b224f772bf78a
+++ b/main.mk
@@@ -73,8 -72,8 +73,10 @@@ LIBOBJ+= vdbe.o parse.o 
         vdbetrace.o wal.o walker.o where.o wherecode.o whereexpr.o \
           utf.o vtab.o
  
 +LIBOBJ += sqlite3session.o
 +
+ LIBOBJ += fts5.o
  
  
  # All of the source code files.
@@@ -225,12 -224,10 +227,13 @@@ SRC += 
    $(TOP)/ext/rtree/sqlite3rtree.h \
    $(TOP)/ext/rtree/rtree.h \
    $(TOP)/ext/rtree/rtree.c
 +SRC += \
 +  $(TOP)/ext/session/sqlite3session.c \
 +  $(TOP)/ext/session/sqlite3session.h
  SRC += \
    $(TOP)/ext/userauth/userauth.c \
-   $(TOP)/ext/userauth/sqlite3userauth.h
+   $(TOP)/ext/userauth/sqlite3userauth.h 
  SRC += \
    $(TOP)/ext/ota/sqlite3ota.c \
    $(TOP)/ext/ota/sqlite3ota.h
@@@ -671,11 -708,9 +719,11 @@@ testfixture$(EXE): $(TESTSRC2) libsqlit
                $(TESTSRC) $(TESTSRC2) $(TOP)/src/tclsqlite.c                \
                -o testfixture$(EXE) $(LIBTCL) libsqlite3.a $(THREADLIB)
  
- amalgamation-testfixture$(EXE): sqlite3.c $(TESTSRC) $(TOP)/src/tclsqlite.c  \
 -amalgamation-testfixture$(EXE): sqlite3.c fts5.c $(TESTSRC) $(TOP)/src/tclsqlite.c
++amalgamation-testfixture$(EXE): sqlite3.c fts5.c $(TESTSRC) $(TOP)/src/tclsqlite.c  \
 +                              $(TOP)/ext/session/test_session.c
        $(TCCX) $(TCL_FLAGS) -DTCLSH=1 $(TESTFIXTURE_FLAGS)                  \
-               $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c                  \
+               $(TESTSRC) $(TOP)/src/tclsqlite.c sqlite3.c fts5.c           \
 +              $(TOP)/ext/session/test_session.c                            \
                -o testfixture$(EXE) $(LIBTCL) $(THREADLIB)
  
  fts3-testfixture$(EXE): sqlite3.c fts3amal.c $(TESTSRC) $(TOP)/src/tclsqlite.c
diff --cc manifest
index ca5e17e174c59d645e7274bca62a16fb2bd670d4,52ea7d278e61e2e0606e55e2856f3afd21a00c4f..90f135b85c0497b50d4944d0689001db422dc1cd
+++ b/manifest
@@@ -1,9 -1,9 +1,9 @@@
- C Merge\sall\sthe\slatest\senhancements\sfrom\strunk.
- D 2015-06-25T15:44:49.660
 -C Make\suse\sof\sbuilt-in\sbswap32()\sand\sbswap16()\sfunctions\sin\sGCC/Clang\sfor\sa\nsignificant\sperformance\simprovement\sthere.
 -D 2015-06-30T15:10:29.855
++C Merge\sall\sthe\slatest\senhancements\sfrom\strunk.\s\sThis\smerge\sinclude\sFTS5\nand\sa\snumber\sof\snotable\sperformance\senhancements.
++D 2015-06-30T16:29:59.664
  F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
- F Makefile.in 5f56f6186fdbd0fb33226e9d2279acde3b3fa88b
 -F Makefile.in 285a0a234ed7610d431d91671c136098c2bd86a9
++F Makefile.in c7566d9d9892f855145cbd28bf176fddf44a98b4
  F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
- F Makefile.msc 3165ac5ae2fee79cf7d5e025b879f7a52ae66776
 -F Makefile.msc 0a0568c12cf37fd9683241dfe7aa484fcdf27554
++F Makefile.msc 1c184a23e55ed4b1781dfa127df295615a6eba0f
  F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858
  F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
  F VERSION ce0ae95abd7121c534f6917c1c8f2b70d9acd4db
@@@ -190,9 -248,9 +267,9 @@@ F ext/userauth/userauth.c 5fa3bdb492f48
  F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
  F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
  F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk 2395b88d31e71bbd6f9dd26bd6db26948ead9eb3
 -F main.mk 934da670dac2fe2b40986a83741cec770c91fdc0
++F main.mk eedc2e607f56729cdcc4b90d8654dfd472bc5bee
  F mkopcodec.awk c2ff431854d702cdd2d779c9c0d1f58fa16fa4ea
- F mkopcodeh.awk d5e22023b5238985bb54a72d33e0ac71fe4f8a32
+ F mkopcodeh.awk 0e7f04a8eb90f92259e47d80110e4e98d7ce337a
  F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -220,8 -278,8 +297,8 @@@ F src/complete.c addcd8160b081131005d5b
  F src/ctime.c 5a0b735dc95604766f5dac73973658eef782ee8b
  F src/date.c e4d50b3283696836ec1036b695ead9a19e37a5ac
  F src/dbstat.c f402e77e25089c6003d0c60b3233b9b3947d599a
 -F src/delete.c 8857a6f27560718f65d43bdbec86c967ae1f8dfa
 +F src/delete.c b998fbc3c55e8331a5f40aa7ff80972254de8de1
- F src/expr.c 32c836d9fa22c25371039febf074849dcefb3de9
+ F src/expr.c c5c58e4d01c7ceb2266791d8d877f1b23a88e316
  F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
  F src/fkey.c c9b63a217d86582c22121699a47f22f524608869
  F src/func.c a98ea5880dc50e9ca6dd6f57079a37b9cfcdecf1
@@@ -229,13 -287,13 +306,13 @@@ F src/global.c 4f77cadbc5427d00139ba43d
  F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
  F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
  F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
 -F src/insert.c b5f8b35a1b7924020e48cade5b2b5017bca7906b
 +F src/insert.c a81d4454051c92d058d79cd77099e700e36a74f6
  F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
  F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
- F src/lempar.c 7274c97d24bb46631e504332ccd3bd1b37841770
+ F src/lempar.c 92bafa308607dd985ca389a788cd9e0a2b608712
  F src/loadext.c e722f4b832f923744788365df5fb8515c0bc8a47
- F src/main.c 949e2096a9375cbff11e4835c7b99c813ea2f610
- F src/malloc.c 908c780fdddd472163c2d1b1820ae4081f01ad20
 -F src/main.c 92d79bfa1a36c7c554700bb58eb8327abff1ac5c
++F src/main.c 5e170f7c4872c272d733572a99628e47fe92ab43
+ F src/malloc.c 9be4e645f2fb411e5a04cf97e91f68b4faa6dc81
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
  F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
@@@ -269,17 -327,17 +346,17 @@@ F src/printf.c db11b5960105ee661dcac690
  F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
  F src/resolve.c 2d47554370de8de6dd5be060cef9559eec315005
  F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
- F src/select.c 9baeda79f93cfd180d471273a2f9c82c682a37a2
+ F src/select.c 009c6138be8788449d4f911f380d99e8608040e2
 -F src/shell.c 8af3cced094aebb5f57a8ad739b9dafc7867eed7
 -F src/sqlite.h.in 76d2f5637eb795b6300d9dd3c3ec3632ffafd721
 +F src/shell.c e4ad9031072a6d679b2c69a780014d30db62dc7f
 +F src/sqlite.h.in 876ad21b9a6bb5034db7c44cdebd5df2292a5336
  F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
  F src/sqlite3ext.h be1a718b7d2ce40ceba725ae92c8eb5f18003066
- F src/sqliteInt.h dc4d9615bc38d5eaaaf95b7a5e98267615c51ee7
 -F src/sqliteInt.h cf643b5a34633de5d4703eba1e2b1a205af53c8a
++F src/sqliteInt.h 2c8f1aad45b003a5efd615ac1d12aca83cc8d364
  F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46
  F src/status.c f266ad8a2892d659b74f0f50cb6a88b6e7c12179
  F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e
- F src/tclsqlite.c 060e6398f47a187ec707030e6306c730a48c845d
- F src/test1.c a8e09b811f70184ce65012f27f30cfee7e54f268
 -F src/tclsqlite.c 13b9c2aa725882de807377fa889682eff2a74114
++F src/tclsqlite.c 6cfb538d12565aba52840709721a02dd99806f1c
+ F src/test1.c e055ab594a48d25720ed31daa5eced1163544488
  F src/test2.c 577961fe48961b2f2e5c8b56ee50c3f459d3359d
  F src/test3.c 64d2afdd68feac1bb5e2ffb8226c8c639f798622
  F src/test4.c d168f83cc78d02e8d35567bb5630e40dcd85ac1e
@@@ -293,7 -351,7 +370,7 @@@ F src/test_autoext.c dea8a01a7153b9adc9
  F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
  F src/test_blob.c e5a7a81d61a780da79101aeb1e60d300af169e07
  F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
- F src/test_config.c 32606543e66d128e8891aa750ab37791211e5623
 -F src/test_config.c b14036415582c329d2a7b154ce079e0f623113ce
++F src/test_config.c c15d03e834c4bda571e689a0fefb106a288450a4
  F src/test_demovfs.c 0de72c2c89551629f58486fde5734b7d90758852
  F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
  F src/test_fs.c ced436e3d4b8e4681328409b8081051ce614e28f
@@@ -328,20 -386,20 +405,20 @@@ F src/threads.c 6bbcc9fe50c917864d48287
  F src/tokenize.c 57cb3720f53f84d811def2069c2b169b6be539a5
  F src/treeview.c c84b1a8ebc7f1d00cd76ce4958eeb3ae1021beed
  F src/trigger.c 322f23aad694e8f31d384dcfa386d52a48d3c52f
 -F src/update.c 487747b328b7216bb7f6af0695d6937d5c9e605f
 +F src/update.c 24dd6a45b8b3470e62702128ebf11be1f2693145
  F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c
- F src/util.c a6431c92803b975b7322724a7b433e538d243539
+ F src/util.c 89bfe78b4610d456ba431a0865309a20acc115f3
  F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701
- F src/vdbe.c 60917660c84745cb644d4ddd750301fe0649ccd0
- F src/vdbe.h 218e957540f5e0866501d2b546ded647c86b8d84
- F src/vdbeInt.h 571977048ae46b947fb8bbbd1332e5d98f1ca845
 -F src/vdbe.c 5ee4a2bf871418f61d06dc256b9b3a0084b5ec46
 -F src/vdbe.h 7a75045d879118b9d3af7e8b3c108f2f27c51473
 -F src/vdbeInt.h 8b54e01ad0463590e7cffabce0bc36da9ee4f816
 -F src/vdbeapi.c 6a0d7757987018ff6b1b81bc5293219cd26bb299
 -F src/vdbeaux.c 54bcc56d368b2d0bebc523cff514893156c09daf
 -F src/vdbeblob.c 4f2e8e075d238392df98c5e03a64342465b03f90
 -F src/vdbemem.c ae38a0d35ae71cf604381a887c170466ba518090
++F src/vdbe.c 195b32310c7062847a45fda214b32ceb8f8f6ab2
++F src/vdbe.h d0f8ab919146109d080cde4b0840af9b5fafad4b
++F src/vdbeInt.h 963c87c4bf8040c0a316ca3e58f8a4888e1fa3c4
 +F src/vdbeapi.c a5d2e8afd53b4f81934f5ca59c04465cd1a6d50d
- F src/vdbeaux.c 73788765a2d43514822fbcb2a69068fb48f4dcdd
++F src/vdbeaux.c d6bfb7b4291bc033283140e21c2da2ce04ef0f78
 +F src/vdbeblob.c ab33f9b57cfce7dddb23853090186da614be4846
- F src/vdbemem.c 9b6436ec92a4516df614f55c0ad7be2fc464527a
++F src/vdbemem.c 6c9e261d135fc175da2f34e46d60243a19fffb9f
  F src/vdbesort.c f5009e7a35e3065635d8918b9a31f498a499976b
  F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0
- F src/vtab.c c535e80259ebe616467181a83a4263555b97c694
+ F src/vtab.c 082b35a25a26e3d36f365ca8cd73c1922532f05e
  F src/vxworks.h c18586c8edc1bddbc15c004fa16aeb1e1342b4fb
  F src/wal.c ce2cb2d06faab54d1bce3e739bec79e063dd9113
  F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4
@@@ -844,7 -902,7 +921,7 @@@ F test/pagesize.test 5769fc62d8c890a83a
  F test/pcache.test b09104b03160aca0d968d99e8cd2c5b1921a993d
  F test/pcache2.test a83efe2dec0d392f814bfc998def1d1833942025
  F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff
- F test/permutations.test 242d5aa14f84cb03ae830342b176d2b15ec55ffb
 -F test/permutations.test 6a88fd9ca15b804e9c20990773262ca67494058f
++F test/permutations.test 1a49f543ec7f0e075ca24eae3bda7f75bb00634b
  F test/pragma.test be7195f0aa72bdb8a512133e9640ac40f15b57a2
  F test/pragma2.test f624a496a95ee878e81e59961eade66d5c00c028
  F test/pragma3.test 6f849ccffeee7e496d2f2b5e74152306c0b8757c
@@@ -1306,7 -1364,8 +1384,7 @@@ F tool/vdbe_profile.tcl 67746953071a9f8
  F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
  F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P 199bfb67fdf642cca6cd5d460fa4dc602b94837a f824e66b0dc120bed227c7446e2663fcad7cc4f6
- R b6a4a6a3d66ab4b5ed5e1b39669d179f
 -P b406b20ecdf0bff63c5c222fab11cb9acee86765 ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea
 -R e9f634c6724f1e6a3b5c72453520bbb0
 -T +closed ce8177e3e64d2ac4cd5d9e7757cdd5fcecd7d0ea
++P 924f471291dfd458307a11819aa640cc1a02ac63 8bfcda3d10aec864d71d12a1248c37e4db6f8899
++R 16211acde3caeef0e3b8268914f32a0d
  U drh
- Z d59c65de498941f5f2907132a991b726
 -Z 3fa235f76195131887feff91c1f8744e
++Z 476ef58b2bdb077bbb18b26bb89bdae6
diff --cc manifest.uuid
index 19f1c7fce378dd4643a246a306071beb57bdeaf5,c16cd14878273dd72b7776454db630067aa6adfc..3fe08b19539f055b1864bcad675386f23c80e1df
@@@ -1,1 -1,1 +1,1 @@@
- 924f471291dfd458307a11819aa640cc1a02ac63
 -8bfcda3d10aec864d71d12a1248c37e4db6f8899
++39936b33b0668aad81aa574d4d74c92b0ddd218a
diff --cc src/main.c
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/tclsqlite.c
index e5c4ef6fdec6a2d685412286ac49d10ab48fe78d,262863b31ea94f21458e9f340f40a9971092bb46..0f572bd013bed04bb0564b58aae6ecccc2116b29
@@@ -3906,11 -3760,8 +3906,11 @@@ static void init_all(Tcl_Interp *interp
      extern int Sqlitemultiplex_Init(Tcl_Interp*);
      extern int SqliteSuperlock_Init(Tcl_Interp*);
      extern int SqlitetestSyscall_Init(Tcl_Interp*);
 +#if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK)
 +    extern int TestSession_Init(Tcl_Interp*);
 +#endif
+     extern int Fts5tcl_Init(Tcl_Interp *);
      extern int SqliteOta_Init(Tcl_Interp*);
  #if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
      extern int Sqlitetestfts3_Init(Tcl_Interp *interp);
  #endif
      Sqlitemultiplex_Init(interp);
      SqliteSuperlock_Init(interp);
      SqlitetestSyscall_Init(interp);
 +#if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK)
 +    TestSession_Init(interp);
 +#endif
+     Fts5tcl_Init(interp);
      SqliteOta_Init(interp);
  
  #if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbe.h
index f6a8b61078f10c166152b90826c9f9f909df217c,c489fd04a67a5331443064a52d81fb87d9b9d0ec..bea4c3be39a7cd46c4eb9bed10a0a4e8f0946eff
@@@ -120,7 -120,7 +121,8 @@@ typedef struct VdbeOpList VdbeOpList
  #define P4_INTARRAY (-15) /* P4 is a vector of 32-bit integers */
  #define P4_SUBPROGRAM  (-18) /* P4 is a pointer to a SubProgram structure */
  #define P4_ADVANCE  (-19) /* P4 is a pointer to BtreeNext() or BtreePrev() */
 -#define P4_FUNCCTX  (-20) /* P4 is a pointer to an sqlite3_context object */
 +#define P4_TABLE    (-20) /* P4 is a pointer to a Table structure */
++#define P4_FUNCCTX  (-21) /* P4 is a pointer to an sqlite3_context object */
  
  /* Error message codes for OP_Halt */
  #define P5_ConstraintNotNull 1
diff --cc src/vdbeInt.h
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/vdbemem.c
Simple merge
Simple merge