]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 13 Sep 2017 18:38:31 +0000 (18:38 +0000)]
Experimental sqlite3_stmt_retryable() interface.
FossilOrigin-Name:
ebada0723ac91f288fe89baf4a7eb6383f71d6588afaf17467f45a56677de22d
drh [Wed, 13 Sep 2017 12:55:59 +0000 (12:55 +0000)]
Disable FTS3 matchinfo() tests that assume a littleEndian platform when
running on bigEndian.
FossilOrigin-Name:
87ccdf9cbb9284553330683d4971be4f523ce922089aee6dffccfc18b3004263
drh [Wed, 13 Sep 2017 00:33:36 +0000 (00:33 +0000)]
Improvements to PRAGMA integrity_check for better detection of malformed
records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt
record. Also includes microoptimizations that I stumbled over while working
on integrity_check.
FossilOrigin-Name:
8525c30c1d6676e51b9d9c642450aae3722c129edafdbc39b8435fcfe09b1817
drh [Wed, 13 Sep 2017 00:13:05 +0000 (00:13 +0000)]
PRAGMA integrity_check returns SQLITE_OK even if it encounters corruption
while scanning indexes.
FossilOrigin-Name:
81f62e99f27dedf3dc10fa1593c4cd9fc158680867206aee853e503a0cc8df71
mistachkin [Wed, 13 Sep 2017 00:01:26 +0000 (00:01 +0000)]
Fix test script comment. No changes to code.
FossilOrigin-Name:
a5a1949259a26c3330d7b1dcf38a8dd2e9b2c3af8d52f937e8537df138c9a55a
mistachkin [Tue, 12 Sep 2017 23:58:47 +0000 (23:58 +0000)]
Remove use of the rand_s() function (added by [
139081bef9f63c3e ]) as it appears to cause issues with some third-party DLLs.
FossilOrigin-Name:
3a2793aa65727cbbf8c4678d478cf8fb02350f19ff98201934a984727368d64d
drh [Tue, 12 Sep 2017 15:05:34 +0000 (15:05 +0000)]
Fix an error in [
b22cdd67 ] that can cause a negative infinity to be (rarely)
reported as a positive infinity.
FossilOrigin-Name:
9780b23ca375de6a542516fbc03eb39d5a393ca577718fda231d0d0ccf3b1c7e
drh [Tue, 12 Sep 2017 13:27:43 +0000 (13:27 +0000)]
Changes to (hopefully) get the build working with recent Intel compilers.
FossilOrigin-Name:
b22cdd6734ecda2b2b9749668f353abc2660f192d6a40c5d266309d30e25695e
drh [Tue, 12 Sep 2017 00:24:45 +0000 (00:24 +0000)]
Make sure all connections are closed in the pragma.test script.
Test change only - no changes to code.
FossilOrigin-Name:
d7b7f038a2c5e81a58c1dd4b556096b58ce10c30eb74fd4b770445927fdb62f3
drh [Mon, 11 Sep 2017 23:46:59 +0000 (23:46 +0000)]
drh [Mon, 11 Sep 2017 20:54:54 +0000 (20:54 +0000)]
Add support for new operators in virtual tables: !=, IS, IS NOT, IS NULL, and NOTNULL.
FossilOrigin-Name:
3b7dbe9da90b7db336eed597a73a5364d8a691e57c1febd60908349f57a539ad
drh [Mon, 11 Sep 2017 19:47:37 +0000 (19:47 +0000)]
Refactor names of constants and functions associated with the auxiliary
operators for xBestIndex.
FossilOrigin-Name:
0fb992af669e765760a94d2b6e2330b21a98f39f18445a94b0a2290560368d58
drh [Mon, 11 Sep 2017 18:37:44 +0000 (18:37 +0000)]
Minor adjustments to indentation and spacing for clarity. No changes to code.
FossilOrigin-Name:
d3153abda6fd48015b007081734738b9cc4622e3564dc78a7a470a72dc2ca236
dan [Mon, 11 Sep 2017 08:53:54 +0000 (08:53 +0000)]
Add tests to check that affinities work with != operators on virtual table
column values. No changes to code.
FossilOrigin-Name:
8d24e0803d180448e637e33030a4ebf2c20eb1cab1074290c08f2eee0a23f66c
drh [Sun, 10 Sep 2017 01:06:05 +0000 (01:06 +0000)]
Simplifications to the PRAGMA integrity_check code generator.
FossilOrigin-Name:
99b9140c795c0c17c4e9d2547477c9dac056edfd443f2b2bd70edecd43c49ab7
drh [Sat, 9 Sep 2017 22:46:56 +0000 (22:46 +0000)]
Simplification and performance improvement to sqlite3_reset().
FossilOrigin-Name:
b6425d0170721d803a055a958f1823c9c4be925cd93ac47562ff723daf8ce2ed
drh [Sat, 9 Sep 2017 20:38:49 +0000 (20:38 +0000)]
Improved detection of malformed records by PRAGMA integrity_check.
FossilOrigin-Name:
8fa923caa1535fc9ebed0214d211fc3d09a015d78afd01f288c215a7980d25f2
dan [Sat, 9 Sep 2017 19:41:12 +0000 (19:41 +0000)]
Enhance the vtab interface to handle IS, !=, IS NOT, IS NULL and IS NOT NULL
constraints.
FossilOrigin-Name:
34c8e952616013deb6fffec701ac5989afac9bef1bf92458a2e4ba92c7ee924f
mistachkin [Sat, 9 Sep 2017 00:51:36 +0000 (00:51 +0000)]
Fix harmless compiler warnings seen with MSVC.
FossilOrigin-Name:
faa22e29a5a05a16d46a428d838acedfa7d6fad6239495d59a6a1f4764e1b1b6
dan [Fri, 8 Sep 2017 17:48:00 +0000 (17:48 +0000)]
Have the header comment for sqlite3Checkpoint() mention TRUNCATE along with
the other three checkpoint types. No changes to code.
FossilOrigin-Name:
e1e3ca7ea43a68b9b57dc38d8855f63b63a53feb8128b666a1becf87a2c70341
drh [Thu, 7 Sep 2017 09:56:37 +0000 (09:56 +0000)]
Prevent a possible crash when trying to recover using a carefully corrupted \
and truncated rollback journal. (Test case in TH3)
FossilOrigin-Name:
02828d717e2d97b1f59e9279cea9c06eed4accd4e262606bd90d060449c5a1a3
dan [Tue, 5 Sep 2017 20:16:19 +0000 (20:16 +0000)]
Update "PRAGMA integrity_check" to detect inconsistencies between a single
record's header and body.
FossilOrigin-Name:
9e393a0edf1a578ddecc16a72fe3c54b75c2a650d507bcbc37c9724fbede1494
dan [Tue, 5 Sep 2017 17:23:39 +0000 (17:23 +0000)]
Fix a comment describing the xRowid method of the "series" virtual table. No
code changes.
FossilOrigin-Name:
868cd1960015dc1bf003f911dcc417a94540d1948617ea1838a48b5cff59afda
dan [Tue, 5 Sep 2017 16:24:38 +0000 (16:24 +0000)]
Add experimental API sqlite3rbu_temp_size_limit(). For limiting the amount of
temporary disk space RBU uses.
FossilOrigin-Name:
7fdd629830679db620d477df3c206bf84598cc935ccb51547c0d8444a186b63e
mistachkin [Mon, 4 Sep 2017 19:31:54 +0000 (19:31 +0000)]
Use the SQLITE_CORRUPT_BKPT return code in a couple more places.
FossilOrigin-Name:
72d22c226bf4311345e8844fd9801ebddf77aceb80a038dce46608bf4ccae636
mistachkin [Mon, 4 Sep 2017 18:44:54 +0000 (18:44 +0000)]
Add the 'mksourceid' executable to the clean target for MSVC.
FossilOrigin-Name:
77854694b2da989aa4dbbdbd3ccf61756c46cc368de9731f5fd1c3aa38d7cad5
drh [Mon, 4 Sep 2017 00:33:04 +0000 (00:33 +0000)]
drh [Mon, 4 Sep 2017 00:19:29 +0000 (00:19 +0000)]
Fix recent test cases in test/indexepxr2.test so that they work even without
SQLITE_ENABLE_STAT4 and SQLITE_ENABLE_JSON1.
FossilOrigin-Name:
03f3cc03aaf233ad663d32a0200bfafee24a6c81f6a0ad14094ff014f880f00f
drh [Fri, 1 Sep 2017 14:50:19 +0000 (14:50 +0000)]
Add the new sqlite3PagerUnrefPageOne() pager method to deal with the special
case of unreferencing page1.
FossilOrigin-Name:
b2e2100cf766da1cb499aec0ca0a9969d7af5d93312ab8cf895fbf4a6ffb9b2f
drh [Fri, 1 Sep 2017 12:57:33 +0000 (12:57 +0000)]
Remove an obsolete optimization in pcache that due to more recent changes
was recently making the code a little slower.
FossilOrigin-Name:
c4e7e175eecfd79015f4fae99618dfce6baf97c21bf3c909ea535d4e12dcaaad
drh [Fri, 1 Sep 2017 12:18:41 +0000 (12:18 +0000)]
Small size and performance improvement in pcacheManageDirtyList() by not
zeroing the PgHdr.pDirtyNext and PgHdr.pDirtyPrev pointers for PgHdr objects
that are not on the dirty list.
FossilOrigin-Name:
919863b14859d958d6c078097faae02070c7bd082e2814cf3f84bd84921e4419
drh [Thu, 31 Aug 2017 21:11:52 +0000 (21:11 +0000)]
Clarify the documentation about "protected" versus "unprotected" sqlite3_value
objects. No changes to code.
FossilOrigin-Name:
4094a3410e05597d0adc740d161e0358a3041c5a4e73bde35b1e983594c6879a
dan [Wed, 30 Aug 2017 13:21:17 +0000 (13:21 +0000)]
Remove unnecessary "__declspec(dllexport)" qualifiers from generated file
shell.c.
FossilOrigin-Name:
bcc20be5b290c563183e82a590cc1fdabadfb13475fd8f6b3d810365cea5d868
drh [Wed, 30 Aug 2017 04:44:59 +0000 (04:44 +0000)]
drh [Tue, 29 Aug 2017 20:21:12 +0000 (20:21 +0000)]
Faster memory allocation from lookaside by not trying to keep track of the
number of outstanding allocations, and rather computing that value only
when requested.
FossilOrigin-Name:
a06263f1efd2d45eac88b8d59e8fe8e458670fa3808c795feaa7f247fc36cbe9
drh [Mon, 28 Aug 2017 17:00:12 +0000 (17:00 +0000)]
Add the --enable-update-limit option to the ./configure script.
FossilOrigin-Name:
64a8ae68381b7fbb29b659901ca7ce8d50510e4753758d5761f7e41539288cef
drh [Mon, 28 Aug 2017 16:11:05 +0000 (16:11 +0000)]
Avoid unnecessary mutexes in the pcache1 implementation in the common case
where no auxiliary page cache memory is configured.
FossilOrigin-Name:
1ba051e34d7512ab5e8fc969c1b5aaaf827b8e6493ba4235895257aca78b500f
drh [Mon, 28 Aug 2017 15:51:35 +0000 (15:51 +0000)]
Remove the rarely-used scratch memory allocator. This makes the code smaller,
faster, and easier to maintain. In place of the scratch allocator, add the
SQLITE_CONFIG_SMALL_MALLOC configuration option that provides a hint to SQLite
that large memory allocations should be avoided.
FossilOrigin-Name:
54b000246cfb5c7b8adb61a17357ef5a49adddde9e48e8937834d5ba0beb8a6b
drh [Mon, 28 Aug 2017 14:33:27 +0000 (14:33 +0000)]
Backport changes to shell.c into shell.c.in.
FossilOrigin-Name:
2348045fbc3fc99e2b46095cc86db99815cd1f9254d30a3b72c2b15c02076a84
drh [Mon, 28 Aug 2017 11:12:57 +0000 (11:12 +0000)]
Fix the ".dump", ".schema", and ".fullschema" commands of the command-line
shell so that they work even if PRAGMA empty_result_callbacks is enabled.
Fix for ticket [
02f0f4c54f281 ].
FossilOrigin-Name:
cf0d3715caac9149e65bb4802fd179d0952cfaf9add17ac243c6ca87cbd6e6b7
drh [Fri, 25 Aug 2017 19:51:51 +0000 (19:51 +0000)]
Fix a few over-length source code lines. No functional changes.
FossilOrigin-Name:
1783c54ce9dcb4b2c4f2a66f6d3315e646b71b54a8899fc32a7bf0f935a21f7f
drh [Fri, 25 Aug 2017 15:43:34 +0000 (15:43 +0000)]
Size and performance optimization for sqlite3Init().
FossilOrigin-Name:
776d91284a891bec64d6f649ff17de898b6ac6f66dd3d2afccc394a012a40c7d
drh [Fri, 25 Aug 2017 13:34:18 +0000 (13:34 +0000)]
Small performance optimization in sqlite3WhereBegin().
FossilOrigin-Name:
39f708d1e286931365a8992dbe7f900108ff1dad146032a284ad1dec09b11e06
drh [Fri, 25 Aug 2017 13:02:48 +0000 (13:02 +0000)]
Convert a branch made unreachable by [
59560d07 ] into an assert().
FossilOrigin-Name:
2738b8db3caa6ce48d27cb5749d27b79241e6f6682b694886f6ef663e5443583
drh [Fri, 25 Aug 2017 11:44:51 +0000 (11:44 +0000)]
Improve the internal mechanism used to keep track of what kind of syncing
to do for WAL transaction commits and checkpoint operations.
Use the checkpoint-style of syncing to sync the header of a new
or restarted WAL file.
FossilOrigin-Name:
e8d23afe8478e42779ec1dd602ca2d77d4f3c26c4d54f52112c5aaa928536538
dan [Fri, 25 Aug 2017 09:17:14 +0000 (09:17 +0000)]
Avoid returning duplicate rows in experimental pragmas "pragma_list",
"module_list" and "function_list".
FossilOrigin-Name:
b79cc8dc88c8ae03daff1290fd650b2b0e6f673ec9d83be6a533a57172930190
drh [Fri, 25 Aug 2017 01:14:43 +0000 (01:14 +0000)]
Update the mechanism used to keep track of what kind of syncing to do for
WAL transaction commits and checkpoint operations. Use the checkpoint-style
of syncing to sync the header of a new or restarted WAL file.
FossilOrigin-Name:
bf65dae8d4297c57ac63228ccf0100f9fabf2fb600438c9f2e10a29c4b118168
drh [Thu, 24 Aug 2017 20:54:42 +0000 (20:54 +0000)]
drh [Thu, 24 Aug 2017 15:43:26 +0000 (15:43 +0000)]
Fixes to documentation about SQLITE_OPEN_URI.
FossilOrigin-Name:
7ec72314d6b66e4969833194fd032f01963bb861a7bb30d060acdb82dc5d62fe
drh [Thu, 24 Aug 2017 13:55:46 +0000 (13:55 +0000)]
Make sure the sqlite3_result_pointer() interface does not leave a VM register
in an inconsistent state. Fix for ticket [
7486aa54b968e9b5 ]. Test cases
are in TH3.
FossilOrigin-Name:
d2f9230c5c7ad6166e7d2b649f77960fa58b1cb583e529a43882753ab348413c
drh [Wed, 23 Aug 2017 23:09:03 +0000 (23:09 +0000)]
Performance optimization to pageFindSlot() in the b-tree layer.
FossilOrigin-Name:
59560d079fab4b91ec50855cc60349da178209c38fb6dae674ff874ccfc7f5fa
drh [Wed, 23 Aug 2017 20:36:06 +0000 (20:36 +0000)]
Size and performance optimization to dropCell() and freeSpace().
FossilOrigin-Name:
bc1ec123ce05c9d16b0942f870381145dc9725764e47806939ff207a73066f4d
drh [Wed, 23 Aug 2017 14:45:59 +0000 (14:45 +0000)]
Smaller and faster implementation of the fillInCell() routine.
FossilOrigin-Name:
77074990edef6c42bdfe7ccce1affc8ed64a86dde3ad4fa50b60ba0a6d851eea
drh [Tue, 22 Aug 2017 21:23:02 +0000 (21:23 +0000)]
Update documentation to make it clear that SQLITE_SOURCE_ID and
sqlite3_sourceid() might changes if the source code is edited.
FossilOrigin-Name:
e69c0c8770d3cc2fcdc779c6290caf1575644d457326caa00327b9070251d620
drh [Tue, 22 Aug 2017 21:07:03 +0000 (21:07 +0000)]
Less dramatic changes to the source-id following an edit. Modify the way
that the amalgamation is constructed to give it the opportunity to detect
changes and modify the source-id.
FossilOrigin-Name:
564c7340a3368501c3da885afde52123ed7f558801f6190cbe6173dfe9704b70
drh [Tue, 22 Aug 2017 19:54:34 +0000 (19:54 +0000)]
Modify the SQLITE_SOURCE_ID if the source code has changed in any way since
the previous check-in.
FossilOrigin-Name:
515d6a8377cc1dc76d2e78e242fe256cbeef1c1217ec35367648ddeeb17007ec
drh [Tue, 22 Aug 2017 19:49:34 +0000 (19:49 +0000)]
Trying again to get out-of-tree builds to work correctly.
FossilOrigin-Name:
a1b3337e949fc431e19a3d977d07a312bb253ab7fec6811c0221abd514985d55
drh [Tue, 22 Aug 2017 19:43:41 +0000 (19:43 +0000)]
Attempting to fix the source-id generator so that it works for out-of-tree
builds.
FossilOrigin-Name:
5a037ac2da7449be3e26c36910ac5d865d7e74d3c25af0a10578c1f92fe2afea
drh [Tue, 22 Aug 2017 19:19:00 +0000 (19:19 +0000)]
Add the "mksourceid" program to the build process. That program changes
the SQLITE_SOURCE_ID if the source tree has been modified in any way.
FossilOrigin-Name:
d4c05e04f7e1325a3260808ee17252876f678e78bf0cf6569a18a52ff674bd7a
drh [Tue, 22 Aug 2017 15:21:54 +0000 (15:21 +0000)]
Fix error tests in seldom-used compile-time branches of the unix backend.
FossilOrigin-Name:
885c2b44a44f8d054014e4079b2cac8279c11d13206d5b5215189ef75b9c5254
drh [Mon, 21 Aug 2017 02:20:57 +0000 (02:20 +0000)]
drh [Mon, 21 Aug 2017 02:05:22 +0000 (02:05 +0000)]
Minor optimization to sqlite3VdbeMemSetStr().
FossilOrigin-Name:
6538ef7b6b56c7a6629a0bb7418910c64c8b2e73af2296a116c073ecf2e0d429
drh [Sat, 19 Aug 2017 20:38:18 +0000 (20:38 +0000)]
Space and size optimization to the printf implementation.
FossilOrigin-Name:
d01d2cffefd1cdb52b386e4983599534c0fbbe6aebda186db53200e4b2283f0a
drh [Fri, 18 Aug 2017 22:30:20 +0000 (22:30 +0000)]
Another size and performance optimization to readDbPage(). This time we
eliminate some unnecessary local variables.
FossilOrigin-Name:
745bc8decd18d4dc00589474fd3928a3a9f4156d09e05e6f5b8623de6491795a
drh [Fri, 18 Aug 2017 21:14:50 +0000 (21:14 +0000)]
Size and performance optimization the readDbPage() routine in the pager.
FossilOrigin-Name:
ca9e1875c3a893321d70a131fc4ffc76d169ad05e0b48b7006f53b6b467db4be
drh [Fri, 18 Aug 2017 16:09:52 +0000 (16:09 +0000)]
For the unix VFS, avoid an unnecessary stat() system call prior to opening
any file in the common case where there are no unused file descriptors.
FossilOrigin-Name:
3075cfa07489eaf13cb9a2760e2391e79dd73181fe1730fae7bdcd6ad66d2a1f
drh [Fri, 18 Aug 2017 14:34:28 +0000 (14:34 +0000)]
Combine the OP_CreateTable and OP_CreateIndex opcodes of the bytecode engine
into a single OP_CreateBtree opcode. This simplifies the implementation and
makes the bytecode programs clearer.
FossilOrigin-Name:
eb1202b5e43f1f029ad2bdf845509e7f31361e4dc189943e5e2bd4462e2ef3f3
dan [Fri, 18 Aug 2017 08:29:37 +0000 (08:29 +0000)]
Only use indexes on expressions to optimize ORDER BY and GROUP BY if the
collation sequence matches. Possible fix for [
e20dd54a ].
FossilOrigin-Name:
37e1900880b70be6802eaf43b0e568fda709a1dd6083d8be11e5a7a7d1fda41a
drh [Thu, 17 Aug 2017 20:53:07 +0000 (20:53 +0000)]
Use the __builtin_clzll() function of gcc to improve the performance and
reduce the size of the sqlite3LogEst() routine.
FossilOrigin-Name:
a42a438cbbd721765ca55e71c464552dbaa494050cf472593599b8c7f0249516
drh [Thu, 17 Aug 2017 19:23:16 +0000 (19:23 +0000)]
drh [Thu, 17 Aug 2017 18:54:27 +0000 (18:54 +0000)]
Size optimization in the authorizer error message generation logic.
FossilOrigin-Name:
0367a4d58682a64d7ed4c5a4b4377899e22432851587c649d419efb6d7bac250
drh [Thu, 17 Aug 2017 18:23:46 +0000 (18:23 +0000)]
In sqlite3ViewGetColumnNames(), return the number of errors, not an error code.
FossilOrigin-Name:
f13682ea2350ba366026a4a58e59591af378c496b92da60803c4c642c3bfc8de
drh [Thu, 17 Aug 2017 18:17:24 +0000 (18:17 +0000)]
The RTREE extension should return SQLITE_CORRUPT_VTAB, not just SQLITE_CORRUPT
when it encounters incorrectly formatted shadow tables.
FossilOrigin-Name:
0712f057ef3dcd907984dda30f6d961a29b61c1d2b25627028c4e227ec85dbba
drh [Thu, 17 Aug 2017 14:47:56 +0000 (14:47 +0000)]
dan [Thu, 17 Aug 2017 14:12:16 +0000 (14:12 +0000)]
Add test cases for ticket [
be436a7f4587ce517 ] using virtual table modules fts5
and rtree.
FossilOrigin-Name:
2101b4208787d297788e05f2bd82d4a9aff26e2237a7016ac857a52fb5252ce0
drh [Thu, 17 Aug 2017 02:26:35 +0000 (02:26 +0000)]
Defer schema resets when the query planner is running.
Proposed fix for ticket [
be436a7f4587ce517 ].
FossilOrigin-Name:
a7bc7752ba0266684f5317e424a4ee9add4af002272082183519e708ab9ffc79
drh [Wed, 16 Aug 2017 19:20:20 +0000 (19:20 +0000)]
Avoid a test for CURTYPE_BTREE in sqlite3VdbeCursorMoveto() in order to reduce
the size and improve the performance of OP_Column.
FossilOrigin-Name:
f078deb25149b7b1881b7f3374b343d0677e82336d8fdd7f1cdd06d926b5dd57
drh [Wed, 16 Aug 2017 14:16:19 +0000 (14:16 +0000)]
Remove an unnecessary local variable from OP_Column, for a small size
reduction and performance increase.
FossilOrigin-Name:
39543903282409ad3f139f8a0bb376661e7595a33af4f647945b1513a028ccb4
drh [Wed, 16 Aug 2017 11:04:22 +0000 (11:04 +0000)]
Performance improvement in the OP_Column opcode.
FossilOrigin-Name:
dc98a92f32511ee322b0207bd286e967248a8e59b418f11168eb31e34b0fa0fa
drh [Tue, 15 Aug 2017 14:14:36 +0000 (14:14 +0000)]
Small size and performance in the OP_Column opcode.
FossilOrigin-Name:
2cf3f3de8a48465bd6b0af7763bfe905f3bb0151488f63c9ecc3147bcb345094
drh [Tue, 15 Aug 2017 03:46:47 +0000 (03:46 +0000)]
Btree optimization: New field BtCursor.pPage that points to the current page,
saving a single pointer dereference on each access.
FossilOrigin-Name:
373b71d19cad785922d5a80828f2fee0cbe7dff6594743e625bbdfa31b1ca131
drh [Mon, 14 Aug 2017 23:53:02 +0000 (23:53 +0000)]
Minor size and performance optimization to sqlite3BtreeCloseCursor().
FossilOrigin-Name:
16969338841734d00ab906a94b82480c7e1e426eb0ddf7b9e6aed722aee5d91f
drh [Mon, 14 Aug 2017 18:13:52 +0000 (18:13 +0000)]
Change the internal btree routine moveToRoot() to return SQLITE_EMPTY if
the table is empty or if it has pgnoRoot==0. This simplifies the callers,
making them smaller and faster. The SQLITE_EMPTY result code is intercepted
and changed into SQLITE_OK before surfacing in an API.
FossilOrigin-Name:
240d57143d943eaddd5f7c2d473f47a1d29417e61d28142f70f3d960bb9b30df
drh [Mon, 14 Aug 2017 17:03:58 +0000 (17:03 +0000)]
drh [Mon, 14 Aug 2017 14:53:24 +0000 (14:53 +0000)]
Sometimes a TK_COLUMN Expr node can have Expr.pTab==0 if it is a reference
to an expression column in an index on and expression. Fix for ticket
[
aa98619ad08ddcab ].
FossilOrigin-Name:
d0da791ba0edfb65186459345e43500d8364a086a5a1651d828fecc1a1dd1edb
drh [Mon, 14 Aug 2017 01:33:07 +0000 (01:33 +0000)]
Properly dequote column names in tables constructed by an aggregate SELECT.
FossilOrigin-Name:
7e0d3e9cb071873564b7916c022aba5cd9f3b8ebab9dba787ecd7113c5b7816a
dan [Sat, 12 Aug 2017 18:31:31 +0000 (18:31 +0000)]
drh [Sat, 12 Aug 2017 02:16:34 +0000 (02:16 +0000)]
Update the speed-check.sh test script to append log output to the end of the
cout-NAME.txt file.
FossilOrigin-Name:
14d262d6aa4e281dfe0490988f0c1965c4babf98038a1a96b9bb5772a61521a3
drh [Sat, 12 Aug 2017 02:01:55 +0000 (02:01 +0000)]
Remove the zBase field from the StrAccum object. Resulting code is slightly
smaller and faster.
FossilOrigin-Name:
6e52fa5fd79988a433bae0152ceae036edab4bb18d2b48ed04c1f53f141728b0
drh [Sat, 12 Aug 2017 01:09:06 +0000 (01:09 +0000)]
Size and performance micro-optimization on sqlite3SrcListIndexedBy().
FossilOrigin-Name:
28a5aec118f9d078c9e7225f85cd48a91920b13908c540771e309557c3f15f84
drh [Fri, 11 Aug 2017 18:59:00 +0000 (18:59 +0000)]
Fix compiler warnings that arise if the PAGERTRACE macro is turned on.
This changes does not affect production builds.
FossilOrigin-Name:
831156a4bd7c4408085f7c5584cdeebd1953c539972f80c5ef29bc147008630e
drh [Fri, 11 Aug 2017 18:55:04 +0000 (18:55 +0000)]
Improved comments in the header of the LSM1 vtab module. No code changes.
FossilOrigin-Name:
aa49926dbffaae4f7c486be72ad814f381cca65c549f9d2605f47540a5f4be84
drh [Fri, 11 Aug 2017 13:51:41 +0000 (13:51 +0000)]
drh [Fri, 11 Aug 2017 12:49:59 +0000 (12:49 +0000)]
Convert the LSM1 virtual table to be WITHOUT ROWID and get UPDATE and DELETE
operations working on it.
FossilOrigin-Name:
2164031b509dc6eae367ffb9d915f3e1d33d26210506b2de8b2bfca38c53465f
drh [Fri, 11 Aug 2017 03:47:21 +0000 (03:47 +0000)]
Simplification to the like optimization logic. Remove unnecessary branches.
FossilOrigin-Name:
9466d952e169a6a60f6e575e679a61f05887b51c693505764edaf10f62cd829f
drh [Thu, 10 Aug 2017 20:43:07 +0000 (20:43 +0000)]
Allow WITHOUT ROWID virtual tables to be writable as long as they have
exactly one column as their PRIMARY KEY.
FossilOrigin-Name:
c601d128ff1f1dd6d221ee9f55595a95b58ba07d043e1d530743ea913731560e
dan [Thu, 10 Aug 2017 20:36:56 +0000 (20:36 +0000)]
Add the "instance" type to the fts5vocab virtual table module. For direct
access to the contents of the fts5 term index.
FossilOrigin-Name:
34a7bd7121a478e14982d59be95ad891fab8050ad5e006638f826c57c392b93e
dan [Thu, 10 Aug 2017 19:12:04 +0000 (19:12 +0000)]
Fix a typo in csv01.test introduced by the previous commit.
FossilOrigin-Name:
f38ff718278c8ff477d1c6379ced32167063de15f0666c8eac2e4dd30cbd975c
dan [Thu, 10 Aug 2017 19:10:23 +0000 (19:10 +0000)]
drh [Thu, 10 Aug 2017 17:53:11 +0000 (17:53 +0000)]
Test case for writing to a WITHOUT ROWID virtual table. The TCLVAR virtual
table is modified to add a "fullname" column which is the primary key, and
to accept update operations against the primary key.
FossilOrigin-Name:
6997e00c3221f266f4d9187501d8a9e5bafb85551e88a744cdc8ffe3b75ec2a4