]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Fri, 7 Jul 2017 17:33:07 +0000 (17:33 +0000)]
Add the "Pragma_list" pragma. Put all three pragmas created on this branch
inside of #ifdef SQLITE_INTROSPECTION_PRAGMAS.
FossilOrigin-Name:
2f3c3781ef3d66ecafef083d7144287ff23eea5a6d93b014dfeb2a8ac71f757e
drh [Fri, 7 Jul 2017 15:43:22 +0000 (15:43 +0000)]
Add new pragmas: "function_list" and "module_list"
FossilOrigin-Name:
e5f01d7fde05fdb547f35816ff15c31a92c170b31877f4c640b7bc2be3f580b3
drh [Fri, 7 Jul 2017 13:59:34 +0000 (13:59 +0000)]
Exploit the fact that Expr.pRight and Expr.x are never used at the same time
for a small performance gain.
FossilOrigin-Name:
aacbb9a461fdb34c7f9c8ce348e44c3e96c93334f210d438d92bfac1794dc686
drh [Fri, 7 Jul 2017 12:58:30 +0000 (12:58 +0000)]
More efficient and compact implementation of walkExpr().
FossilOrigin-Name:
115d4b83392d346634866dd959bef30fca50db2e526df17eaeb3d94da7fc895e
drh [Fri, 7 Jul 2017 12:43:57 +0000 (12:43 +0000)]
More aggressive use of EP_Leaf on expression nodes, to help prune searches.
FossilOrigin-Name:
c1a1d68c8219c8072e60af5c46a30849ae9a04fa1a6b2a8b22b82fec069d691d
drh [Fri, 7 Jul 2017 11:49:48 +0000 (11:49 +0000)]
Very slightly smaller and faster sqlite3WalkSelect().
FossilOrigin-Name:
9bc65635b29a4991c7821ef0939975d007f9ac23716717699353ef3246e27791
drh [Thu, 6 Jul 2017 22:43:41 +0000 (22:43 +0000)]
Small adjustment to main.mk that facilitates giving non-standard compile-time
options to the shell.
FossilOrigin-Name:
7c7d53a9bbc27fde2dcc028cb7765c76cad0a784e53095b652c90d371968c53d
drh [Thu, 6 Jul 2017 16:33:14 +0000 (16:33 +0000)]
Change the (machine-generated) keywordhash.h file to increase the scope of the
tables used for keyword matching, so that the tables are accessible to
functions other then keywordCode().
FossilOrigin-Name:
c5ed5ebdf660501fde7cc8aefaaaeae2a68e5899a64ac93f26684842a235281d
drh [Thu, 6 Jul 2017 13:51:50 +0000 (13:51 +0000)]
More compact implementation of the typeof() SQL function.
FossilOrigin-Name:
efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad
drh [Thu, 6 Jul 2017 13:23:26 +0000 (13:23 +0000)]
Avoid unnecessary upper-to-lower case conversion for function names when
registering the built-in functions.
FossilOrigin-Name:
06269257647db51fbc9f8cda88abac5db28b6f917a509768af7686dfa2b94511
drh [Thu, 6 Jul 2017 03:06:20 +0000 (03:06 +0000)]
drh [Thu, 6 Jul 2017 02:49:26 +0000 (02:49 +0000)]
Avoid unnecessary calls to sqlite3GetCollSeq() for a small performance gain.
FossilOrigin-Name:
503ba172e4c32e288abf006fc5cb53fd2b0313c4ee4c526c2d9c4c21b7178f2d
drh [Thu, 6 Jul 2017 01:28:02 +0000 (01:28 +0000)]
Slightly more compact implementation of the byte-code generator for
the COMMIT and ROLLBACK commands.
FossilOrigin-Name:
4da663d9863004d8cef58259a043fdcf4f466f80d3714cf58321a52485be8766
drh [Thu, 6 Jul 2017 01:02:09 +0000 (01:02 +0000)]
Small performance increase in sqlite3SrcListAppend().
FossilOrigin-Name:
7b2623f1994384484cf31ae9e443ee20f19b278bf2e91898dbc01828822ddf91
drh [Wed, 5 Jul 2017 23:33:33 +0000 (23:33 +0000)]
Make the hash table implementation a little smaller and faster.
FossilOrigin-Name:
f762f1effe1ce893d6b67815ad8b585bae2c1621d9199dac9c85d39dad16e774
dan [Wed, 5 Jul 2017 18:48:07 +0000 (18:48 +0000)]
Have fts3 virtual table cursors free internal resources when they reach EOF,
instead of waiting until the xClose method is called.
FossilOrigin-Name:
b6b14ab6c8f9758a64e5fd29203f8fa610b5c4ef917de9be51ae55e072fad4ed
dan [Wed, 5 Jul 2017 14:29:04 +0000 (14:29 +0000)]
Fix a problem in lsmtest causing one test to fail for multi-threaded LSM
connections.
FossilOrigin-Name:
2bce64c8864b616f9ab0063f64d0ceb2f83e53e110970c6b3b11003cba5c8804
drh [Tue, 4 Jul 2017 19:34:36 +0000 (19:34 +0000)]
Add the count-of-view optimization when compiled using
SQLITE_COUNTOFVIEW_OPTIMIZATION.
FossilOrigin-Name:
d1ba200234f40b84327c7fc28c2584ed069da80e97578df71114d1a9ba9c559c
dan [Tue, 4 Jul 2017 19:23:32 +0000 (19:23 +0000)]
dan [Tue, 4 Jul 2017 17:25:45 +0000 (17:25 +0000)]
Fix a couple of problems in handling OOM conditions within LSM.
FossilOrigin-Name:
989a5c1745a7145c14c6d9b713176ecba6b99296de8bdd09f666eeef10da9c2e
drh [Tue, 4 Jul 2017 12:50:00 +0000 (12:50 +0000)]
Fix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced
by check-in [
36e54cd8b1fb37 ]
FossilOrigin-Name:
268a40f44cea6c3f561b7f54c90d631877be44292911424bac24f72c5ee87d60
drh [Mon, 3 Jul 2017 21:09:28 +0000 (21:09 +0000)]
Fix compiler warnings in LSM1, especially in the test logic.
FossilOrigin-Name:
9bd3be92b8add7bd0d7bc4b0742b2dd227ebb8d67a839b78f26f2b06b47490f2
dan [Mon, 3 Jul 2017 20:19:28 +0000 (20:19 +0000)]
Fix a bug in lsm queries on levels undergoing incremental an merge that
contain range-delete markers.
FossilOrigin-Name:
b2c2487928becbea5a932895d153709c98a057a3c71c2600e165478562e9f7c5
drh [Mon, 3 Jul 2017 17:37:04 +0000 (17:37 +0000)]
Attempt to improve documentation on sqlite3_column_ and sqlite3_value_
interfaces.
FossilOrigin-Name:
9111ac69bf307997e590bc9459222661fc79f549b3c493168a654a5046e6e4ad
dan [Mon, 3 Jul 2017 09:00:18 +0000 (09:00 +0000)]
Add more tests for LSM log file recovery. Fix a problem in recovering log
files that contain range deletes.
FossilOrigin-Name:
e34eafd4c5b2bbf2735e136ad69b67bb4288ad4d01a0128d8e107ac46209a182
dan [Sat, 1 Jul 2017 20:59:06 +0000 (20:59 +0000)]
Fix a memory management problem in lsm log recovery code.
FossilOrigin-Name:
dd55af30b4440bba1b97c2155b9f499d791cd7d8bae8341972c41439fdc41edc
drh [Sat, 1 Jul 2017 15:21:17 +0000 (15:21 +0000)]
Enhance the RTree module to detect node truncation early and report an error.
FossilOrigin-Name:
66de6f4a9504ec2670b7273de8fb6955c80e03f7f73414ea6b80fd8a99f75976
drh [Fri, 30 Jun 2017 20:11:45 +0000 (20:11 +0000)]
Improved documentation for sqlite3_value_type().
FossilOrigin-Name:
0db20efe201736b3ebb177948f6a440ce28e62454536a8496fae64a3b55cb702
mistachkin [Fri, 30 Jun 2017 19:22:33 +0000 (19:22 +0000)]
Add some assert() statements in the Win32 interface for lsm1.
FossilOrigin-Name:
d076d58ff108d286f7ac1f81e1ce945d6f4a4f5f97e3b8d5cee6f8d9a6c48d8f
mistachkin [Fri, 30 Jun 2017 18:12:09 +0000 (18:12 +0000)]
dan [Fri, 30 Jun 2017 11:44:11 +0000 (11:44 +0000)]
Avoid constantly freeing and reallocing small internal buffers associated with
LSM cursors. Instead, allow them to persist for the lifetime of the cursor if
they are LSM_SEGMENTPTR_FREE_THRESHOLD (default 1024) bytes or smaller.
FossilOrigin-Name:
bacfe8cb3e4d3be736c6789b2ce55ef5603e5c7a289b05b37cae2203cd7f2290
drh [Thu, 29 Jun 2017 21:33:25 +0000 (21:33 +0000)]
In the command-line shell, add the -quote option to start up in quote mode.
Enhance the ".mode" command so that it reports the current output mode if
given no arguments.
FossilOrigin-Name:
5e3f9ea5c4fad35fe02a12d59114e94ee00e0a09c1840c88908a4c282e2f4625
drh [Thu, 29 Jun 2017 21:11:27 +0000 (21:11 +0000)]
Remove the ".explain" command from the ".help" output of the command-line
shell, though keep the implementation around for backwards compatibility.
FossilOrigin-Name:
7782c04e9b2c0e95b5ac2a38876c1a233becfd892140bc6844790d62aeaff4f7
drh [Thu, 29 Jun 2017 20:31:01 +0000 (20:31 +0000)]
Some simple tests for the STMT virtual table.
FossilOrigin-Name:
a26e17ee56d3c019fc4772fcf95480b4515eea6cfc74c3d494be0d1941e49666
dan [Thu, 29 Jun 2017 20:23:32 +0000 (20:23 +0000)]
Avoid reading or writing the 32 locking bytes at the end of the first meta-page of an LSM database.
FossilOrigin-Name:
3ed6877f89106131fd030c183fac036fed7231cd92dc4715e87a34a045500bdf
dan [Thu, 29 Jun 2017 20:13:44 +0000 (20:13 +0000)]
Avoid reading or writing the 32 locking bytes at the end of the first
meta-page of an LSM database.
FossilOrigin-Name:
2b5df3e8a80ae5c0415081dd9b29acaad1464be2e7971399e52c1c98408322d9
mistachkin [Thu, 29 Jun 2017 19:08:52 +0000 (19:08 +0000)]
Fix issues in the POSIX and Win32 interfaces for lsm1.
FossilOrigin-Name:
38ec41416679e8280d77c8a4913aa6a321784b1237a3fe409b8e256c5f4513de
drh [Thu, 29 Jun 2017 17:27:04 +0000 (17:27 +0000)]
Edit comments in sqlite.h.in used for generating documentation, to improve
the description of the new sqlite3_prepare_v3() interfaces, and other
miscellaneous cleanup. No changes to executable code.
FossilOrigin-Name:
284707a7b3514a55cce24292e45632b7033d6edcff5b27deac5118b27c7b2954
mistachkin [Thu, 29 Jun 2017 16:51:52 +0000 (16:51 +0000)]
More updates to the Win32 interface for lsm1.
FossilOrigin-Name:
cae647696769c9fcdc3beafdfdf74d8384217f4b22820e4545093bea7be58f7c
mistachkin [Thu, 29 Jun 2017 15:57:42 +0000 (15:57 +0000)]
Correct typo in the Win32 interface for lsm1.
FossilOrigin-Name:
1b4facb1ad0085aa52e63d4d432179467ddc2a69b668d49d86e65ead66a73f57
drh [Thu, 29 Jun 2017 15:24:57 +0000 (15:24 +0000)]
Add interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the
extra prepFlags argument. Add the SQLITE_PREPARE_PERSISTENT option as
one bit in that argument. Use the new option in FTS3, FTS5, and RTREE.
FossilOrigin-Name:
03977248e6fdaa9b35c15e5dd9bb89552f2f0a913cc31609b5af1e2347b67d38
mistachkin [Thu, 29 Jun 2017 15:13:48 +0000 (15:13 +0000)]
Further corrections to the Win32 interface for lsm1.
FossilOrigin-Name:
4df6e2476ce93b9ca7a6959c8c2d6ef2c30395984b007d74166031dcf09d54b4
drh [Thu, 29 Jun 2017 14:33:51 +0000 (14:33 +0000)]
Rename the "stmts" virtual table to just "stmt" without the final "s".
FossilOrigin-Name:
adfdb80105c46ac42b71132c80a91dbd5b1c9ff241fb4fbb5d04641a88898d90
mistachkin [Thu, 29 Jun 2017 14:17:48 +0000 (14:17 +0000)]
A couple fixes for the Win32 interface for lsm1.
FossilOrigin-Name:
ebbd98e941d8a8ea97b434c29b70095515af0adab1977aa4d37fe74a7401f846
drh [Thu, 29 Jun 2017 13:41:59 +0000 (13:41 +0000)]
Add the stmts virtual table to testfixture builds. Add new compile-time
options SQLITE_ENABLE_QPSG and SQLITE_ENABLE_STMTSVTAB to ctime.c
FossilOrigin-Name:
60c628293a1d8a1505e1a36dbd01b1f62bcfd7915e144044c92385423cbf8e07
mistachkin [Thu, 29 Jun 2017 13:35:44 +0000 (13:35 +0000)]
drh [Thu, 29 Jun 2017 13:19:55 +0000 (13:19 +0000)]
drh [Thu, 29 Jun 2017 13:13:33 +0000 (13:13 +0000)]
Add the "stmts" virtual table to the amalgamation, activated when compiled
using -DSQLITE_ENABLE_STMTSVTAB. Add the SQLITE_STMTSTATUS_REPREPARE and
SQLITE_STMTSTATUS_RUN statistics outputs from sqlite3_stmt_status() and add
corresponding columns to the stmts virtual table. Change the numeric value
of SQLITE_STMTSTATUS_MEMUSED to get it out of the way of counter values.
FossilOrigin-Name:
88976ae31c2cbc8b75f162140d1356132f69e5b30786e39ad8ca5a1774b03621
drh [Thu, 29 Jun 2017 12:59:40 +0000 (12:59 +0000)]
The query planner examines the values of bound parameters to help determine
if a partial index is usable. Reprepares may happen if the bindings change.
This behavior is disabled by the QPSG setting.
FossilOrigin-Name:
c322bfa27e88fc9e2c969c1e4ce12a7d541bd2f30e133d267eb2d15fd3477fde
mistachkin [Thu, 29 Jun 2017 12:54:58 +0000 (12:54 +0000)]
Implement xUnlink, xShmMap, and xShmUnmap for lsm1 on Win32.
FossilOrigin-Name:
680cc064c9e809ddc643074b5e65677f484d904b3d52826f6def480ddaa8f0ab
drh [Thu, 29 Jun 2017 12:49:18 +0000 (12:49 +0000)]
Add the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to
sqlite3_stmt_status(). Use this for two new columns in the stmts virtual
table.
FossilOrigin-Name:
b0b0c8f8d548ef78584ab714ab120b01c1b83fc0d8ae2fd7626b970bab9fca58
drh [Thu, 29 Jun 2017 01:23:12 +0000 (01:23 +0000)]
Fix the exprCompareVariable() routine so that it works for non-UTF8 text.
FossilOrigin-Name:
25acd9658be792d686b3ebfaa8c3692f9830e043538ed0afecf97110a07758a4
mistachkin [Thu, 29 Jun 2017 00:20:42 +0000 (00:20 +0000)]
Implement xRemap for lsm1 on Win32. Also, zero file handle when closing it.
FossilOrigin-Name:
93c9aa7d9aea46b331c53ff579ef704e88ce90f96600b69479a87a4bb4ca2a91
drh [Wed, 28 Jun 2017 21:47:16 +0000 (21:47 +0000)]
Alternative implementation of exprCompareVariable(). Need to run tests on
both this branch and the original to see which one to go with.
FossilOrigin-Name:
b959c6297c151150ea2dca24aa1f68f3bd76dd6620eb6c03f8dfa59fdd5c13b2
mistachkin [Wed, 28 Jun 2017 21:36:40 +0000 (21:36 +0000)]
Implement xLock and xTestLock for lsm1 on Win32.
FossilOrigin-Name:
9112117dad8085c385aa614cd982b307f5822761607ba358f34df7848c549134
drh [Wed, 28 Jun 2017 18:25:03 +0000 (18:25 +0000)]
Make the query planners use of partial indexes based on bound variables
responsive to the SQLITE_DBCONFIG_ENABLE_QPSG setting.
FossilOrigin-Name:
a934dd14ac55177ac541423f4a077484bb3b461b60c9c2e88d067cca922fa2bc
drh [Wed, 28 Jun 2017 18:07:29 +0000 (18:07 +0000)]
Merge the in the latest enhancements from trunk.
FossilOrigin-Name:
8f63c5863231eba7f853f9587b58a81102c31708402fa9962a6e91aa622fad13
drh [Wed, 28 Jun 2017 15:56:58 +0000 (15:56 +0000)]
drh [Wed, 28 Jun 2017 15:47:29 +0000 (15:47 +0000)]
Build the "stmts" virtual table into the amalgamation. It is active only
when compiled using SQLITE_ENABLE_STMTSVTAB. That option is supplied to the
command-line shell.
FossilOrigin-Name:
0ff057d86e42e518fda22bfbf5f1977ab6bd0a74a9211ff259ee7e8a7ce98b58
drh [Wed, 28 Jun 2017 15:17:31 +0000 (15:17 +0000)]
Fix harmless compiler warnings in the CSV extension.
FossilOrigin-Name:
f02a54599de7620438aecd3753199fc52ce8919d7503bb8b2f5592b0e51dbf8c
drh [Wed, 28 Jun 2017 15:01:35 +0000 (15:01 +0000)]
drh [Wed, 28 Jun 2017 14:26:37 +0000 (14:26 +0000)]
Minor tweak to the SQL grammar to make the parser tables a few bytes smaller.
FossilOrigin-Name:
cc4810b23e683e8c359f7c1a562338ec8501e43cac3475b2be002568fca5e6a4
drh [Wed, 28 Jun 2017 13:47:56 +0000 (13:47 +0000)]
In the lemon-generated parser, store the number of symbols on the RHS of each
rule as a negative number and add it to the stack pointer, rather than storing
the value as a positive and subtracting it. This makes the parser faster.
FossilOrigin-Name:
b362f0d8ed34839bf3b29d10ed0853ab94245fba135ccd28e619caa6ee6992d5
drh [Wed, 28 Jun 2017 11:56:18 +0000 (11:56 +0000)]
In the lemon-generated parser, automatically promote SHIFTREDUCE actions on
nonterminal systems to pure REDUCE actions, for a performance enhancement.
FossilOrigin-Name:
c46d94a8cde816ca383e771721ebd4900de77950cba700e35a26f70fd5b794a4
drh [Wed, 28 Jun 2017 01:21:16 +0000 (01:21 +0000)]
Simplify error handling logic in sqlite3_exec() to save about 40 bytes.
FossilOrigin-Name:
6480916c7266437cf8a70e5db2ca5c753ad71c361b68e41cbf8572f77c271920
drh [Wed, 28 Jun 2017 01:12:53 +0000 (01:12 +0000)]
Minor code simplification in the ALTER TABLE logic.
FossilOrigin-Name:
bfc4e7f30e4654b9603457fb6a4136828e346dcfe4e313fdf56ed62d131b7156
drh [Wed, 28 Jun 2017 00:55:50 +0000 (00:55 +0000)]
Avoid an unnecessary call to sqlite3XPrintf() in the code generator, for
a performance improvement.
FossilOrigin-Name:
29d6ceb3838394d902e248d1eab627625a857dccb5ed0bb66161a13fafc500c8
drh [Tue, 27 Jun 2017 23:36:44 +0000 (23:36 +0000)]
Add SQLITE_DBCONFIG_ENABLE_QPSG that forces the query planner stability
guarantee. This is the fix for ticket [
b9f010107724c ]
FossilOrigin-Name:
b82efd2a24914ace39acf99df75175042471fd73a8d31d66a40b15f63b342e10
mistachkin [Tue, 27 Jun 2017 22:33:06 +0000 (22:33 +0000)]
mistachkin [Tue, 27 Jun 2017 22:27:54 +0000 (22:27 +0000)]
mistachkin [Tue, 27 Jun 2017 18:15:38 +0000 (18:15 +0000)]
dan [Tue, 27 Jun 2017 16:39:01 +0000 (16:39 +0000)]
Fix a virtual table problem that can occur when the vtab is on the RHS of a
LEFT JOIN and there is a MATCH constraint in the ON clause, or when the vtab
is in a sub-query that is the RHS of a LEFT JOIN and there is a MATCH
constraint in the WHERE clause of the sub-query.
FossilOrigin-Name:
87b381663398f029f52cb5598aadd069b03034b6f833ce80ba762b406075a44e
mistachkin [Tue, 27 Jun 2017 06:28:00 +0000 (06:28 +0000)]
mistachkin [Tue, 27 Jun 2017 05:59:47 +0000 (05:59 +0000)]
drh [Mon, 26 Jun 2017 21:08:32 +0000 (21:08 +0000)]
Add the -withoutnulls option to the "db eval" method in the TCL interface.
FossilOrigin-Name:
18f0616e15684ca327fb10a1d133331af1d3b75f609498982290f6ad69fcaced
drh [Mon, 26 Jun 2017 18:42:23 +0000 (18:42 +0000)]
The ".import" command of the shell, and the csv virtual table extension both
ignore a single UTF-8 BOM at the beginning of their input.
FossilOrigin-Name:
7c15d762d99c2e3e534cd35dfe25ddcd317637eb1f2655fd24c2dd5f9d5a7613
drh [Mon, 26 Jun 2017 14:46:05 +0000 (14:46 +0000)]
Make sure sqlite3VdbeSetVarmask() is never invoked when QPSG is enabled.
FossilOrigin-Name:
ebcfa73e1c8ebb4fc371a6dcf77f97b6e06e405a299c66182aa4b20423d519ec
drh [Mon, 26 Jun 2017 13:57:49 +0000 (13:57 +0000)]
Add the SQLITE_DBCONFIG_ENABLE_QPSG option to activate the query planner
stability guarantee. This involves refactoring the sqlite3.flags bitvector
to carve out a free bit to use.
FossilOrigin-Name:
7076e8283ebae1b45a5d85d9538b49b6da399d38c3c6935de100f948f814f6a9
dan [Mon, 26 Jun 2017 11:46:01 +0000 (11:46 +0000)]
Remove an invalid assert() from lsm test code.
FossilOrigin-Name:
ca8a7e995c3da10ba05e3b7d4818c633fe5ba6d6f9351b67017a2603b50b903d
dan [Mon, 26 Jun 2017 08:24:35 +0000 (08:24 +0000)]
Fix another problem with multi-threaded mode in the LSM test code.
FossilOrigin-Name:
461ced77d93e84f09bfb4291999cd0245506fa9a8369049fd68968bbcf18d41b
dan [Mon, 26 Jun 2017 07:31:28 +0000 (07:31 +0000)]
Update a test case to reflect the fact that the lsm blocksize is configured in
KiB. And defaults to 1024, not 2048.
FossilOrigin-Name:
d7015475f121db1f56060716cd8adb73e9b52016890ec9018b620ef9d7d4fbff
dan [Mon, 26 Jun 2017 06:53:24 +0000 (06:53 +0000)]
drh [Sat, 24 Jun 2017 19:21:48 +0000 (19:21 +0000)]
Disable shell tests for the .schema command if virtual tables are not available.
FossilOrigin-Name:
c8186874b3fec737445ad5c4ba3eaecd922af664b387d89dc31eea60476a0294
dan [Sat, 24 Jun 2017 18:10:29 +0000 (18:10 +0000)]
Consider the values bound to SQL variables when determining whether or not a
partial index may be used.
FossilOrigin-Name:
7b59c353b805c64689b4ae9df347705acbb5f116346ad77af8ce087da7893747
drh [Sat, 24 Jun 2017 16:35:00 +0000 (16:35 +0000)]
Make sure the config.h header is included by ctime.c, if that header exists.
FossilOrigin-Name:
c2ea62937ec8fabec72d3c7cd38d8e2cabbb5ce48638f8ce7ebefd6cd2716fd3
drh [Sat, 24 Jun 2017 16:03:18 +0000 (16:03 +0000)]
Query planner tuning: When deciding between two plans with the same cost,
bias the selection toward the one that does not use the sorter.
FossilOrigin-Name:
f0ec36d479ac4efaa0efd0594d032dd7b8ccdf84a4dc3644cd688762186fbcca
drh [Sat, 24 Jun 2017 13:31:40 +0000 (13:31 +0000)]
Make sure enough memory is allocated for pathological quoting cases when
computing a quoted table name in the command-line shell.
FossilOrigin-Name:
0583b84ab444db3ae3c93db619b67bf84b0305ab989200e77214e02ff2dc923a
dan [Fri, 23 Jun 2017 15:47:05 +0000 (15:47 +0000)]
When generating individual loops for each ORed term of an OR scan, move any
constant WHERE expressions outside of the loop, as is done for top-level
loops.
FossilOrigin-Name:
712267c9c08fdcef5d59cedc672657b55fd6a77472711711599f0bd653e6d880
dan [Thu, 22 Jun 2017 16:51:16 +0000 (16:51 +0000)]
When generating individual loops for each ORed term of an OR scan, move any
constant WHERE expressions outside of the loop, as is done for top-level
loops.
FossilOrigin-Name:
e4a022be4b069b08cfdfda5295461676b99d28e17bbbedfbcb362dec69de59bd
drh [Wed, 21 Jun 2017 01:36:30 +0000 (01:36 +0000)]
Enable pragma virtual tables for the integrity_check, quick_check, and
foreign_key_check pragmas.
FossilOrigin-Name:
118f7bb33a6f78951bbffa957f48015d1bce5aaf9246a99262a90bc8ad52e5a3
drh [Tue, 20 Jun 2017 18:19:16 +0000 (18:19 +0000)]
Rename the azCompileOpt global constant to avoid a harmless compiler warning
about a name conflict with a local variable.
FossilOrigin-Name:
94e420ecfb4ec047eb7d1d3125ca8487c90d466760b7f7183759ff922bd868d1
dan [Tue, 20 Jun 2017 17:43:26 +0000 (17:43 +0000)]
Ensure that the query planner knows that any column of a flattened LEFT JOIN
can be NULL even if that column is labeled with "NOT NULL".
Fix for ticket [
892fc34f173e99d8 ].
FossilOrigin-Name:
483462682d3a57fb9dd85b4772596e9738f1694a454b8ebbc480b9452733e88d
drh [Sat, 17 Jun 2017 18:49:50 +0000 (18:49 +0000)]
Fix a missing comma in the previous check-in.
FossilOrigin-Name:
f3db02f49073c3f08c3fd7816d85e5472d5e22df20d862fe4886eb2a97efb15f
dan [Sat, 17 Jun 2017 17:55:33 +0000 (17:55 +0000)]
Rework the code in ctime.c a bit to report on more compile time options. And
to only output configuration options passed in to SQLite, not the default
values of #define symbols set automatically. Also generate the large array in
ctime.c using new script tool/mkctime.tcl, instead of entering it manually.
FossilOrigin-Name:
9a443397a6b110f60cae32e1f758914d72931e16ddb423e4d4a119df526bf340
dan [Sat, 17 Jun 2017 17:29:24 +0000 (17:29 +0000)]
Ensure that the value of the THREADSAFE symbol is always included when
reporting compile time options, even if it was not explicitly configured.
FossilOrigin-Name:
95141c642697dc037e57f9e4992ff3460155995d3caef6259235601ee722cb93
dan [Sat, 17 Jun 2017 16:39:10 +0000 (16:39 +0000)]
Add extra test cases for sqlite3changeset_apply() and ALTER TABLE ADD COLUMN.
FossilOrigin-Name:
603838fc9a65adda831a6a17b31b2e80f5b56e5946a9f0c1fa2c83d2f2a67f6a
dan [Fri, 16 Jun 2017 19:51:47 +0000 (19:51 +0000)]
Rework the code in ctime.c a bit to report on more compile time options. And
to only output configuration options passed in to SQLite, not the default
values of #define symbols set automatically. Also generate the large array in
ctime.c using new script tool/mkctime.tcl, instead of entering it manually.
FossilOrigin-Name:
bc1951d699e6eeacbe15776a37cd0f5cf3f09eb85d3ae01cff43293cb286fcd7
drh [Fri, 16 Jun 2017 18:31:30 +0000 (18:31 +0000)]
Minor refactoring change to clarify how ATTACH works. No functional changes.
FossilOrigin-Name:
3944a32e1dd90ff903bcbaaa7cb497cebcfcb2ba2a326726ec2268505e524ae3
drh [Fri, 16 Jun 2017 13:43:37 +0000 (13:43 +0000)]
Prevent pagesize changes on VACUUM in encrypted databases even when running
the VACUUM on an attached database.
FossilOrigin-Name:
11693849342a308ad929e2d9ead67faabacb523af76128c6973ed6cc8b62c11e
drh [Thu, 15 Jun 2017 16:56:05 +0000 (16:56 +0000)]
Move the "shell_add_schema()" SQL function used by the ".schema" command
of the command-line shell to a different spot in the shell.c source file
so that it is not in the middle of an unrelated module.
FossilOrigin-Name:
254617a1ccfa1736d4e53d670d80319c79c4d93ebf1de69d89ebdba3949bc270