- C Update\sshell6.test\sto\saccount\sfor\sthe\sfact\sthat\stests\sare\snow\srun\sin\sa\nseparate\sdirectory.
- D 2017-03-31T08:00:03.133
- F Makefile.in f53429fb2f313c099283659d0df6f20f932c861f
-C Declare\sthe\sLemon-generated\sparser\sobject\sas\sitself.\s\s(Duh)
-D 2017-03-30T17:13:37.978
++C Merge\slatest\strunk\sinto\sthis\sbranch.
++D 2017-03-31T11:20:20.468
+ F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
- F Makefile.msc df0bf9ff7f8b3f4dd9fb4cc43f92fe58f6ec5c66
- F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
- F VERSION c6b1f51809551d60ad001e6d87cf3ab2c7f54b6f
+ F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a
+ F README.md 2b15fae33852f2f53996774c21fb41e1d94181c4401a0e43ac93e11f2cc901b9
+ F VERSION 0a0e02e16b44ea735b40118fc844311b2ab0d35b25fbeda5120aee62f973f663
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2
F art/sqlite370.ico af56c1d00fee7cd4753e8631ed60703ed0fc6e90
F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
F config.h.in 6376abec766e9a0785178b1823b5a587e9f1ccbc
F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
- F configure c01a159fdf7ea0171ad01ce2937283f2c7972bde x
- F configure.ac 89e4e02a83d8a1528011f8395621b8c3186b4089
+ F configure cea63449647267beb335e899fd8a79778912ffa55d6b179730267b8ef84aa1aa x
+ F configure.ac 605173e829ab64514ed89f9b53d0da1739d7b0a0
F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
- F doc/lemon.html c30255bea0fd87a81f082d17a72c9dffbc3f6dd9
+ F doc/lemon.html b5a3c07d33ecb8e019ce8f7660fe2dbbad9d7977
F doc/pager-invariants.txt 27fed9a70ddad2088750c4a2b493b63853da2710
F doc/vfs-shm.txt e101f27ea02a8387ce46a05be2b1a902a021d37a
- F ext/README.txt 913a7bd3f4837ab14d7e063304181787658b14e1
-F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd
++F ext/README.md fd5f78013b0a2bc6f0067afb19e6ad040e89a10179b4f6f03eee58fac5f169bd w ext/README.txt
F ext/async/README.txt e12275968f6fde133a80e04387d0e839b0c51f91
F ext/async/sqlite3async.c 0f3070cc3f5ede78f2b9361fb3b629ce200d7d74
F ext/async/sqlite3async.h f489b080af7e72aec0e1ee6f1d98ab6cf2e4dcef
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
- F main.mk e3b21467eb50c2dff9bf4003a02aea753bfe7e35
-F main.mk 9abb506e717887d57f754bae139b85c1a06d6f2ac25b589f3e792e310567f278
++F main.mk e6f8f6895b75e4615a284b546933ca88fd56f3b85b560f4fb0da731abaa14f80
F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
F sqlite3.1 fc7ad8990fc8409983309bb80de8c811a7506786
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
- F src/alter.c 1bb0709b3048e24217b80ec6bd78a3e99a47c01b
- F src/analyze.c ab57b6763dd4c6170a20673d14882c033affd188
- F src/attach.c 771153bd1f4ab0b97a44a13dde2c7e5e1efeba22
- F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
- F src/backup.c f60f0aa55d25d853ffde53d0b0370a7bb7ee41ce
- F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63
- F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
- F src/btree.c 6eee126fe9d1f57118de9be2be840a4c6e691828
- F src/btree.h a5008b9afe56e8e54ade6c436a910f112defcca9
- F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
- F src/build.c 213cbf84e99dd834e6ea46615633656d7ef79321
+ F src/alter.c 3b23977620ce9662ac54443f65b87ba996e36121
+ F src/analyze.c 0d0ccf7520a201d8747ea2f02c92c26e26f801bc161f714f27b9f7630dde0421
+ F src/attach.c 8c476f8bd5d2afe11d925f890d30e527e5b0ce43
+ F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792
+ F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b
+ F src/bitvec.c 17ea48eff8ba979f1f5b04cc484c7bb2be632f33
+ F src/btmutex.c 0e9ce2d56159b89b9bc8e197e023ee11e39ff8ca
+ F src/btree.c 64ff65a01851a34c8145e5bc767df9e57d2f3c1acdc6aba334794b7c40c684e6
+ F src/btree.h bf64dfeeddeebdb775a5eba0098bbc00d073290d
+ F src/btreeInt.h cd55d39d9916270837a88c12e701047cba0729b0
+ F src/build.c 43f903c9082040ced2b421543cb0300c2973647d
F src/callback.c 2e76147783386374bf01b227f752c81ec872d730
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
- F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198
- F src/date.c 0b73e681c11fca867fec554750c07fe0d4e417c1
- F src/dbstat.c c845548d4346e606e2f2b7d2e714ace2b8a7dd1b
- F src/delete.c 48802aa3ee6339f576d074336d3ae1b5f40e240f
- F src/expr.c c329d581e5d631153456369684d7d4bcd94c907d
- F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
- F src/fkey.c 5cb42d9a59e2a590776fd3fc8ff6f61d40df3c6e
- F src/func.c 552d300265aed09eea21f68ac742a440550c0062
- F src/global.c 884d4c7eba9f5fc25c96a23b21520da19b7713e2
- F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5
- F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094
- F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08
- F src/insert.c 723d5d708cdb61bdd47c00b9f07c75be45aefc09
- F src/legacy.c 75d3023be8f0d2b99d60f905090341a03358c58e
- F src/loadext.c 9e2a41adcaff16ebc1ebff1f336cbf33de55396f
- F src/main.c 787fc7ccd341ae80695fb3954ab95b84b7b3a146
- F src/malloc.c 1443d1ad95d67c21d77af7ae3f44678252f0efec
+ F src/ctime.c 47d91a25ad8f199a71a5b1b7b169d6dd0d6e98c5719eca801568798743d1161c
+ F src/date.c ee676e7694dfadbdd2fde1a258a71be8360ba5ae
+ F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
+ F src/delete.c 0d9d5549d42e79ce4d82ff1db1e6c81e36d2f67c
+ F src/expr.c f12a581f342a6fd85d14c31e4fb84f16b3dd107f54d7728dddb62cebc79d7ce1
+ F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
+ F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
+ F src/func.c 9d52522cc8ae7f5cdadfe14594262f1618bc1f86083c4cd6da861b4cf5af6174
+ F src/global.c 4a34512d82fc5aa13c802db06bcfff5e1d3de955
+ F src/hash.c 63d0ee752a3b92d4695b2b1f5259c4621b2cfebd
+ F src/hash.h ab34c5c54a9e9de2e790b24349ba5aab3dbb4fd4
+ F src/hwtime.h 747c1bbe9df21a92e9c50f3bbec1de841dc5e5da
+ F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
+ F src/insert.c d4bb3a135948553d18cf992f76f7ed7b18aa0327f250607b5a6671e55d9947d5
+ F src/legacy.c e88ed13c2d531decde75d42c2e35623fb9ce3cb0
+ F src/loadext.c a72909474dadce771d3669bf84bf689424f6f87d471fee898589c3ef9b2acfd9
-F src/main.c 158326243c5ddc8b98a1e983fa488650cf76d760
++F src/main.c 36974edf7461f708b337389c59b30ec91257420c129c1f5ee022bc2c2784d320
+ F src/malloc.c 89c98e3619d362dcffa5c1c639b364b65b474751
F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
- F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b
+ F src/mem1.c c12a42539b1ba105e3707d0e628ad70e611040d8f5e38cf942cee30c867083de
F src/mem2.c f1940d9e91948dd6a908fbb9ce3835c36b5d83c3
F src/mem3.c 8768ac94694f31ffaf8b4d0ea5dc08af7010a35a
F src/mem5.c 9bf955937b07f8c32541c8a9991f33ce3173d944
F src/mutex.h 779d588e3b7756ec3ecf7d78cde1d84aba414f85
F src/mutex_noop.c 9d4309c075ba9cc7249e19412d3d62f7f94839c4
F src/mutex_unix.c 27bb6cc49485ee46711a6580ab7b3f1402211d23
- F src/mutex_w32.c 5e6fe1c298fb5a8a15aaed4161d5759311431c17
+ F src/mutex_w32.c a898fa969823b100c0f5fdc57e54c9a1e419ab4d
F src/notify.c 9711a7575036f0d3040ba61bc6e217f13a9888e7
- F src/os.c f89e3ca1c2e3d5015b847aec60371c474acbac82
- F src/os.h 3e57a24e2794a94d3cf2342c6d9a884888cd96bf
+ F src/os.c add02933b1dce7a39a005b00a2f5364b763e9a24
+ F src/os.h 8e976e59eb4ca1c0fca6d35ee803e38951cb0343
F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85
- F src/os_setup.h c9d4553b5aaa6f73391448b265b89bed0b890faa
- F src/os_unix.c f5bac8e74aaefc4ea520e43b4540793c3b8a9e8f
- F src/os_win.c f0d7aa603eb6262143d7169a222aea07c4fca91d
- F src/os_win.h eb7a47aa17b26b77eb97e4823f20a00b8bda12ca
- F src/pager.c 38718a019ca762ba4f6795425d5a54db70d1790d
- F src/pager.h e1d38a2f14849e219df0f91f8323504d134c8a56
- F src/parse.y 5ea8c81c5c41b27887f41b4a7e1c58470d7d3821
- F src/pcache.c 647bb53a86b7bbcf55ad88089b3ea5a9170b90df
- F src/pcache.h 4d0ccaad264d360981ec5e6a2b596d6e85242545
- F src/pcache1.c 72f644dc9e1468c72922eff5904048427b817051
- F src/pragma.c 3ca4a32189ffa5d0b2a908c9d55bd7fcd2717a62
- F src/pragma.h 64c78a648751b9f4f297276c4eb7507b14b4628c
- F src/prepare.c 22df6171aec1d86904ed2ad30c2348a5748aa04e
- F src/printf.c 63e6fb12bbe702dd664dc3703776c090383a5a26
- F src/random.c ba2679f80ec82c4190062d756f22d0c358180696
- F src/resolve.c b8f7174e5f8c33c44ded3a25a973d0bb89228c20
- F src/rowset.c 9fe4b3ad7cc00944386bb600233d8f523de07a6e
- F src/select.c 137b31daa84d57d67847bf621bb54f3353e2077b
- F src/shell.c 4aba7844546ffd02b728a9509226a6e3c0462f77
+ F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586
+ F src/os_unix.c 30e2c43e4955db990e5b5a81e901f8aa74cc8820
+ F src/os_win.c 2a6c73eef01c51a048cc4ddccd57f981afbec18a
+ F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
+ F src/pager.c ff1232b3088a39806035ecfac4fffeb22717d80b
+ F src/pager.h f2a99646c5533ffe11afa43e9e0bea74054e4efa
+ F src/parse.y 48b03113704ee8bd78ee6996d81de7fbee22e105
+ F src/pcache.c 62835bed959e2914edd26afadfecce29ece0e870
+ F src/pcache.h 2cedcd8407eb23017d92790b112186886e179490
+ F src/pcache1.c 1195a21fe28e223e024f900b2011e80df53793f0356a24caace4188b098540dc
-F src/pragma.c 2b244434e76c7075edbcfd9e4d634899af0944ff01183b126d4671f7407c2368
++F src/pragma.c 157c323aef421d55905b42162ba16bc874c0dce3102c543b4092c202f881f2c6
+ F src/pragma.h c9c763958fec92b04125571472c9500b351c5f7f
+ F src/prepare.c b1140c3d0cf59bc85ace00ce363153041b424b7a
+ F src/printf.c 8757834f1b54dae512fb25eb1acc8e94a0d15dd2290b58f2563f65973265adb2
+ F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384
+ F src/resolve.c 3e518b962d932a997fae373366880fc028c75706
+ F src/rowset.c 7b7e7e479212e65b723bf40128c7b36dc5afdfac
+ F src/select.c 2496d0cc6368dabe7ad2e4c7f5ed3ad9aa3b4d11cd90f33fa1d1ef72493f43aa
-F src/shell.c ceb2b2f1f958ea2c47a7f37972d0f715fbf9dcf6a34a5e98c886b85e3ce6a238
-F src/sqlite.h.in 723107d97f2345a7c103632169dc61366121c4ab65d75a7d83c6dc0e5bbe5ca4
++F src/shell.c e524688c2544167f835ba43e24309f8707ca60c8ab6eb5c263a12c8618a233b8
+F src/shell_indexes.c 23c4b7f7bb8e9b0a8b912c389a85922939bb0769
- F src/sqlite.h.in 9f0fee10494624d03686fabcc270ce8d12fcb65b
++F src/sqlite.h.in 3db120c750634c0acc1ca291140a4cae75cb41cb0507f53c31b838c040954366
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
- F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d
- F src/sqliteInt.h 8c95b3589d084ea68e947aa84abc32f185ed6155
- F src/sqliteLimit.h 7b28cf72cbd52f178bfc97ea266445e351f2cd24
- F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba
- F src/table.c 5226df15ab9179b9ed558d89575ea0ce37b03fc9
- F src/tclsqlite.c 54dca4eaf3a9cb0a4b845ef54ffa99225c30a52e
- F src/test1.c f14a6f9e2cff6cba4d83e2b0c52857f61886cead
- F src/test2.c 5586f43fcd9a1be0830793cf9d354082c261b25b
- F src/test3.c a8887dabbbee3059af338f20d290084a63ed1b0f
- F src/test4.c d168f83cc78d02e8d35567bb5630e40dcd85ac1e
- F src/test5.c 5a34feec76d9b3a86aab30fd4f6cc9c48cbab4c1
- F src/test6.c 41cacf3b0dd180823919bf9e1fbab287c9266723
- F src/test7.c 9c89a4f1ed6bb13af0ed805b8d782bd83fcd57e3
- F src/test8.c fa262391d3edea6490a71bfaa8fed477ccbbac75
- F src/test9.c bea1e8cf52aa93695487badedd6e1886c321ea60
- F src/test_async.c 21e11293a2f72080eda70e1124e9102044531cd8
- F src/test_autoext.c dea8a01a7153b9adc97bd26161e4226329546e12
- F src/test_backup.c 2e6e6a081870150f20c526a2e9d0d29cda47d803
- F src/test_bestindex.c 29af3cc3b963ffe5760c85d142b9b3e5302c1e3d
- F src/test_blob.c b2551a9b5573232db5f66f292307c37067937239
- F src/test_btree.c 2e9978eca99a9a4bfa8cae949efb00886860a64f
- F src/test_config.c 0dee90328e3dedf8ba002ee94b6a7e7ea7726fe4
- F src/test_demovfs.c 0de72c2c89551629f58486fde5734b7d90758852
- F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
- F src/test_fs.c f10f840ca4f8c72e4837908bd8347ac4bcab074b
- F src/test_func.c 37453d346cfcf118774efd5bf6187f7e6a7e3254
- F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd
- F src/test_init.c 66b33120ffe9cd853b5a905ec850d51151337b32
- F src/test_intarray.c 870124b95ec4c645d4eb84f15efb7133528fb1a5
- F src/test_intarray.h 9dc57417fb65bc7835cc18548852cc08cc062202
- F src/test_journal.c 5360fbe1d1e4416ca36290562fd5a2e3f70f32aa
+ F src/sqlite3ext.h 58fd0676d3111d02e62e5a35992a7d3da5d3f88753acc174f2d37b774fbbdd28
-F src/sqliteInt.h a530e5baf5e559154d5c2e5cc57471bc780a7af4cd0a5d72750b1d850fef1e22
++F src/sqliteInt.h 22a0a101c51a0fae4156088f7c613b99a73d20ba6153a1400d1ae3011cf1082c
+ F src/sqliteLimit.h 1513bfb7b20378aa0041e7022d04acb73525de35b80b252f1b83fedb4de6a76b
+ F src/status.c a9e66593dfb28a9e746cba7153f84d49c1ddc4b1
+ F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34
+ F src/tclsqlite.c 6c2151b6d8d98e183a04466d40df8889c0574d79
+ F src/test1.c 8a98191a1da8e100f77cdb5cc716df67d405028d
+ F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5
+ F src/test3.c d03f5b5da9a2410b7a91c64b0d3306ed28ab6fee
+ F src/test4.c 18ec393bb4d0ad1de729f0b94da7267270f3d8e6
+ F src/test5.c 328aae2c010c57a9829d255dc099d6899311672d
+ F src/test6.c 004ad42f121f693b8cbe060d1a330678abc61620
+ F src/test7.c 5612e9aecf934d6df7bba6ce861fdf5ba5456010
+ F src/test8.c 4f4904721167b32f7a4fa8c7b32a07a673d6cc86
+ F src/test9.c 12e5ba554d2d1cbe0158f6ab3f7ffcd7a86ee4e5
+ F src/test_async.c 195ab49da082053fdb0f949c114b806a49ca770a
+ F src/test_autoext.c 915d245e736652a219a907909bb6710f0d587871
+ F src/test_backup.c bf5da90c9926df0a4b941f2d92825a01bbe090a0
+ F src/test_bestindex.c d23f80d334c59662af69191854c76b8d3d0c8c96
+ F src/test_blob.c f65ac717da2618691cf9dad094e6da0219dcd208
+ F src/test_btree.c 8b2dc8b8848cf3a4db93f11578f075e82252a274
+ F src/test_config.c edcba290248dc18736dd814c9b95863c6762e0b35753048d8cbe5bf65f7abfbb
+ F src/test_delete.c af7eab5702f853fb1c62a5f7665e2234cf1ae17b
+ F src/test_demovfs.c a0c3bdd45ed044115c2c9f7779e56eafff18741e
+ F src/test_devsym.c 4e58dec2602d8e139ca08659f62a62450587cb58
+ F src/test_fs.c e16cbe68d3b107e00a907c20a9a02629870eb69b
+ F src/test_func.c a4fdab3363b436c1b12660e9362ce3f3782b7b5e
+ F src/test_hexio.c 1d4469ca61ab202a1fcec6543f584d2407205e8d
+ F src/test_init.c 4413c211a94b62157ca4c145b3f27c497f03c664
+ F src/test_intarray.c 988fc61cb0ff539f4172c0d95f15287c92516f64
+ F src/test_intarray.h f3b7672f5d1056eac563c0d6ea8480a660b1475c
+ F src/test_journal.c 619f2aa10e0d7a5f87c0f06825bc61dfce1c6b9c7f3ad990fb13de6c3b8874a3
F src/test_loadext.c 337056bae59f80b9eb00ba82088b39d0f4fe6dfd
- F src/test_malloc.c 96df9381a1ff1f6d3805ff7231b9baf1386aaabf
- F src/test_multiplex.c 6a088d8d9d4aad4bec45dd8878af11b15900702d
- F src/test_multiplex.h c08e4e8f8651f0c5e0509b138ff4d5b43ed1f5d3
- F src/test_mutex.c dbdfaff8580071f2212a0deae3325a93a737819c
- F src/test_onefile.c 38f7cbe79d5bafe95bde683cc3a53b8ca16daf10
- F src/test_osinst.c 5423dc1d355f594371f27dd292ca54bd320b8196
+ F src/test_malloc.c c05f6c40bd6c8bfe5f1718212f81fd5687f91766
+ F src/test_multiplex.c e054459f7633f3ff8ce1245da724f9a8be189e4e
+ F src/test_multiplex.h 5436d03f2d0501d04f3ed50a75819e190495b635
+ F src/test_mutex.c 7f4337ba23ee6b1d2ec81c189653608cb069926a
+ F src/test_onefile.c 416f87a28d6d673352d33fc4b1c7d39db878e50f
+ F src/test_osinst.c 98ef31ff03d55497829ca0f6c74a9f4e1aa48690
F src/test_pcache.c a5cd24730cb43c5b18629043314548c9169abb00
- F src/test_quota.c 180813f43683be5725458fc1ff13ac455d8e722d
+ F src/test_quota.c 6cb9297115b551f433a9ad1741817a9831abed99
F src/test_quota.h 2a8ad1952d1d2ca9af0ce0465e56e6c023b5e15d
- F src/test_rtree.c 43fff4c5a01576d6d213f27472598801a247890c
- F src/test_schema.c 2bdba21b82f601da69793e1f1d11bf481a79b091
+ F src/test_rtree.c 671f3fae50ff116ef2e32a3bf1fe21b5615b4b7b
+ F src/test_schema.c f575932cb6274d12147a77e13ea4b49d52408513
F src/test_server.c a2615049954cbb9cfb4a62e18e2f0616e4dc38fe
- F src/test_sqllog.c 0d138a8180a312bf996b37fa66da5c5799d4d57b
- F src/test_superlock.c 06797157176eb7085027d9dd278c0d7a105e3ec9
- F src/test_syscall.c 2e21ca7f7dc54a028f1967b63f1e76155c356f9b
- F src/test_tclvar.c d86412527da65468ee6fa1b8607c65d0af736bc4
- F src/test_thread.c af391ec03d23486dffbcc250b7e58e073f172af9
- F src/test_vfs.c 3b65d42e18b262805716bd96178c81da8f2d9283
+ F src/test_sqllog.c 11e6ce7575f489155c604ac4b439f2ac1d3d5aef
+ F src/test_superlock.c 4839644b9201da822f181c5bc406c0b2385f672e
+ F src/test_syscall.c 1073306ba2e9bfc886771871a13d3de281ed3939
+ F src/test_tclvar.c df9fe1213c2634687a9ca0b0bec0d2119d359ae3
+ F src/test_thread.c 911d15fb14e19c0c542bdc8aabf981c2f10a4858
+ F src/test_vfs.c f0186261a24de2671d080bcd8050732f0cb64f6e
F src/test_vfstrace.c bab9594adc976cbe696ff3970728830b4c5ed698
- F src/test_windirent.c 8f5fada630348558d5745b334702f301da1ffc61
- F src/test_windirent.h b12055cab6227f7be10f5c19296f67c60cc5e2a5
+ F src/test_windirent.c 17f91f5f2aa1bb7328abb49414c363b5d2a9d3ff
+ F src/test_windirent.h 5d67483a55442e31e1bde0f4a230e6e932ad5906
F src/test_wsd.c 41cadfd9d97fe8e3e4e44f61a4a8ccd6f7ca8fe9
F src/threads.c 4ae07fa022a3dc7c5beb373cf744a85d3c5c6c3c
- F src/tokenize.c 3d338cdd00d916ce8a05c397001d64ed58e6fe1c
- F src/treeview.c e4b41a37530a191579d3c53142cc44ee2eb99373
- F src/trigger.c e14840ee0c3e549e758ec9bf3e4146e166002280
- F src/update.c 56b3db7edff0110360a12b76af97c39ebe3ea8b8
+ F src/tokenize.c de2ec4fed5aa9770791be7528a08597a77a36b2ffbbeb0c2cb6951e80357730b
+ F src/treeview.c 84d0ac737e1231702679f0289180021e19c5cc186ec413e8dcb704a887c76ec8
+ F src/trigger.c c9f0810043b265724fdb1bdd466894f984dfc182
+ F src/update.c 456d4a4656f8a03c2abc88a51b19172197400e58
F src/utf.c 699001c79f28e48e9bcdf8a463da029ea660540c
- F src/util.c 34ef7be420f82415ec48131404995ddb6ee7502f
- F src/vacuum.c feb1eabb20987983d9350cad98299b21fa811f52
- F src/vdbe.c 87ae3a5657fefed7875f3eb30e7ababd48013d71
- F src/vdbe.h c743791f723049db94f009e3e30958952bc2d512
- F src/vdbeInt.h 49a74fe5ece206d2d8666ba9afaf1abeda5f123b
- F src/vdbeapi.c 95b1f8e527240a18a9aea41a655b013bf07a7009
- F src/vdbeaux.c 2c15cf88de4df97428318c8cfac0dea873dae451
- F src/vdbeblob.c 3b570b730109e8f653d9d2081649f6e7015113db
- F src/vdbemem.c 9b0cb32cc267ef026515f15a3594d5ff91fe4dfc
- F src/vdbesort.c 307460bfa4de4d1c3901fcd42089159131e34062
- F src/vdbetrace.c f75c5455d8cf389ef86a8bfdfd3177e0e3692484
- F src/vtab.c fd69fd398e23e57ea4ea377d8a44b6998fc569c7
+ F src/util.c ca8440ede81e155d15cff7c101654f60b55a9ae6
+ F src/vacuum.c 1fe4555cd8c9b263afb85b5b4ee3a4a4181ad569
+ F src/vdbe.c f1acf5744cef62cbfd0b503d84289f840b6cdc980ac47b0d9632dfdb89cc79eb
+ F src/vdbe.h caa5346d52bae2a3c8c1dcfa60a7a4dc878a9e3865cb8239da55808b316c8158
+ F src/vdbeInt.h 5db089ce18c4feff8820ec6e4cac2d2c82e03d4b1d96f10a6e43832147b8dffe
+ F src/vdbeapi.c 5b08d82592bcff4470601fe78aaabebd50837860
+ F src/vdbeaux.c ecd0468611925d218e1eb4b3f538907904b136f0e15e333291a232b521bfcef1
+ F src/vdbeblob.c 359891617358deefc85bef7bcf787fa6b77facb9
+ F src/vdbemem.c 3b5a9a5b375458d3e12a50ae1aaa41eeec2175fd
+ F src/vdbesort.c eda25cb2d1727efca6f7862fea32b8aa33c0face
+ F src/vdbetrace.c 41963d5376f0349842b5fc4aaaaacd7d9cdc0834
+ F src/vtab.c 007513c2ef52472fcdea6a741683d50662e82790
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
- F src/wal.c 10deb6b43887662691e5f53d10b3c171c401169b
- F src/wal.h 2f7c831cf3b071fa548bf2d5cac640846a7ff19c
- F src/walker.c 0f142b5bd3ed2041fc52d773880748b212e63354
- F src/where.c b8566be7e2e195053238874d4f3bc4abf9e36b40
- F src/whereInt.h 93297d56edd137b7ea004490690fb6e2ce028a34
- F src/wherecode.c 863aedf086131743763c1960637fde904eadc442
- F src/whereexpr.c fb87944b1254234e5bba671aaf6dee476241506a
+ F src/wal.c 40c543f0a2195d1b0dc88ef12142bea690009344
+ F src/wal.h 06b2a0b599cc0f53ea97f497cf8c6b758c999f71
+ F src/walker.c b71a992b413b3a022572eccf29ef4b4890223791
-F src/where.c e815093e5ee039b6b4eb19b646d22deb1a3a523f
++F src/where.c 30c790ab98b759ac3d7fa564e1321489151fac7d1587525bc5b9698394a41ecf
+ F src/whereInt.h 2d50c2b74a33be44cb68fdecee30b4d93552f1f4
+ F src/wherecode.c 677e95413c472c0b413023b6b69a47f40fce1b04
+ F src/whereexpr.c 130cdd1a43af71b19755270fb1224874cf55158c
F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd
+ F test/affinity3.test 6a101af2fc945ce2912f6fe54dd646018551710d
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/aggnested.test b35b4cd69fc913f90d39a575e171e1116c3a4bb7
F test/alias.test 4529fbc152f190268a15f9384a5651bbbabc9d87
F test/sharedB.test 16cc7178e20965d75278f410943109b77b2e645e
F test/shared_err.test 2f2aee20db294b9924e81f6ccbe60f19e21e8506
F test/sharedlock.test 5ede3c37439067c43b0198f580fd374ebf15d304
- F test/shell1.test a45b424ec23a4b946848ff9e1af5186c677162ab
- F test/shell2.test 12b8bf901b0e3a8ac58cf5c0c63a0a388d4d1862
- F test/shell3.test 5e8545ec72c4413a0e8d4c6be56496e3c257ca29
- F test/shell4.test f43e250139dc5dc5f0f2ec1752c50284a1ede102
- F test/shell5.test c04e9f9f948305706b88377c464c7f08ce7479f9
+ F test/shell1.test 50226a3a66bbd42a902e9f7698f768927eb33a56e9cfc55b7c157c38eb3e80ac
+ F test/shell2.test e242a9912f44f4c23c3d1d802a83e934e84c853b
+ F test/shell3.test 9b95ba643eaa228376f06a898fb410ee9b6e57c1
+ F test/shell4.test 89ad573879a745974ff2df20ff97c5d6ffffbd5d
+ F test/shell5.test 50a732c1c2158b1cd62cf53975ce1ea7ce6b9dc9
-F test/shell6.test cff624fadf71bdb5e3a9b0f86eaf59a43c0622b1
+F test/shell6.test 05c2488ff2bb11ac300b9170e8f5b6e03d58982c77035cdca5dbf036f0d3c5b7
+ F test/shell7.test 07751911b294698e0c5df67bcbd29e7d2f0f2907
F test/shortread1.test bb591ef20f0fd9ed26d0d12e80eee6d7ac8897a3
F test/show_speedtest1_rtree.tcl 32e6c5f073d7426148a6936a0408f4b5b169aba5
F test/shrink.test 1b4330b1fd9e818c04726d45cb28db73087535ce
F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4
F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5
F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce
- F tool/lemon.c 251f5c3f21b553240cbdd42dd187a51bb2372cd3
- F tool/lempar.c d5114c7d13aa3af1e27ff3d02e4dea6eadec7ddf
+ F tool/kvtest-speed.sh 4761a9c4b3530907562314d7757995787f7aef8f
+ F tool/lemon.c 5ccba178a8e8a4b21e1c9232944d23973da38ad7
+ F tool/lempar.c db1bdb4821f2d8fbd76e577cf3ab18642c8d08d1
+ F tool/libvers.c caafc3b689638a1d88d44bc5f526c2278760d9b9
F tool/loadfts.c c3c64e4d5e90e8ba41159232c2189dba4be7b862
- F tool/logest.c eef612f8adf4d0993dafed0416064cf50d5d33c6
+ F tool/logest.c 11346aa019e2e77a00902aa7d0cabd27bd2e8cca
+ F tool/max-limits.c cbb635fbb37ae4d05f240bfb5b5270bb63c54439
F tool/mkautoconfamal.sh e855df211ecbcc7131dee817110ff386cfb112f7
F tool/mkkeywordhash.c f7f3b342211ac6a14258b9726d5b97cf4f548f22
- F tool/mkmsvcmin.tcl 2f12f7fa8858bbe61cf81820a2da96c79ed1ca8d
+ F tool/mkmsvcmin.tcl 95b37e202cbed873aa8ffdbb493b9db45927be2b
F tool/mkopcodec.tcl d1b6362bd3aa80d5520d4d6f3765badf01f6c43c
- F tool/mkopcodeh.tcl 385c62d78c38b2d92146dcb5abd319dbbc33506d
+ F tool/mkopcodeh.tcl a01d2c1d8a6205b03fc635adf3735b4c523befd3
F tool/mkopts.tcl 66ac10d240cc6e86abd37dc908d50382f84ff46e
- F tool/mkpragmatab.tcl f0d5bb266d1d388cf86fce5ba01a891e95d72d41
+ F tool/mkpragmatab.tcl 2ffe6d5fdc2d3381621d6c77978ba054466e757f
F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97
- F tool/mksqlite3c-noext.tcl 87240b09c20042999b41d5fabe091b7111287835
- F tool/mksqlite3c.tcl 9382100c82a0a08e63265780536a6c8efead4b65
- F tool/mksqlite3h.tcl 1d41ab59bffb025121f75b76e183125ce41b3ec8
+ F tool/mksqlite3c-noext.tcl fef88397668ae83166735c41af99d79f56afaabb
+ F tool/mksqlite3c.tcl 06b2e6a0f21cc0a5d70fbbd136b3e0a96470645e
+ F tool/mksqlite3h.tcl b9836752c3d08f9fab2dfc0017ca9fd5d90ac863
F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b
- F tool/mkvsix.tcl 4abcaf3267171b2faadaf9b82a0dfbaa6e98f8b7
+ F tool/mkvsix.tcl b9e0777a213c23156b6542842c238479e496ebf5
F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091
F tool/omittest.tcl 34d7ac01fe4fd18e3637f64abe12c40eca0f6b97
+ F tool/opcodesum.tcl 740ed206ba8c5040018988129abbf3089a0ccf4a
F tool/pagesig.c ff0ca355fd3c2398e933da5e22439bbff89b803b
- F tool/replace.tcl 7727c60a04299b65a92f5e1590896fea0f25b9e0
+ F tool/replace.tcl 60f91e8dd06ab81f74d213ecbd9c9945f32ac048
F tool/restore_jrnl.tcl 6957a34f8f1f0f8285e07536225ec3b292a9024a
F tool/rollback-test.c 9fc98427d1e23e84429d7e6d07d9094fbdec65a5
- F tool/run-speed-test.sh 0ae485af4fe9f826e2b494be8c81f8ca9e222a4a
+ F tool/run-speed-test.sh f95d19fd669b68c4c38b6b475242841d47c66076
+F tool/schemalint.tcl 49690356702d6cac07e2bb1790eac73862e92926
- F tool/showdb.c 82dca79a999b2701c62417636345e9974151fdad
+ F tool/showdb.c e6bc9dba233bf1b57ca0a525a2bba762db4e223de84990739db3f09c46151b1e
F tool/showjournal.c 5bad7ae8784a43d2b270d953060423b8bd480818
F tool/showlocks.c 9920bcc64f58378ff1118caead34147201f48c68
- F tool/showstat4.c bda40d6e395df7edb6e9ea630784d3d762c35b4b
+ F tool/showstat4.c b14159aa062f661b394ba37b6b7b94bfb8012ab9
F tool/showwal.c ec79959834f7b21f1e0a2aa52bb7c056d2203977
F tool/soak1.tcl 8d407956e1a45b485a8e072470a3e629a27037fe
- F tool/spaceanal.tcl 93c1fdc9733c525b17a2024c7df193daa002e037
+ F tool/spaceanal.tcl ab7d9bf68062907282a64b3e12ccbfad47193c5a
+ F tool/speed-check.sh 9630ba0468b609c52f48309243d4eb6e9c34deda
F tool/speedtest.tcl 06c76698485ccf597b9e7dbb1ac70706eb873355
F tool/speedtest16.c ecb6542862151c3e6509bbc00509b234562ae81e
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 249cd361b840913794b7cd2f2d42777dcd547a60
- R b5c9ea0357d4d69dec4a40a72a5670a9
-P 9e550ccc29f317422dae3a4bb89a78b839330825fecd40a01d1a2acc719cef79
-R 288166ae6bc74f6b9a15fa169ea78182
-U drh
-Z 81f3770fca5082b63e34ff795f3d141f
++P 1e3622de8b51fdb219eb1934533a95fe6dc5158f44d358bc2efdcb53a4a9fdab c8000e94cca59dabf83d6cb75b40441aaf793d29880582dc4baa17246449b5fe
++R a9131615092ed98b863a64f66624daea
+U dan
- Z 84e2a466cf9b475b6898bdfe1581ffe0
++Z 924aec6608b5903c59e65e7507c45eb8
** routines take care of that.
*/
#if defined(_WIN32) || defined(WIN32)
- static void setBinaryMode(FILE *out){
- fflush(out);
- _setmode(_fileno(out), _O_BINARY);
+ static void setBinaryMode(FILE *file, int isOutput){
+ if( isOutput ) fflush(file);
+ _setmode(_fileno(file), _O_BINARY);
}
- static void setTextMode(FILE *out){
- fflush(out);
- _setmode(_fileno(out), _O_TEXT);
+ static void setTextMode(FILE *file, int isOutput){
+ if( isOutput ) fflush(file);
+ _setmode(_fileno(file), _O_TEXT);
}
#else
- # define setBinaryMode(X)
- # define setTextMode(X)
+ # define setBinaryMode(X,Y)
+ # define setTextMode(X,Y)
#endif
+#include "shell_indexes.c"
/* True if the timer is enabled */
static int enableTimer = 0;
typedef struct ShellState ShellState;
struct ShellState {
sqlite3 *db; /* The database */
- int echoOn; /* True to echo input commands */
int autoExplain; /* Automatically turn on .explain mode */
int autoEQP; /* Run EXPLAIN QUERY PLAN prior to seach SQL stmt */
+ int bRecommend; /* Instead of sqlite3_exec(), recommend indexes */
int statsOn; /* True to display memory stats before each finalize */
int scanstatsOn; /* True to display scan stats before each finalize */
- int countChanges; /* True to display change counts */
- int backslashOn; /* Resolve C-style \x escapes in SQL input text */
int outCount; /* Revert to stdout when reaching zero */
int cnt; /* Number of records displayed so far */
FILE *out; /* Write results here */
p->iIndent = 0;
}
+typedef struct RecCommandCtx RecCommandCtx;
+struct RecCommandCtx {
+ int (*xCallback)(void*,int,char**,char**,int*);
+ ShellState *pArg;
+};
+
+static void recCommandOut(void *pCtx, const char *zLine){
+ const char *zCol = "output";
+ RecCommandCtx *p = (RecCommandCtx*)pCtx;
+ int t = SQLITE_TEXT;
+ p->xCallback(p->pArg, 1, (char**)&zLine, (char**)&zCol, &t);
+}
+
/*
- ** Execute a statement or set of statements. Print
- ** any result rows/columns depending on the current mode
+ ** Disable and restore .wheretrace and .selecttrace settings.
+ */
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_SELECTTRACE)
+ extern int sqlite3SelectTrace;
+ static int savedSelectTrace;
+ #endif
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_WHERETRACE)
+ extern int sqlite3WhereTrace;
+ static int savedWhereTrace;
+ #endif
+ static void disable_debug_trace_modes(void){
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_SELECTTRACE)
+ savedSelectTrace = sqlite3SelectTrace;
+ sqlite3SelectTrace = 0;
+ #endif
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_WHERETRACE)
+ savedWhereTrace = sqlite3WhereTrace;
+ sqlite3WhereTrace = 0;
+ #endif
+ }
+ static void restore_debug_trace_modes(void){
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_SELECTTRACE)
+ sqlite3SelectTrace = savedSelectTrace;
+ #endif
+ #if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_WHERETRACE)
+ sqlite3WhereTrace = savedWhereTrace;
+ #endif
+ }
+
+ /*
+ ** Run a prepared statement
+ */
+ static void exec_prepared_stmt(
+ ShellState *pArg, /* Pointer to ShellState */
+ sqlite3_stmt *pStmt, /* Statment to run */
+ int (*xCallback)(void*,int,char**,char**,int*) /* Callback function */
+ ){
+ int rc;
+
+ /* perform the first step. this will tell us if we
+ ** have a result set or not and how wide it is.
+ */
+ rc = sqlite3_step(pStmt);
+ /* if we have a result set... */
+ if( SQLITE_ROW == rc ){
+ /* if we have a callback... */
+ if( xCallback ){
+ /* allocate space for col name ptr, value ptr, and type */
+ int nCol = sqlite3_column_count(pStmt);
+ void *pData = sqlite3_malloc64(3*nCol*sizeof(const char*) + 1);
+ if( !pData ){
+ rc = SQLITE_NOMEM;
+ }else{
+ char **azCols = (char **)pData; /* Names of result columns */
+ char **azVals = &azCols[nCol]; /* Results */
+ int *aiTypes = (int *)&azVals[nCol]; /* Result types */
+ int i, x;
+ assert(sizeof(int) <= sizeof(char *));
+ /* save off ptrs to column names */
+ for(i=0; i<nCol; i++){
+ azCols[i] = (char *)sqlite3_column_name(pStmt, i);
+ }
+ do{
+ /* extract the data and data types */
+ for(i=0; i<nCol; i++){
+ aiTypes[i] = x = sqlite3_column_type(pStmt, i);
+ if( x==SQLITE_BLOB && pArg && pArg->cMode==MODE_Insert ){
+ azVals[i] = "";
+ }else{
+ azVals[i] = (char*)sqlite3_column_text(pStmt, i);
+ }
+ if( !azVals[i] && (aiTypes[i]!=SQLITE_NULL) ){
+ rc = SQLITE_NOMEM;
+ break; /* from for */
+ }
+ } /* end for */
+
+ /* if data and types extracted successfully... */
+ if( SQLITE_ROW == rc ){
+ /* call the supplied callback with the result row data */
+ if( xCallback(pArg, nCol, azVals, azCols, aiTypes) ){
+ rc = SQLITE_ABORT;
+ }else{
+ rc = sqlite3_step(pStmt);
+ }
+ }
+ } while( SQLITE_ROW == rc );
+ sqlite3_free(pData);
+ }
+ }else{
+ do{
+ rc = sqlite3_step(pStmt);
+ } while( rc == SQLITE_ROW );
+ }
+ }
+ }
+
+ /*
+ ** Execute a statement or set of statements. Print
+ ** any result rows/columns depending on the current mode
** set via the supplied callback.
**
- ** This is very similar to SQLite's built-in sqlite3_exec()
- ** function except it takes a slightly different callback
+ ** This is very similar to SQLite's built-in sqlite3_exec()
+ ** function except it takes a slightly different callback
** and callback data argument.
*/
static int shell_exec(
*pzErrMsg = NULL;
}
+ if( pArg->bRecommend ){
+ RecCommandCtx ctx;
+ ctx.xCallback = xCallback;
+ ctx.pArg = pArg;
+ rc = shellIndexesCommand(db, zSql, recCommandOut, &ctx, pzErrMsg);
+ }else
+
while( zSql[0] && (SQLITE_OK == rc) ){
+ static const char *zStmtSql;
rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zLeftover);
if( SQLITE_OK != rc ){
if( pzErrMsg ){