From: drh Date: Tue, 30 Jun 2015 16:29:59 +0000 (+0000) Subject: Merge all the latest enhancements from trunk. This merge include FTS5 X-Git-Tag: version-3.13.0~148^2~47 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=59b4bd48402d7e3fd43c6421c914f941381ad67f;p=thirdparty%2Fsqlite.git Merge all the latest enhancements from trunk. This merge include FTS5 and a number of notable performance enhancements. FossilOrigin-Name: 39936b33b0668aad81aa574d4d74c92b0ddd218a --- 59b4bd48402d7e3fd43c6421c914f941381ad67f diff --cc Makefile.in index e3d323bbdf,0a2389225b..4bb4965d40 --- a/Makefile.in +++ b/Makefile.in @@@ -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 33c2886c54,95c0cf18d4..cccfc76700 --- a/Makefile.msc +++ b/Makefile.msc @@@ -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 79847924d0,5b93a99771..4d576edb5e --- a/main.mk +++ 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 ca5e17e174,52ea7d278e..90f135b85c --- a/manifest +++ 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 19f1c7fce3,c16cd14878..3fe08b1953 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 924f471291dfd458307a11819aa640cc1a02ac63 -8bfcda3d10aec864d71d12a1248c37e4db6f8899 ++39936b33b0668aad81aa574d4d74c92b0ddd218a diff --cc src/tclsqlite.c index e5c4ef6fde,262863b31e..0f572bd013 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@@ -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 @@@ -3953,9 -3804,7 +3953,10 @@@ 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) diff --cc src/vdbe.h index f6a8b61078,c489fd04a6..bea4c3be39 --- a/src/vdbe.h +++ b/src/vdbe.h @@@ -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