]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Thu, 14 Nov 2013 15:35:43 +0000 (15:35 +0000)]
An experimental virtual tables for showing the content of internal schema
objects.
FossilOrigin-Name:
d1fbc6ca18383b97befd597aeb7ff84c6a04d243
drh [Thu, 14 Nov 2013 00:09:48 +0000 (00:09 +0000)]
Simplification to the progress callback check. On branch removed.
FossilOrigin-Name:
24ef16548eebcdb9d8b40308f6a16dabf8f8d474
drh [Wed, 13 Nov 2013 23:48:46 +0000 (23:48 +0000)]
Make sure the progress callback is invoked prior to an SQLITE_ROW return if
it is overdue to be called.
FossilOrigin-Name:
21f59b04f74738d08ebad693646bbaea24dc45ef
drh [Wed, 13 Nov 2013 20:46:11 +0000 (20:46 +0000)]
Merge the skip-scan enhancement into trunk.
FossilOrigin-Name:
b0bb975c0986fe01f1184c1d4888fe397174ad0f
drh [Wed, 13 Nov 2013 19:01:41 +0000 (19:01 +0000)]
Import the "PRAGMA vdbe_eqp" enhancement and the enhanced EXPLAIN formatting
the shell from trunk. Fix a bug in skip-scan and add a test case to prevent
a regression.
FossilOrigin-Name:
f668616a29686f3ce532731c534b168e536adbb5
dan [Wed, 13 Nov 2013 18:35:01 +0000 (18:35 +0000)]
In the shell tool, if an "EXPLAIN" command is executed in ".explain on" mode, attempt to automatically indent the bodies of loops in the output VDBE program.
FossilOrigin-Name:
e7d34ec6814ed4606a6d5d7f68c218ae4d25e666
drh [Wed, 13 Nov 2013 17:58:23 +0000 (17:58 +0000)]
Add the "PRAGMA vdbe_eqp" command, only available with SQLITE_DEBUG. Simplify
some of the other debugging logic.
FossilOrigin-Name:
8ce33f4c818e1c785a1c176f6f631b8184e1166b
drh [Wed, 13 Nov 2013 17:24:38 +0000 (17:24 +0000)]
Add VDBE comments to the beginning and end of skip-scan loops.
FossilOrigin-Name:
0c85d93b52311dee7980d977be6ed0dc70b060c1
drh [Wed, 13 Nov 2013 16:58:54 +0000 (16:58 +0000)]
Improve the way that skip-scan loops are constructued. Add test cases.
Improved the scoring of skip-scan loops.
FossilOrigin-Name:
5e75ab93881b85801cb4ebf70f2063ff7c51ac19
drh [Wed, 13 Nov 2013 15:32:15 +0000 (15:32 +0000)]
Add test cases for skip-scan. Enhance "do_test" so that if the expected result
is of the form "/*..*/" or "~/*..*/" it treats the expected result as a glob
pattern rather than as a regular expression. Fix a bug in ANALYZE result
loading associated with WITHOUT ROWID tables.
FossilOrigin-Name:
d3e6e9b2a74074c05429d3c341c23525504351ab
drh [Wed, 13 Nov 2013 12:27:25 +0000 (12:27 +0000)]
Add the ability to use an index even if the left-most columns of the index
are unconstrainted, provided that the left-most columns have few distinct
values.
FossilOrigin-Name:
27dd5993d1ae5625eb94bf406421eb390d001be9
drh [Wed, 13 Nov 2013 08:55:02 +0000 (08:55 +0000)]
Avoid an unnecessary OP_IfNull while doing an indexed search.
FossilOrigin-Name:
5196000930600d0cd931b87e864507791b9dab08
mistachkin [Tue, 12 Nov 2013 21:37:04 +0000 (21:37 +0000)]
Adjust the SQLITE_MALLOCSIZE defines, primarily to make sure _msize gets used with MSVC when appropriate.
FossilOrigin-Name:
4e7e805e1139b2dc05d85e86e5c8254e5d361bf2
mistachkin [Tue, 12 Nov 2013 21:10:02 +0000 (21:10 +0000)]
Fix harmless compiler warning.
FossilOrigin-Name:
ddacd10105c6df2d3a9d707947e72c62e88212eb
drh [Tue, 12 Nov 2013 20:18:14 +0000 (20:18 +0000)]
Minor enhancements to the auxiliary information added to EXPLAIN output with
SQLITE_EXPLAIN_ENABLE_COMMENTS.
FossilOrigin-Name:
0d1328e33ca761eddcf8a50e8e83c997861e9047
drh [Tue, 12 Nov 2013 18:37:25 +0000 (18:37 +0000)]
Break out the structure and macro definitions of where.c into a separate
header file whereInt.h for easier editing and debugging.
FossilOrigin-Name:
c44467124623733aac64096d605f16139b733a7f
dan [Tue, 12 Nov 2013 17:46:44 +0000 (17:46 +0000)]
When possible, have FTS use 32-bit operations to read varints from the database.
FossilOrigin-Name:
aa7ba302ed13aedde89b5bcbe9119799c0da8a42
drh [Tue, 12 Nov 2013 15:33:40 +0000 (15:33 +0000)]
A better (simpler) fix to the count(*) problem addressed in the previous
check-in.
FossilOrigin-Name:
0f924c6ef6cf2ac5a61aafa8dd8e3309b3970499
drh [Tue, 12 Nov 2013 14:55:40 +0000 (14:55 +0000)]
Make sure the count(*) optimization works correctly on WITHOUT ROWID tables.
FossilOrigin-Name:
91174779786be07d63f3c4a5277602ddc5f0ba26
dan [Tue, 12 Nov 2013 12:30:09 +0000 (12:30 +0000)]
Update test command [explain_i] to handle the opcodes used by virtual tables (VNext, VFilter etc.).
FossilOrigin-Name:
1b215ee3219750d3beda8f3628c8673efd517061
dan [Tue, 12 Nov 2013 12:17:16 +0000 (12:17 +0000)]
Fix for [
4065ac8595 ]: Do not order CROSS or LEFT joins, even if the right-hand-side is a virtual table.
FossilOrigin-Name:
e2684ece455f53563ae6da7cbb5505d9a4a3076a
drh [Tue, 12 Nov 2013 01:11:56 +0000 (01:11 +0000)]
Fix an error message in the spellfix extension so that it conforms to the
style of error messages in the core.
FossilOrigin-Name:
b896ae3d2787c370be3ff5d09da7d631a16d3a2a
drh [Mon, 11 Nov 2013 23:26:34 +0000 (23:26 +0000)]
Add a comment to the sqlite3_index_info structure indicating that the new
field is only available in SQLite 3.8.2 or later.
FossilOrigin-Name:
239648f8ccf057eb05841ce65b108da53fdbf0a4
dan [Mon, 11 Nov 2013 19:56:35 +0000 (19:56 +0000)]
Fix typos in compile and run-time tests of the sqlite library version number in rtree.c.
FossilOrigin-Name:
f58d57017199421167dae8ebc67db2f19be45082
dan [Mon, 11 Nov 2013 19:01:33 +0000 (19:01 +0000)]
Add a way for virtual tables to return the expected number of rows for a scan (not just the overall cost) to SQLite. Have the rtree module make use of this.
FossilOrigin-Name:
5a3cfd747a85480d215784817c3821d87ecfa2f7
drh [Mon, 11 Nov 2013 16:55:52 +0000 (16:55 +0000)]
Remove unreachable code, replacing it in most cases with assert() or NEVER()
macros.
FossilOrigin-Name:
924d63b283a3d059838114c95d42c6feaf913529
mistachkin [Mon, 11 Nov 2013 03:37:04 +0000 (03:37 +0000)]
Fix issue with several memory allocation tests due to KeyInfo allocations now being shared.
FossilOrigin-Name:
569fedd6bb07bdd3430da8dc65de4a9fdfe204cc
drh [Mon, 11 Nov 2013 03:24:11 +0000 (03:24 +0000)]
Convert several ALWAYS() macros in vdbe.c into assert() statements.
FossilOrigin-Name:
acc40ff6b47595432ebc1b3ec71ac50384bec323
mistachkin [Mon, 11 Nov 2013 02:46:32 +0000 (02:46 +0000)]
Fix several harmless compiler warnings.
FossilOrigin-Name:
e6ff492f0d475c395b82e2b3b294155674d4c6d1
mistachkin [Mon, 11 Nov 2013 01:42:10 +0000 (01:42 +0000)]
Modify a HeapValidate assert in the Win32 native allocator.
FossilOrigin-Name:
aaed7d1d3ba0aef9f99fb157d3704b9f279aef71
drh [Mon, 11 Nov 2013 00:43:21 +0000 (00:43 +0000)]
Fix a problem in OP_IdxDelete as used by REPLACE conflict resolution that
comes up due to recent enhancements that reduce the work required for
UNIQUE NOT NULL indices.
FossilOrigin-Name:
61d7d4753f36932293c0eb1ca893b17d18355ad3
mistachkin [Sun, 10 Nov 2013 00:03:11 +0000 (00:03 +0000)]
Fix typo in comment and remove superfluous blank line. No changes to code.
FossilOrigin-Name:
023233f16ec2e6f582a7491643036ba5cad9379c
mistachkin [Sat, 9 Nov 2013 23:55:18 +0000 (23:55 +0000)]
Fix compilation errors with some compilers that do not reference recent Windows SDK header files.
FossilOrigin-Name:
a5805976f0e06ece2eeebd825f383a1ee88121fc
mistachkin [Sat, 9 Nov 2013 23:44:02 +0000 (23:44 +0000)]
Fix memory type mismatch when compiled with MEMDEBUG.
FossilOrigin-Name:
2c32bd6d4d5da2055633e8fb43ee184f729d8b91
drh [Sat, 9 Nov 2013 22:08:10 +0000 (22:08 +0000)]
Add the sqlite3_win32_compact_heap() function for cleaning up memory
allocations on Win32 system. Also cleanup the winGetTempname() function.
Changes to the Win32 VFS only.
FossilOrigin-Name:
d06d9fdb6e6ac369035c825d9c30970115b3ba71
drh [Sat, 9 Nov 2013 21:19:12 +0000 (21:19 +0000)]
Updates to documentation on sqlite3_last_insert_rowid(). No changes to code.
FossilOrigin-Name:
a4c5804efc63ff993e93f8a7b6acb6bb0a19dd3e
mistachkin [Sat, 9 Nov 2013 21:11:36 +0000 (21:11 +0000)]
Use the UNICODE_STRING_MAX_CHARS constant from WinNT.h.
FossilOrigin-Name:
3fefe4dd43539ec7e525ef58f0bfeffd31288ebd
mistachkin [Sat, 9 Nov 2013 21:10:47 +0000 (21:10 +0000)]
Furhter cleanup of the winGetTempname function.
FossilOrigin-Name:
674de36bcaafc1130b7603e69616c71fc8cd7de7
drh [Sat, 9 Nov 2013 19:47:15 +0000 (19:47 +0000)]
Updates to requirements marks. No changes to code.
FossilOrigin-Name:
8a0366285b94dc43d932736e7b1eedb71e241857
drh [Sat, 9 Nov 2013 18:15:35 +0000 (18:15 +0000)]
Throw an error if AUTOINCREMENT appears in a WITHOUT ROWID table.
Updates to API documentation to discuss WITHOUT ROWID.
FossilOrigin-Name:
b1abb2b078d1cb9ec5fbd7f98221914b93632e9f
mistachkin [Fri, 8 Nov 2013 20:10:57 +0000 (20:10 +0000)]
Add more assert() statements and fix compilation issues when the Win32 native heap is not enabled.
FossilOrigin-Name:
fbf8c3828327d19bbce0d7f6735e7577abfd54b3
mistachkin [Fri, 8 Nov 2013 19:51:12 +0000 (19:51 +0000)]
Disable use of HeapCompact on Windows CE as it is not available on all versions.
FossilOrigin-Name:
e9694b877178572665048d1015ca033c469160e7
mistachkin [Fri, 8 Nov 2013 18:52:45 +0000 (18:52 +0000)]
Adjust the winMemInit return code handling used when resetting the Win32 native heap.
FossilOrigin-Name:
37853665e75fc92b4d15e6db0b3346722527e799
mistachkin [Fri, 8 Nov 2013 18:37:02 +0000 (18:37 +0000)]
Minor corrections to logging for sqlite3_win32_compact_heap().
FossilOrigin-Name:
71347d021bea90ad7e4cc0d3e54940ce29b9ea69
mistachkin [Fri, 8 Nov 2013 18:13:48 +0000 (18:13 +0000)]
Enhancements to the Win32 native heap integration.
FossilOrigin-Name:
c54dc9672b686c8e323eac0c33cd90ea89d36364
drh [Fri, 8 Nov 2013 17:13:23 +0000 (17:13 +0000)]
Fix harmless compiler warnings.
FossilOrigin-Name:
0077c0772a884b54d81fa3733aac6f0c364ef1a8
drh [Fri, 8 Nov 2013 17:03:50 +0000 (17:03 +0000)]
Merge the Cygwin directory separator fix. Also fix a C++-ism in the
multiplexor code so that it will compile on MSVC.
FossilOrigin-Name:
830629d31d171155d90ff87ae8e70094d17bb2d3
drh [Fri, 8 Nov 2013 16:54:56 +0000 (16:54 +0000)]
Performance improvement: Avoid unnecessary seeks on REPLACE INTO for a
WITHOUT ROWID table.
FossilOrigin-Name:
fd11afa5f5c853dcac2290444b581a3fe1d4332d
drh [Fri, 8 Nov 2013 15:19:46 +0000 (15:19 +0000)]
Performance improvements:
Avoid unnecessary seeks when doing a single-row UPDATE on a WITHOUT ROWID
table.
FossilOrigin-Name:
6f187a0fb1b09ebc4732c4afbf3c813f82e069f1
drh [Fri, 8 Nov 2013 12:14:50 +0000 (12:14 +0000)]
Merge change to drop the mutex on the multiplexor before entering the xRead
VFS call, in order to enhance parallelizability.
FossilOrigin-Name:
3c566e41e4c9c66960cc5a3ddee8556835237999
drh [Fri, 8 Nov 2013 01:09:15 +0000 (01:09 +0000)]
Optimize out a NotExists/NotFound opcode that occurs in UPDATE processing
after constraint checks if there is no possiblity that the constraint checking
code might have moved the cursor.
FossilOrigin-Name:
74e3ee2ee6ea89af2c12dd0bce248467fd0f1310
drh [Fri, 8 Nov 2013 00:16:58 +0000 (00:16 +0000)]
On the --summary output of wordcount, add the a PRAGMA integrity_check and
a 64-bit checksum of the entire table.
FossilOrigin-Name:
1d1d13b89056903543c909b094030d205473fa82
drh [Thu, 7 Nov 2013 23:23:27 +0000 (23:23 +0000)]
Add many new options to the wordcount test program: --delete, --pagesize,
--cachesize, --commit, --nosync, and --journal.
FossilOrigin-Name:
e938112d316ca31460f247cc104ca3ff1d60b4da
mistachkin [Thu, 7 Nov 2013 22:11:55 +0000 (22:11 +0000)]
Fix temporary directory separator handling for Cygwin.
FossilOrigin-Name:
9d870d5f0d8f02e5c91396a1f98b5ddb56b40b70
drh [Thu, 7 Nov 2013 21:32:16 +0000 (21:32 +0000)]
Fix a compiler warning introduced by the previous check-in.
FossilOrigin-Name:
404bd98fb41f71d041932d68a908570995825ec1
drh [Thu, 7 Nov 2013 21:25:13 +0000 (21:25 +0000)]
Enable the WHERE_ONEPASS_DESIRED optimization for UPDATE operations on
WITHOUT ROWID tables.
FossilOrigin-Name:
215307985590c2f3f7aa0d5a0b7799155a506045
drh [Thu, 7 Nov 2013 19:43:21 +0000 (19:43 +0000)]
Add the --stats and --summary options to the wordcount.c test program.
FossilOrigin-Name:
8aa21e6791d408c8f018bd779e09cb7e7179f884
drh [Thu, 7 Nov 2013 18:40:39 +0000 (18:40 +0000)]
Increase the version number to 3.8.2.
FossilOrigin-Name:
9ad5b74c26c5a18068a2418a2092a05c226912c2
drh [Thu, 7 Nov 2013 18:37:31 +0000 (18:37 +0000)]
Add the "wordcount.c" test program.
FossilOrigin-Name:
f02ee5463084cef45ae412c51211b66de7e86baf
drh [Thu, 7 Nov 2013 16:08:10 +0000 (16:08 +0000)]
Add support for WITHOUT ROWID tables. This change also includes
(1) standardization of the error message returned from run-time constraint
errors, (2) improved EXPLAIN comments, (3) the SQLITE_ENABLE_EXPLAIN_COMMENTS
option, (4) the SQLITE_ENABLE_MODULE_COMMENTS option, and (5) a bug fix
(see [
573cc27427 ]) in the handling of REPLACE on the rowid when secondary
indices use FAIL or IGNORE.
FossilOrigin-Name:
c80e229dd9c1230abefbc707d4bf0b24315c6bb5
drh [Thu, 7 Nov 2013 14:09:39 +0000 (14:09 +0000)]
Make sure cached KeyInfo objects are only valid for a single database
connection. Clear all cached KeyInfo objects on any collating sequence
change.
FossilOrigin-Name:
55eea1782aead6a6aaf93f14d85486f8fd2209ad
drh [Wed, 6 Nov 2013 19:59:23 +0000 (19:59 +0000)]
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo
for each index in the Index object, and reuse that one copy as much as possible.
FossilOrigin-Name:
defd5205a7cc3543cdd18f906f568e943b8b3a2c
dan [Wed, 6 Nov 2013 16:28:59 +0000 (16:28 +0000)]
Have the OP_NoConflict opcode set the VdbeCursor.seekResult variable. This speeds up subsequent OP_Insert and OP_IdxInsert opcodes.
FossilOrigin-Name:
474555002d45f8741faceea599c057eef4e7931e
dan [Wed, 6 Nov 2013 14:52:40 +0000 (14:52 +0000)]
Use ansi escape codes to use different colored text for opcode names in the output of [explain_i]: Red for opcodes that insert or delete b-tree elements, blue for opcodes that move cursors and green for the ResultRow opcode.
FossilOrigin-Name:
4be2b64b3e5237ee1fb156c06cffaf7d96f6c532
drh [Wed, 6 Nov 2013 14:36:08 +0000 (14:36 +0000)]
Allocate extra stack space for UnpackedRecord objects, reducing the need
to malloc for them as often, and thereby get a performance improvement.
FossilOrigin-Name:
a725a75f870d7d9b21946fbcc71a956492986ab0
drh [Wed, 6 Nov 2013 14:05:21 +0000 (14:05 +0000)]
Minor optimization to the OP_Halt opcode.
FossilOrigin-Name:
d70c78814ba565a44628eab61a3a0a5dba56269a
drh [Wed, 6 Nov 2013 12:56:04 +0000 (12:56 +0000)]
Improved ORDER BY optimization for WITHOUT ROWID tables.
FossilOrigin-Name:
8f1709ff2d52d5ceca3da6a2a4e06da204d9e65a
drh [Wed, 6 Nov 2013 12:05:57 +0000 (12:05 +0000)]
Disable the OR optimization for WITHOUT ROWID tables, since it relies on
the use of rowids.
FossilOrigin-Name:
6055dad2ba2f9256b1f2d0a9e32ca00f1b81b0cf
drh [Wed, 6 Nov 2013 11:46:48 +0000 (11:46 +0000)]
Remove an incorrect test case from conflict2.test.
FossilOrigin-Name:
427612efc169c8ebe94a8b586d7abd0fcd43d0d0
drh [Wed, 6 Nov 2013 02:36:04 +0000 (02:36 +0000)]
Remove an unused variable.
FossilOrigin-Name:
e9c1e419b7227d86f2e1882cebf360116cdf1a13
drh [Tue, 5 Nov 2013 22:39:17 +0000 (22:39 +0000)]
Make sure the query planner knows that the PRIMARY KEY index of a
WITHOUT ROWID table is always a covering index.
FossilOrigin-Name:
03e7019e14255dbeb85bb299569c82ef48ac4a98
drh [Tue, 5 Nov 2013 19:41:32 +0000 (19:41 +0000)]
Fix conflict handling for the case when the rowid uses REPLACE but other
unique constraints use FAIL or IGNORE.
FossilOrigin-Name:
573cc27427af297185f11aac8dce88ca31f471ca
drh [Tue, 5 Nov 2013 17:30:04 +0000 (17:30 +0000)]
Fix a bug in secondary index initialization when the secondary index is
a superset of the PRIMARY KEY for a WITHOUT ROWID table.
FossilOrigin-Name:
52a3d885192c5d31f956c5ee17e29e2d1f3d5c9f
dan [Tue, 5 Nov 2013 16:56:11 +0000 (16:56 +0000)]
Remove an "explain" command from test script without_rowid1.test that was accidentally committed.
FossilOrigin-Name:
4b41d989e894b9214a9b973228ef8446356f9fbb
dan [Tue, 5 Nov 2013 16:39:31 +0000 (16:39 +0000)]
Unless the destination table is completely empty, disable the xfer optimization for WITHOUT ROWID tables.
FossilOrigin-Name:
3877c9f50582b51817dcf3cd75d836891a34e590
dan [Tue, 5 Nov 2013 15:02:39 +0000 (15:02 +0000)]
Updates to the backcompat.test test script so that it works with really old (3.6.*) versions.
FossilOrigin-Name:
ace7e7b64261aeabc9525d5d0cfebe0275c9ddf5
dan [Tue, 5 Nov 2013 14:19:22 +0000 (14:19 +0000)]
Add tests for updates of without-rowid tables that use non-BINARY collation sequences for the primary key columns. And a minor bugfix to the same.
FossilOrigin-Name:
99b1fa4b1664a79eae1dddce2b9a848384cdb1d7
drh [Tue, 5 Nov 2013 13:33:55 +0000 (13:33 +0000)]
Standardize the error messages generated by constraint failures to a format
of "$TYPE constraint failed: $DETAIL". This involves many changes to the
expected output of test cases.
FossilOrigin-Name:
54b221929744b1bcdbcc2030fef2e510618afd41
drh [Tue, 5 Nov 2013 01:59:07 +0000 (01:59 +0000)]
Add the conflict2.test script. Fix issues discovered by this script.
FossilOrigin-Name:
294ed33756b06375e56c41f1088d42ee48adbdc8
drh [Mon, 4 Nov 2013 22:04:17 +0000 (22:04 +0000)]
Add the index7.test script for testing partial indices with WITHOUT ROWID
tables. Fix bugs in ANALYZE located by that script.
FossilOrigin-Name:
79befe3ac1f676272b78423b9aa5dac41435420e
drh [Mon, 4 Nov 2013 21:44:54 +0000 (21:44 +0000)]
Bug fixes in the INSERT constraint checker. Refactor the Rowid handling logic
for ANALYZE with STAT3/4.
FossilOrigin-Name:
1ea43c0f236792a3bc13e1cb330f5ff3402c2851
drh [Mon, 4 Nov 2013 18:34:46 +0000 (18:34 +0000)]
Add another test case file for WITHOUT ROWID and fix the bugs that the new
test file uncovered.
FossilOrigin-Name:
bc2a06eb8e57573d08e77800a7937eee5af3f035
drh [Mon, 4 Nov 2013 17:00:50 +0000 (17:00 +0000)]
Fix a problem with processing INTEGER PRIMARY KEY on a WITHOUT ROWID table.
FossilOrigin-Name:
89098e6d18dacd1554cf4471b5f035db85d1f327
drh [Mon, 4 Nov 2013 15:23:25 +0000 (15:23 +0000)]
Correctly handle changing counting when inserting and deleting on
WITHOUT ROWID tables. Add more FOREIGN KEY test cases.
FossilOrigin-Name:
d072bcd0a8692d590c13c2bf458454c10c12a3e2
drh [Mon, 4 Nov 2013 13:56:00 +0000 (13:56 +0000)]
Correctly handle self-referential foreign keys on WITHOUT ROWID tables.
FossilOrigin-Name:
af128862ab6008df9dda1ee90f93f9efd629e259
dan [Mon, 4 Nov 2013 08:56:22 +0000 (08:56 +0000)]
Fix a bug preventing FTS from correctly processing bracket tokens that are immediately preceded by characters that are neither whitespace or token characters.
FossilOrigin-Name:
49be646cd981f8ff0434cf90d2748afa30260017
drh [Sun, 3 Nov 2013 02:27:58 +0000 (02:27 +0000)]
Improved comments on foreign key logic.
FossilOrigin-Name:
1315d9109c7105f4a62bb2d43ca6948d41245129
drh [Sat, 2 Nov 2013 22:29:34 +0000 (22:29 +0000)]
Improved Synopsis on register comparison operators. Fix a bug on the
constraint check generator.
FossilOrigin-Name:
a7a18b65fa34dfdf6117fa21db3e576f96876617
drh [Sat, 2 Nov 2013 22:09:48 +0000 (22:09 +0000)]
Many new test cases added, that mostly work. Currently 18 errors in
without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment
on at fkey.c:547 that needs fixing.
FossilOrigin-Name:
39e32187b66405e00dbd44685f6cdd269c90f5e5
drh [Sat, 2 Nov 2013 19:34:38 +0000 (19:34 +0000)]
Change the "idx" name of the primary key index for WITHOUT ROWID tables in
sqlite_statN statistics tables to be the name of the table rather than the
fabricated index name (ex: sqlite_autoindex_xyz_1). This makes it consistent
with sqlite_master table.
FossilOrigin-Name:
4ee4d3106308508a58b80e54e0afb4afb42f510b
drh [Sat, 2 Nov 2013 18:46:04 +0000 (18:46 +0000)]
Update the ANALYZE logic so that it works with WITHOUT ROWID tables.
FossilOrigin-Name:
9075770e4030b35677fbbe291f3c3c4946937a9a
drh [Sat, 2 Nov 2013 14:37:18 +0000 (14:37 +0000)]
Store the root page of the PRIMARY KEY index for a WITHOUT ROWID table in
the sqlite_master entry for the main table and omit the sqlite_master entry
for the PRIMARY KEY.
FossilOrigin-Name:
b7544bb280f1c1c55135a9b35aeb85604fef94a3
drh [Sat, 2 Nov 2013 11:43:05 +0000 (11:43 +0000)]
Import the sqlite3_analyzer fixes from trunk.
FossilOrigin-Name:
ac711459ff243e787ea5e9c01720dff75a5eda9b
drh [Sat, 2 Nov 2013 11:34:58 +0000 (11:34 +0000)]
A pair of sqlite3_analyzer bug fixes: (1) quote strings in the SQL at the end
of the output. (2) Fix test_stat.c so that it no longer misses some overflow
pages on internal index pages.
FossilOrigin-Name:
42a11e7464ab1d97d603c7409f10710ad4f1f542
drh [Fri, 1 Nov 2013 22:02:56 +0000 (22:02 +0000)]
Size KeyInfo objects so that IdxInserts always compare the correct number of
fields.
FossilOrigin-Name:
302a81390f039fc23eeb8510e95b9d9fa0b41edd
drh [Fri, 1 Nov 2013 20:30:36 +0000 (20:30 +0000)]
Fix sqlite3_analyzer so that it works with WITHOUT ROWID tables.
Fix index generation for secondary indices that include fields from
the PRIMARY KEY.
FossilOrigin-Name:
f9769d701c65770f4b8488f541c59e508393e6c2
drh [Fri, 1 Nov 2013 18:14:36 +0000 (18:14 +0000)]
Additional UPDATE test cases for WITHOUT ROWID.
FossilOrigin-Name:
65384ae0f027d05cf9208faed56575870d63c486
drh [Fri, 1 Nov 2013 17:59:53 +0000 (17:59 +0000)]
Fix an invalid cast operation in the WITHOUT ROWID parsing logic.
FossilOrigin-Name:
845153be36d5ca0ca9d930c56418fb080d906740
drh [Fri, 1 Nov 2013 17:21:29 +0000 (17:21 +0000)]
Merge all changes from trunk, and disable a pair of corruption tests that are
no longer valid since sqlite_master.rootpage can now be NULL for tables.
FossilOrigin-Name:
dd5d57b9a1b25fb6c9e20024e519b58630cf1fd0
drh [Fri, 1 Nov 2013 17:08:56 +0000 (17:08 +0000)]
Change the interface to sqlite3GenerateConstraintChecks() for improved lucidity
and to fix issues in dealing with UPDATEs for WITHOUT ROWID tables. Make sure
iDataCur and iIdxCur are initialized when processing DELETEs of a VIEW.
UPDATE processing distinguishes between changes to ROWID and PRIMARY KEY.
FossilOrigin-Name:
c525ac5630d6bcd51842cfc84f2c2c50be9cec1c