]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
7 years agoAdditional debugging Noop-comment in the constraint generator when defer-where-subqueries
drh [Mon, 10 Jul 2017 16:38:14 +0000 (16:38 +0000)] 
Additional debugging Noop-comment in the constraint generator when
wheretrace is enabled.

FossilOrigin-Name: 0ca7474f05e9f27f53f8c71f5a3ff99963ffef9be9c147869e096246d552d6f1

7 years agoSmall performance optimization in sqlite3WhereExprUsage().
drh [Mon, 10 Jul 2017 15:26:09 +0000 (15:26 +0000)] 
Small performance optimization in sqlite3WhereExprUsage().

FossilOrigin-Name: 38edc6770e54e456500e77389d42fdf39e9a7ed258a4e1fed3c6dd8fdf4dfcb7

7 years agoFix another problem on this branch.
dan [Mon, 10 Jul 2017 15:17:30 +0000 (15:17 +0000)] 
Fix another problem on this branch.

FossilOrigin-Name: a4fc98113aeb10860834f68a2fdcef690ea15d8303d23b6dd416994a4b7edab6

7 years agoFix a problem causing non-covered WHERE terms to be evaluated before covered
dan [Mon, 10 Jul 2017 14:39:42 +0000 (14:39 +0000)] 
Fix a problem causing non-covered WHERE terms to be evaluated before covered
WHERE terms.

FossilOrigin-Name: 7d3cb39f60951dcec1ff87da2c4ec998f993de5edf49ee5e5f480c6fe4e5a052

7 years agoWhen testing non-indexed WHERE constraints, test those that involve
dan [Mon, 10 Jul 2017 14:33:00 +0000 (14:33 +0000)] 
When testing non-indexed WHERE constraints, test those that involve
correlated sub-queries last of all. This increases the chances of not having
to run the sub-query at all.

FossilOrigin-Name: 1f9c1f359e4693954ba7e2bc7b172ef34eb046e4ca2796df8336975b9d6aa92b

7 years agoFor sqlite3TreeView() debugging output, show the Expr.flags field on
drh [Mon, 10 Jul 2017 13:24:58 +0000 (13:24 +0000)] 
For sqlite3TreeView() debugging output, show the Expr.flags field on
scalar subqueries.

FossilOrigin-Name: dc857a96b00f13ffdf77bc222bc5acbbe14a36ca51e5368b568b3177d1be737a

7 years agoUpdate error message text for standard error codes to better describe the
drh [Mon, 10 Jul 2017 12:07:53 +0000 (12:07 +0000)] 
Update error message text for standard error codes to better describe the
latest usage of those error codes.  Modify sqlite3_open_v2() so that it does
return a valid sqlite3 object in the event of SQLITE_MISUSE due to bad
open flags, so that sqlite3_errmsg() does not report "out of memory" in that
case.

FossilOrigin-Name: f27b6370407842e2c175ea4aa9ce018723c57eaac0cccc1f8399bc20f33324be

7 years agoRemove the error message text from disused error codes such as
drh [Mon, 10 Jul 2017 11:17:51 +0000 (11:17 +0000)] 
Remove the error message text from disused error codes such as
SQLITE_EMPTY and SQLITE_FORMAT.

FossilOrigin-Name: 871752f2925ee14bdd3e994c00832d00860c03f6f28e63504aa6d35978b7f37c

7 years agoAlways make "column%d" column-names 1-based, never 0-based.
drh [Sun, 9 Jul 2017 18:55:29 +0000 (18:55 +0000)] 
Always make "column%d" column-names 1-based, never 0-based.

FossilOrigin-Name: 70096c505d702a9646da24613da387cee19afcf395d0294b3797c5ab50bb3ee2

7 years agoMake sure the columns of a VALUES() clause are named "column%d" even if
drh [Sun, 9 Jul 2017 00:30:58 +0000 (00:30 +0000)] 
Make sure the columns of a VALUES() clause are named "column%d" even if
the VALUES() clause is a subquery in the FROM clause of an outer query.

FossilOrigin-Name: acf3b9cc9c3932431979995a1dceacc06c659ab400fad95ce3728ff8895a022b

7 years agoAdd the --icc, --gcc7, and --orm options to the speed-check.sh test script.
drh [Sat, 8 Jul 2017 22:30:30 +0000 (22:30 +0000)] 
Add the --icc, --gcc7, and --orm options to the speed-check.sh test script.

FossilOrigin-Name: 70dae08a9a6e35416f7268b9a95f3c8562b74697918bd1e9d5b5cf4719b9d075

8 years agoBasic test cases for PRAGMA secure_delete=FAST.
drh [Fri, 7 Jul 2017 22:47:32 +0000 (22:47 +0000)] 
Basic test cases for PRAGMA secure_delete=FAST.

FossilOrigin-Name: 0c246017b45c5290f3a7932dfce649f1a6d8f9afc00c6c3edf2ef06c17dbca1d

8 years agoFix comment in the Win32 VFS for lsm1.
mistachkin [Fri, 7 Jul 2017 21:20:26 +0000 (21:20 +0000)] 
Fix comment in the Win32 VFS for lsm1.

FossilOrigin-Name: 12a421bcacf72128426eeafed8663accd8f2ac7edb46f620b60b8239065e657e

8 years agoFor lsmtest, use a more portable means of setting open() files to binary.
mistachkin [Fri, 7 Jul 2017 21:15:24 +0000 (21:15 +0000)] 
For lsmtest, use a more portable means of setting open() files to binary.

FossilOrigin-Name: aea6e0ffd33f41482f1b53b9f21b77add2865abda4eec1d9ee197177f74f43d0

8 years agoAdjust copy_file() lsmtest function so it works properly for locked database files...
mistachkin [Fri, 7 Jul 2017 20:35:14 +0000 (20:35 +0000)] 
Adjust copy_file() lsmtest function so it works properly for locked database files on Win32.

FossilOrigin-Name: 54a3855583deac93c955ed77fe82be6a6b7aadd3fdb7e6b895888e2a4ff530bd

8 years agoAdd the "PRAGMA secure_delete=FAST" option, which overwrites most deleted
drh [Fri, 7 Jul 2017 20:06:28 +0000 (20:06 +0000)] 
Add the "PRAGMA secure_delete=FAST" option, which overwrites most deleted
content without increasing the amount of I/O.  Deleted content might persist
on the free page list, however.  And extra CPU cycles are used for zeroing,
of course.

FossilOrigin-Name: 38978ce65b280bb7cba3fc08ba91485fb1b84cd9fbba2e950ecf41c021ff452a

8 years agoChange the error message text for SQLITE_ERROR to omit the part about
drh [Fri, 7 Jul 2017 19:43:23 +0000 (19:43 +0000)] 
Change the error message text for SQLITE_ERROR to omit the part about
"missing database" as that meaning is now obsolete (since approx SQLite 2.0).

FossilOrigin-Name: 732f90d6327c5c6368fc8b4cc207bd644ef08e3ae6d2e7295258ab099deaba63

8 years agoFix typos in Win32 VFS for lsm1.
mistachkin [Fri, 7 Jul 2017 19:22:35 +0000 (19:22 +0000)] 
Fix typos in Win32 VFS for lsm1.

FossilOrigin-Name: 0961ec873b78ad2da0ea9cdf2934bc8f08276375a153fe5d9fa8d4280328deef

8 years agoFix the memcpy calls in the lsmWin32OsShmMap function for lsm1.
mistachkin [Fri, 7 Jul 2017 19:12:55 +0000 (19:12 +0000)] 
Fix the memcpy calls in the lsmWin32OsShmMap function for lsm1.

FossilOrigin-Name: aa4890b9f9e9698c61d6ca0e24c26280f5e0a87a8c02865933ad483a1fd44d84

8 years agoEnhance the MSVC makefile 'clean' target to handle lsm1.
mistachkin [Fri, 7 Jul 2017 19:02:51 +0000 (19:02 +0000)] 
Enhance the MSVC makefile 'clean' target to handle lsm1.

FossilOrigin-Name: 2d6faebc319aefeab796c5f2ead4c3c3e2a9dd25c979a16bdb555a109135b13c

8 years agoAdd support for LSM_DEBUG to the MSVC makefile for lsm1.
mistachkin [Fri, 7 Jul 2017 18:31:51 +0000 (18:31 +0000)] 
Add support for LSM_DEBUG to the MSVC makefile for lsm1.

FossilOrigin-Name: 277a7fedafbe5b43d44086f3cb73e952873913bdc4b51041f45b6571b386d7d9

8 years agoIn the command-line shell, when running ".schema" give a sensible error when
drh [Fri, 7 Jul 2017 18:06:49 +0000 (18:06 +0000)] 
In the command-line shell, when running ".schema" give a sensible error when
the database file is locked.

FossilOrigin-Name: cc329eb8d65171f3f4fcb39b0e55ef85c97a77f3510cf864bbc1537f993d0074

8 years agoFix the usleep() macro in the Win32 test code for lsm1.
mistachkin [Fri, 7 Jul 2017 17:57:21 +0000 (17:57 +0000)] 
Fix the usleep() macro in the Win32 test code for lsm1.

FossilOrigin-Name: 63599fa524a7c72ffa5362041f2ec394d9af9c43025d8b6d5a34e98eb423d5ff

8 years agoAdd new PRAGMAs: "function_list", "module_list", and "pragma_list". All are
drh [Fri, 7 Jul 2017 17:43:30 +0000 (17:43 +0000)] 
Add new PRAGMAs: "function_list", "module_list", and "pragma_list".  All are
enclosed within #ifdef SQLITE_INTROSPECTION_PRAGMAS.  The compile-time option
is not on ctime.c yet, since these are still experimental and one can always
test "PRAGMA pragma_list" and see whether or not it returns an empty set.

FossilOrigin-Name: e0b6ae92adfae46f64fc2e2719e22e5467c34d49c1aeaec5cc5faf04258de0f7

8 years agoAdd the "Pragma_list" pragma. Put all three pragmas created on this branch list-pragmas
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

8 years agoImprove clarity in the Win32 VFS for lsm1.
mistachkin [Fri, 7 Jul 2017 16:46:08 +0000 (16:46 +0000)] 
Improve clarity in the Win32 VFS for lsm1.

FossilOrigin-Name: 9c7a9e805d95d3d4a3f7e2d608280b7ca0dda01114e32cd366b1deb14e6e6839

8 years agoAdd support for LSM_DEBUG_MEM to the MSVC makefile for lsm1.
mistachkin [Fri, 7 Jul 2017 16:29:37 +0000 (16:29 +0000)] 
Add support for LSM_DEBUG_MEM to the MSVC makefile for lsm1.

FossilOrigin-Name: 3340de83df8c4fb19f729e6ff0838a9a03a1e701cdb40cb830e76f294198024a

8 years agoRemove a block from the Win32 VFS for lsm1 that is now superfluous.
dan [Fri, 7 Jul 2017 16:27:43 +0000 (16:27 +0000)] 
Remove a block from the Win32 VFS for lsm1 that is now superfluous.

FossilOrigin-Name: 5f726f2830dcf91f5e5c010b10761757f746d39b9dd2b8c9770452ce65bb1652

8 years agoIn lsmtest, use an empty string instead of ":memory:" when requesting a
dan [Fri, 7 Jul 2017 16:09:24 +0000 (16:09 +0000)] 
In lsmtest, use an empty string instead of ":memory:" when requesting a
temporary database from SQLite. This prevents other test code from trying to
unlink() ":memory:", which fails on win32.

FossilOrigin-Name: 281ad505d7a112c5524ea9fb195dfc46f819a58f79f42b37b12fbfe46a089ff2

8 years agoRemove a block from the Win32 VFS for lsm1 that is now superfluous.
mistachkin [Fri, 7 Jul 2017 16:07:53 +0000 (16:07 +0000)] 
Remove a block from the Win32 VFS for lsm1 that is now superfluous.

FossilOrigin-Name: db4a41408eff450ee429b936847313c2c92ba1f5b1fcbadaacaff3c08bfdd589

8 years agoMemory reallocation fix for the Win32 VFS for lsm1.
mistachkin [Fri, 7 Jul 2017 16:06:30 +0000 (16:06 +0000)] 
Memory reallocation fix for the Win32 VFS for lsm1.

FossilOrigin-Name: 5a3140e4dedace6de4366a3c52e41b818b6d19f356fdab738c6605afc1b674fa

8 years agoEnhance the sqlite3VdbeMultiLoad() interface to automatically generate the
drh [Fri, 7 Jul 2017 16:00:53 +0000 (16:00 +0000)] 
Enhance the sqlite3VdbeMultiLoad() interface to automatically generate the
OP_ResultRow opcode on PRAGMA implementations, for a small reduction in the
library footprint.

FossilOrigin-Name: c46f0f076c674891e20240bad56693d891aedc43004bcf980a5d199515f23413

8 years agoAdd new pragmas: "function_list" and "module_list"
drh [Fri, 7 Jul 2017 15:43:22 +0000 (15:43 +0000)] 
Add new pragmas: "function_list" and "module_list"

FossilOrigin-Name: e5f01d7fde05fdb547f35816ff15c31a92c170b31877f4c640b7bc2be3f580b3

8 years agoExploit the fact that Expr.pRight and Expr.x are never used at the same time
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

8 years agoMore efficient and compact implementation of walkExpr().
drh [Fri, 7 Jul 2017 12:58:30 +0000 (12:58 +0000)] 
More efficient and compact implementation of walkExpr().

FossilOrigin-Name: 115d4b83392d346634866dd959bef30fca50db2e526df17eaeb3d94da7fc895e

8 years agoMore aggressive use of EP_Leaf on expression nodes, to help prune searches.
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

8 years agoVery slightly smaller and faster sqlite3WalkSelect().
drh [Fri, 7 Jul 2017 11:49:48 +0000 (11:49 +0000)] 
Very slightly smaller and faster sqlite3WalkSelect().

FossilOrigin-Name: 9bc65635b29a4991c7821ef0939975d007f9ac23716717699353ef3246e27791

8 years agoSmall adjustment to main.mk that facilitates giving non-standard compile-time
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

8 years agoChange the (machine-generated) keywordhash.h file to increase the scope of the
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

8 years agoMore compact implementation of the typeof() SQL function.
drh [Thu, 6 Jul 2017 13:51:50 +0000 (13:51 +0000)] 
More compact implementation of the typeof() SQL function.

FossilOrigin-Name: efb4aab0caa4145732a5438cc2a193bc12c455b4007220564d240e75900ea8ad

8 years agoAvoid unnecessary upper-to-lower case conversion for function names when
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

8 years agoSmall size reduction in findCollSeqEntry().
drh [Thu, 6 Jul 2017 03:06:20 +0000 (03:06 +0000)] 
Small size reduction in findCollSeqEntry().

FossilOrigin-Name: 55ecd30304517acd23f89b3450fd6a5e18ac2f79aa24a4ff693f8d71a49f7837

8 years agoAvoid unnecessary calls to sqlite3GetCollSeq() for a small performance gain.
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

8 years agoSlightly more compact implementation of the byte-code generator for
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

8 years agoSmall performance increase in sqlite3SrcListAppend().
drh [Thu, 6 Jul 2017 01:02:09 +0000 (01:02 +0000)] 
Small performance increase in sqlite3SrcListAppend().

FossilOrigin-Name: 7b2623f1994384484cf31ae9e443ee20f19b278bf2e91898dbc01828822ddf91

8 years agoMake the hash table implementation a little smaller and faster.
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

8 years agoHave fts3 virtual table cursors free internal resources when they reach EOF,
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

8 years agoFix a problem in lsmtest causing one test to fail for multi-threaded LSM
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

8 years agoAdd the count-of-view optimization when compiled using
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

8 years agoFix further OOM handling cases in LSM.
dan [Tue, 4 Jul 2017 19:23:32 +0000 (19:23 +0000)] 
Fix further OOM handling cases in LSM.

FossilOrigin-Name: ca757c8665e27de884086b2aab2bd1db481e2d12f2afe136ec151bf5a0e65b91

8 years agoFix a couple of problems in handling OOM conditions within LSM.
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

8 years agoFix a problem in the lempar.c Lemon template for YYSTACKDEPTH<=0 introduced
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

8 years agoFix compiler warnings in LSM1, especially in the test logic.
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

8 years agoFix a bug in lsm queries on levels undergoing incremental an merge that
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

8 years agoAttempt to improve documentation on sqlite3_column_ and sqlite3_value_
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

8 years agoAdd more tests for LSM log file recovery. Fix a problem in recovering log
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

8 years agoFix a memory management problem in lsm log recovery code.
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

8 years agoEnhance the RTree module to detect node truncation early and report an error.
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

8 years agoImproved documentation for sqlite3_value_type().
drh [Fri, 30 Jun 2017 20:11:45 +0000 (20:11 +0000)] 
Improved documentation for sqlite3_value_type().

FossilOrigin-Name: 0db20efe201736b3ebb177948f6a440ce28e62454536a8496fae64a3b55cb702

8 years agoAdd some assert() statements in the Win32 interface for lsm1.
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

8 years agoFix some minor typos in lsm1.
mistachkin [Fri, 30 Jun 2017 18:12:09 +0000 (18:12 +0000)] 
Fix some minor typos in lsm1.

FossilOrigin-Name: 0ef777d7474383c0211b19baa4a161cf7fce6570f384dfef368cdab45c1a0f01

8 years agoAvoid constantly freeing and reallocing small internal buffers associated with
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

8 years agoIn the command-line shell, add the -quote option to start up in quote mode.
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

8 years agoRemove the ".explain" command from the ".help" output of the command-line
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

8 years agoSome simple tests for the STMT virtual table.
drh [Thu, 29 Jun 2017 20:31:01 +0000 (20:31 +0000)] 
Some simple tests for the STMT virtual table.

FossilOrigin-Name: a26e17ee56d3c019fc4772fcf95480b4515eea6cfc74c3d494be0d1941e49666

8 years agoAvoid reading or writing the 32 locking bytes at the end of the first meta-page of...
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

8 years agoAvoid reading or writing the 32 locking bytes at the end of the first lsm-metapage-fix
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

8 years agoFix issues in the POSIX and Win32 interfaces for lsm1.
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

8 years agoEdit comments in sqlite.h.in used for generating documentation, to improve
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

8 years agoMore updates to the Win32 interface for lsm1.
mistachkin [Thu, 29 Jun 2017 16:51:52 +0000 (16:51 +0000)] 
More updates to the Win32 interface for lsm1.

FossilOrigin-Name: cae647696769c9fcdc3beafdfdf74d8384217f4b22820e4545093bea7be58f7c

8 years agoCorrect typo in the Win32 interface for lsm1.
mistachkin [Thu, 29 Jun 2017 15:57:42 +0000 (15:57 +0000)] 
Correct typo in the Win32 interface for lsm1.

FossilOrigin-Name: 1b4facb1ad0085aa52e63d4d432179467ddc2a69b668d49d86e65ead66a73f57

8 years agoAdd interfaces sqlite3_prepare_v3() and sqlite3_prepare16_v3() with the
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

8 years agoFurther corrections to the Win32 interface for lsm1.
mistachkin [Thu, 29 Jun 2017 15:13:48 +0000 (15:13 +0000)] 
Further corrections to the Win32 interface for lsm1.

FossilOrigin-Name: 4df6e2476ce93b9ca7a6959c8c2d6ef2c30395984b007d74166031dcf09d54b4

8 years agoRename the "stmts" virtual table to just "stmt" without the final "s".
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

8 years agoA couple fixes for the Win32 interface for lsm1.
mistachkin [Thu, 29 Jun 2017 14:17:48 +0000 (14:17 +0000)] 
A couple fixes for the Win32 interface for lsm1.

FossilOrigin-Name: ebbd98e941d8a8ea97b434c29b70095515af0adab1977aa4d37fe74a7401f846

8 years agoAdd the stmts virtual table to testfixture builds. Add new compile-time
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

8 years agoCompilation fix for lsm1 using MSVC.
mistachkin [Thu, 29 Jun 2017 13:35:44 +0000 (13:35 +0000)] 
Compilation fix for lsm1 using MSVC.

FossilOrigin-Name: b7794cc5d5abc13c6301c8d5c1b330405432c047f154083430fd15823221e552

8 years agoAdd the LSM1 extension.
drh [Thu, 29 Jun 2017 13:19:55 +0000 (13:19 +0000)] 
Add the LSM1 extension.

FossilOrigin-Name: 824e83274c04d24fd854bc7376c958ea6b05862efc562a3dfed0fc888fd96cc2

8 years agoAdd the "stmts" virtual table to the amalgamation, activated when compiled
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

8 years agoThe query planner examines the values of bound parameters to help determine
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

8 years agoImplement xUnlink, xShmMap, and xShmUnmap for lsm1 on Win32. lsm-vtab
mistachkin [Thu, 29 Jun 2017 12:54:58 +0000 (12:54 +0000)] 
Implement xUnlink, xShmMap, and xShmUnmap for lsm1 on Win32.

FossilOrigin-Name: 680cc064c9e809ddc643074b5e65677f484d904b3d52826f6def480ddaa8f0ab

8 years agoAdd the SQLITE_STMTSTATUS_REPREPARE and SQLITE_STMTSTATUS_RUN options to stmts-vtab
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

8 years agoFix the exprCompareVariable() routine so that it works for non-UTF8 text. partial-index-variables
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

8 years agoImplement xRemap for lsm1 on Win32. Also, zero file handle when closing it.
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

8 years agoAlternative implementation of exprCompareVariable(). Need to run tests on
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

8 years agoImplement xLock and xTestLock for lsm1 on Win32.
mistachkin [Wed, 28 Jun 2017 21:36:40 +0000 (21:36 +0000)] 
Implement xLock and xTestLock for lsm1 on Win32.

FossilOrigin-Name: 9112117dad8085c385aa614cd982b307f5822761607ba358f34df7848c549134

8 years agoMake the query planners use of partial indexes based on bound variables
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

8 years agoMerge the in the latest enhancements from trunk.
drh [Wed, 28 Jun 2017 18:07:29 +0000 (18:07 +0000)] 
Merge the in the latest enhancements from trunk.

FossilOrigin-Name: 8f63c5863231eba7f853f9587b58a81102c31708402fa9962a6e91aa622fad13

8 years agoIncorporate recent trunk changes. prepare_v3
drh [Wed, 28 Jun 2017 15:56:58 +0000 (15:56 +0000)] 
Incorporate recent trunk changes.

FossilOrigin-Name: 62b8269ba2ff71e2daaa86688698896badd6f6e34ab42fbf92dda7fcda73a230

8 years agoBuild the "stmts" virtual table into the amalgamation. It is active only
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

8 years agoFix harmless compiler warnings in the CSV extension.
drh [Wed, 28 Jun 2017 15:17:31 +0000 (15:17 +0000)] 
Fix harmless compiler warnings in the CSV extension.

FossilOrigin-Name: f02a54599de7620438aecd3753199fc52ce8919d7503bb8b2f5592b0e51dbf8c

8 years agoFaster parser stack overflow detection.
drh [Wed, 28 Jun 2017 15:01:35 +0000 (15:01 +0000)] 
Faster parser stack overflow detection.

FossilOrigin-Name: 36e54cd8b1fb374fd41e3e09b34b86e34327bf07c9e4bfec58382163c5c5d279

8 years agoMinor tweak to the SQL grammar to make the parser tables a few bytes smaller.
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

8 years agoIn the lemon-generated parser, store the number of symbols on the RHS of each
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

8 years agoIn the lemon-generated parser, automatically promote SHIFTREDUCE actions on
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

8 years agoSimplify error handling logic in sqlite3_exec() to save about 40 bytes.
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

8 years agoMinor code simplification in the ALTER TABLE logic.
drh [Wed, 28 Jun 2017 01:12:53 +0000 (01:12 +0000)] 
Minor code simplification in the ALTER TABLE logic.

FossilOrigin-Name: bfc4e7f30e4654b9603457fb6a4136828e346dcfe4e313fdf56ed62d131b7156

8 years agoAvoid an unnecessary call to sqlite3XPrintf() in the code generator, for
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

8 years agoAdd SQLITE_DBCONFIG_ENABLE_QPSG that forces the query planner stability
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

8 years agoImprove a local variable name.
mistachkin [Tue, 27 Jun 2017 22:33:06 +0000 (22:33 +0000)] 
Improve a local variable name.

FossilOrigin-Name: d0f6973d93c36451bf64f47de9a88abec613a624603033bf6717f5071139b6d2