]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 years agoChanges to make the multi-threaded sorter sort stably. threads-closed
dan [Sat, 29 Mar 2014 19:48:15 +0000 (19:48 +0000)] 
Changes to make the multi-threaded sorter sort stably.

FossilOrigin-Name: 83a105c864247a02b723c84069055765bf373703

11 years agoFix a broken assert() in vdbesort.c.
dan [Sat, 29 Mar 2014 10:01:58 +0000 (10:01 +0000)] 
Fix a broken assert() in vdbesort.c.

FossilOrigin-Name: 18d1b402f2dbe78f1a1113bb356b710e348365ef

11 years agoFix a problem in vdbesort.c causing spurious SQLITE_NOMEM errors when using memsys3...
dan [Sat, 29 Mar 2014 09:34:45 +0000 (09:34 +0000)] 
Fix a problem in vdbesort.c causing spurious SQLITE_NOMEM errors when using memsys3 or memsys5.

FossilOrigin-Name: a683c05f6250389e84b980b16559e162ba1a27c2

11 years agoAdd the optimization to avoid some unnecessary calls to sqlite3VdbeRecordUnpack(...
dan [Sat, 29 Mar 2014 06:27:35 +0000 (06:27 +0000)] 
Add the optimization to avoid some unnecessary calls to sqlite3VdbeRecordUnpack() added to the trunk by [707ea170b3].

FossilOrigin-Name: fc4d04e6b039ea5aeb47739e38c5926e63a4b01b

11 years agoMerge latest changes from orderby-planning branch.
dan [Fri, 28 Mar 2014 19:18:16 +0000 (19:18 +0000)] 
Merge latest changes from orderby-planning branch.

FossilOrigin-Name: 4c7fb5423430f3b936befaa7c309f8e1968ee7d8

11 years agoMerge the latest changes from trunk.
drh [Fri, 28 Mar 2014 18:35:39 +0000 (18:35 +0000)] 
Merge the latest changes from trunk.

FossilOrigin-Name: 3047a25f1c41e83f0b4772f7c36fbfec0f12dc7e

11 years agoDisable the wal64k.test script for non-unix systems since it depends on
drh [Fri, 28 Mar 2014 14:41:35 +0000 (14:41 +0000)] 
Disable the wal64k.test script for non-unix systems since it depends on
unix-only features.

FossilOrigin-Name: 27deb6e49bcc76714dbdc61b34748603155ac770

11 years agoFix a harmless compiler warning.
drh [Fri, 28 Mar 2014 12:56:57 +0000 (12:56 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: a4e47150f32b3a4120b1f89ccc66d633d829e3bb

11 years agoEnhance the sqlite3VdbeRecordCompare() routines so that if they encounter
drh [Fri, 28 Mar 2014 03:12:48 +0000 (03:12 +0000)] 
Enhance the sqlite3VdbeRecordCompare() routines so that if they encounter
database corruption, they will set the UnpackedRecord.isCorrupt field and
return 0.  The sqlite3BtreeMovetoUnpacked() routine detects this and returns
SQLITE_CORRUPT, causing the corruption to be reported back to the top-level.

FossilOrigin-Name: 7fa85eaaaf6d211378620d728a759fdfe30a15b0

11 years agoInstead of allocating a single large buffer at the beginning of each sort operation...
dan [Thu, 27 Mar 2014 19:25:02 +0000 (19:25 +0000)] 
Instead of allocating a single large buffer at the beginning of each sort operation, start with a small buffer and extend it using realloc() as required.

FossilOrigin-Name: 81987c8ceb64f051528a6ca42673821d9ab7c0ff

11 years agoMinor cleanup of the code in the query planner that computes the costs
drh [Thu, 27 Mar 2014 18:36:34 +0000 (18:36 +0000)] 
Minor cleanup of the code in the query planner that computes the costs
estimates for the various plans.  There are no changes to the costs at this
time.  But the code is slightly more readable now and that might facilitate
future enhancements.

FossilOrigin-Name: 9b4d7226bcee38be5ac68a54bee03b4179cb69fc

11 years agoUse xFetch() to access temporary files in vdbesort.c. Use a single large allocation...
dan [Thu, 27 Mar 2014 17:23:41 +0000 (17:23 +0000)] 
Use xFetch() to access temporary files in vdbesort.c. Use a single large allocation instead of many small allocations when accumulating records in vdbesort.c. This is an interim commit - it allocates a buffer the size of the page-cache every time data is sorted.

FossilOrigin-Name: f4ac1bf28c4ba395ccab8f1c9df72614a61095a7

11 years agoEnhance the logest.c utility with new operators: "dup", "inv", "log", and
drh [Thu, 27 Mar 2014 14:05:38 +0000 (14:05 +0000)] 
Enhance the logest.c utility with new operators: "dup", "inv", "log", and
"nlogn".  Provide help on an invalid input.

FossilOrigin-Name: b4bd2a062c4baf5f622d61b7411f00de5904ef56

11 years agoMerge the latest trunk changes and the fix for the crash on a corrupt
drh [Thu, 27 Mar 2014 00:09:00 +0000 (00:09 +0000)] 
Merge the latest trunk changes and the fix for the crash on a corrupt
database.

FossilOrigin-Name: 0b35346c32dba14963c85ec178f2b46aa2bbf6dc

11 years agoMerge from trunk the fix for the crash on a corrupt database.
drh [Wed, 26 Mar 2014 19:45:01 +0000 (19:45 +0000)] 
Merge from trunk the fix for the crash on a corrupt database.

FossilOrigin-Name: 8cb2b02baa7ef9aa96319e977f0315328f944237

11 years agoAdd an extra test case for the potential buffer overread patched by [28ddecff04].
dan [Wed, 26 Mar 2014 15:14:59 +0000 (15:14 +0000)] 
Add an extra test case for the potential buffer overread patched by [28ddecff04].

FossilOrigin-Name: f585f5d7a0f9bf8c590388654a3638231eba8892

11 years agoAdd a test case to verify that the previous change avoids excess buffer
drh [Wed, 26 Mar 2014 15:05:56 +0000 (15:05 +0000)] 
Add a test case to verify that the previous change avoids excess buffer
overread in sqlite3VdbeRecordCompare().

FossilOrigin-Name: 2b28e8d582cf10936fa1faca04a16ca2eeead66f

11 years agoEarlier detection of corruption in sqlite3VdbeRecordCompare() in order to
drh [Wed, 26 Mar 2014 14:51:07 +0000 (14:51 +0000)] 
Earlier detection of corruption in sqlite3VdbeRecordCompare() in order to
avoid a potential buffer overread.

FossilOrigin-Name: 28ddecff044dbc2dff50a7d8406ab67dfe06587f

11 years agoAdd an assert() and a comment to clarify the operation of the
drh [Wed, 26 Mar 2014 12:02:38 +0000 (12:02 +0000)] 
Add an assert() and a comment to clarify the operation of the
vdbeRecordCompareInt() routine.

FossilOrigin-Name: 851abdb8fd9b5a8a6ce21db53d30dbac3c430cc7

11 years agoAdjust the repeat counts on several tests in speedtest1 so that the relative
drh [Tue, 25 Mar 2014 20:28:38 +0000 (20:28 +0000)] 
Adjust the repeat counts on several tests in speedtest1 so that the relative
time spent on the test is roughly the same regardless of --size.

FossilOrigin-Name: 7922809ee0d3978ce9221fbb7df63aa0684d0c4d

11 years agoMerge enhancements and fixes from trunk.
drh [Tue, 25 Mar 2014 18:29:12 +0000 (18:29 +0000)] 
Merge enhancements and fixes from trunk.

FossilOrigin-Name: e005f2d6dd9faf38cc8fdb9428b5aa6192a6adae

11 years agoAdd another performance test case to speedtest1. This case is another
drh [Tue, 25 Mar 2014 17:45:49 +0000 (17:45 +0000)] 
Add another performance test case to speedtest1.  This case is another
ORDER BY test but this time without LIMIT.

FossilOrigin-Name: 9ab7ffd59209aef0ffbf384b3902a93fd3b86a6d

11 years agoFix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably.
dan [Tue, 25 Mar 2014 17:07:48 +0000 (17:07 +0000)] 
Fix a problem in the code added by [707ea170b3] causing vdbesort.c to sort unstably.

FossilOrigin-Name: d3e640afe611b6ae0b7f2cff5b00900d7e4d5ee3

11 years agoRemove the sequence values from sorter records used by ORDER BY as well.
dan [Tue, 25 Mar 2014 15:04:07 +0000 (15:04 +0000)] 
Remove the sequence values from sorter records used by ORDER BY as well.

FossilOrigin-Name: c3ae3697832a00d4d5758988a8766bdbb691e6b8

11 years agoAdd an ORDER BY test case to speedtest1.c
drh [Tue, 25 Mar 2014 14:54:36 +0000 (14:54 +0000)] 
Add an ORDER BY test case to speedtest1.c

FossilOrigin-Name: 588122641e57e957813d329ea071e13ccbde5acd

11 years agoEnable four sorting threads by default in the command-line shell.
drh [Tue, 25 Mar 2014 14:12:16 +0000 (14:12 +0000)] 
Enable four sorting threads by default in the command-line shell.

FossilOrigin-Name: 1cab83577c814feb35b4fb91af0d52a9751d99bc

11 years agoMerge all fixes and enhancements from trunk.
drh [Tue, 25 Mar 2014 13:17:41 +0000 (13:17 +0000)] 
Merge all fixes and enhancements from trunk.

FossilOrigin-Name: b415dfb6cb0df0c69992ca2bb700c15664f158e6

11 years agoDetect when a VdbeCursor is still pointing at a valid row but that row has
drh [Tue, 25 Mar 2014 11:00:21 +0000 (11:00 +0000)] 
Detect when a VdbeCursor is still pointing at a valid row but that row has
moved, and invalidated the return from prior sqlite3BtreeDataFetch() or
sqlite3BtreeKeyFetch() calls.

FossilOrigin-Name: e6798871ce94961135762669af418cd78540c121

11 years agoOmit the sequence value from sorter records used by GROUP BY queries that cannot...
dan [Mon, 24 Mar 2014 20:19:07 +0000 (20:19 +0000)] 
Omit the sequence value from sorter records used by GROUP BY queries that cannot use an index.

FossilOrigin-Name: 3f90abddc31ac20739778c235a834c33f7057997

11 years agoAvoid unnecessary moving of content between registers during an ORDER BY.
drh [Mon, 24 Mar 2014 18:08:15 +0000 (18:08 +0000)] 
Avoid unnecessary moving of content between registers during an ORDER BY.

FossilOrigin-Name: 4f472accf072d9cb64f209923924b26f21b13d27

11 years agoRemove unused variables Parse.nColCache and Parse.iColCache.
dan [Mon, 24 Mar 2014 16:30:06 +0000 (16:30 +0000)] 
Remove unused variables Parse.nColCache and Parse.iColCache.

FossilOrigin-Name: 4d7551ce464c8038147e81667368924f2a7485a6

11 years agoFix arithmetic operators so that they do not change the affinity of their
drh [Mon, 24 Mar 2014 15:00:15 +0000 (15:00 +0000)] 
Fix arithmetic operators so that they do not change the affinity of their
input operands.  Ticket [a8a0d2996a].

FossilOrigin-Name: 221f8f944703108e47d789fa8ce6c00fe2abcbb6

11 years agoAvoid attempting to mmap memory from an offset that is not a multiple of the system...
dan [Mon, 24 Mar 2014 11:23:17 +0000 (11:23 +0000)] 
Avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB.

FossilOrigin-Name: db7d62c8d58eb1e8654a762c9b199ae4e2759038

11 years agoRemove an unnecessary temporary register allocation.
dan [Mon, 24 Mar 2014 09:34:58 +0000 (09:34 +0000)] 
Remove an unnecessary temporary register allocation.

FossilOrigin-Name: 5d506743f541b022cde04a9606baa4680cdfd70b

11 years agoRemove a pointless OP_Once operation in ORDER BY clauses with LIMIT.
drh [Mon, 24 Mar 2014 02:20:53 +0000 (02:20 +0000)] 
Remove a pointless OP_Once operation in ORDER BY clauses with LIMIT.

FossilOrigin-Name: e6c59d23316c83b318b1a94d9b28a5d321737fa5

11 years agoFurther enhancements to geneverated VDBE code for ORDER BY.
drh [Mon, 24 Mar 2014 01:43:50 +0000 (01:43 +0000)] 
Further enhancements to geneverated VDBE code for ORDER BY.

FossilOrigin-Name: e7188fad87ec82d36a39b80ccaf8006bf45a9bcd

11 years agomerge fixes from trunk
drh [Sun, 23 Mar 2014 18:47:00 +0000 (18:47 +0000)] 
merge fixes from trunk

FossilOrigin-Name: faf7f9caf526ab33a6fdb9c89b45a0483510db21

11 years agoUse only a single OP_MakeRecord instead of two when constructing entries
drh [Sun, 23 Mar 2014 17:45:03 +0000 (17:45 +0000)] 
Use only a single OP_MakeRecord instead of two when constructing entries
to go onto a sorter.

FossilOrigin-Name: d696cdedacd39075aa7fc407ab7c7e50f01d9f39

11 years agoAvoid a possible use of an uninitialized variable following an I/O or OOM
drh [Sun, 23 Mar 2014 16:29:23 +0000 (16:29 +0000)] 
Avoid a possible use of an uninitialized variable following an I/O or OOM
error.

FossilOrigin-Name: 641408a1395bfc911ca619ef9e5f073b913d856b

11 years agoClear the sort-order flags on the KeyInfo object associated with the
drh [Sat, 22 Mar 2014 02:19:53 +0000 (02:19 +0000)] 
Clear the sort-order flags on the KeyInfo object associated with the
OP_Compare/OP_Jump of the block-sort logic, in order to make the OP_Jump
fully testable.

FossilOrigin-Name: 9b2838f23e5f52369eeb078f60bd231cc54362f8

11 years agoIncrease the version number to 3.8.5.
drh [Sat, 22 Mar 2014 01:52:17 +0000 (01:52 +0000)] 
Increase the version number to 3.8.5.

FossilOrigin-Name: 9760879d086b61476890927f01806a93798d4eee

11 years agoFix the ORDER BY optimization logic so that it will do a block-sort on
drh [Sat, 22 Mar 2014 00:27:14 +0000 (00:27 +0000)] 
Fix the ORDER BY optimization logic so that it will do a block-sort on
a partial DESC ORDER BY.  This enhancement uncovered a memory leak in
pushUntoSorter() which is also fixed.

FossilOrigin-Name: c36f74611cf17ad2ff198a2ac2054d7ab451a72c

11 years agoAdd the ability to use indices for the first few terms of an ORDER BY clause,
drh [Fri, 21 Mar 2014 20:58:42 +0000 (20:58 +0000)] 
Add the ability to use indices for the first few terms of an ORDER BY clause,
then sort in batches to handle the later terms.

FossilOrigin-Name: fa06a6fed9f48322d9b89721799ba12c46efa898

11 years agoChange the names of SRT_DistTable and SRT_Table used by CTE to more
drh [Fri, 21 Mar 2014 19:56:09 +0000 (19:56 +0000)] 
Change the names of SRT_DistTable and SRT_Table used by CTE to more
meaningful SRT_DistFifo and SRT_Fifo, respectively.  Simplify the
IgnorableOrderby() macro in the process.

FossilOrigin-Name: 45d8cc678d128f1dda6469864215a8ed9de4366a

11 years agoAvoid leaking memory in an obscure case where the flattener adds an ORDER BY clause...
dan [Fri, 21 Mar 2014 19:27:54 +0000 (19:27 +0000)] 
Avoid leaking memory in an obscure case where the flattener adds an ORDER BY clause to the recursive part of a recursive query.

FossilOrigin-Name: 1f413aca00015100224273480e1ce39a76bf93ab

11 years agoMerge the OFFSET-on-query-without-FROM fix from trunk.
drh [Fri, 21 Mar 2014 18:45:19 +0000 (18:45 +0000)] 
Merge the OFFSET-on-query-without-FROM fix from trunk.

FossilOrigin-Name: 71e9ae72c272dc86720b2bfe719f57de437c400b

11 years agoFix the OFFSET clause so that it works correctly on queries that lack
drh [Fri, 21 Mar 2014 18:16:23 +0000 (18:16 +0000)] 
Fix the OFFSET clause so that it works correctly on queries that lack
a FROM clause.  Ticket [07d6a0453d4ed8].

FossilOrigin-Name: 179ef81648b0ad557df78b7712f216b876b6fb65

11 years agoNew test case for block-sorting.
drh [Fri, 21 Mar 2014 15:24:07 +0000 (15:24 +0000)] 
New test case for block-sorting.

FossilOrigin-Name: e70cfa28aa393661ccc742ecd5e672d807bdd0a9

11 years agoMerge trunk fixes for "x IN (?)" handling.
drh [Thu, 20 Mar 2014 20:56:49 +0000 (20:56 +0000)] 
Merge trunk fixes for "x IN (?)" handling.

FossilOrigin-Name: eca35871c34374ca9189c7c9b6d490ac3c30357f

11 years agoRemove a testcase() that is now always true due to the "x IN (?)" optimization.
drh [Thu, 20 Mar 2014 19:04:56 +0000 (19:04 +0000)] 
Remove a testcase() that is now always true due to the "x IN (?)" optimization.
Add an ALWAYS() around a conditional in the parser that cannot be false.

FossilOrigin-Name: d5a1530bdc7ace053d05d1a037551110021d3758

11 years agoFix the EXPLAIN indenter in the command-line shell to correctly
drh [Thu, 20 Mar 2014 18:45:27 +0000 (18:45 +0000)] 
Fix the EXPLAIN indenter in the command-line shell to correctly
handle NextIfOpen and PrevIfOpen opcodes.

FossilOrigin-Name: 01944c53f5c129f48ce8842faaedcf5607dd381e

11 years agoThe "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is
drh [Thu, 20 Mar 2014 17:03:30 +0000 (17:03 +0000)] 
The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is
incorrect, as demonstrated by the in4-5.1 test case in this check-in.
The "COLLATE binary" that was being added to the RHS of IN was overriding
the implicit collating sequence of the LHS.  This change defines the EP_Generic
expression node property that blocks all affinity or collating sequence
information in the expression subtree and adds that property to the expression
taken from RHS of the IN operator.

FossilOrigin-Name: 2ea4a9f75f46eaa928ba17e9e91bc0432750d46d

11 years agoFix harmless compiler warnings.
drh [Thu, 20 Mar 2014 15:14:08 +0000 (15:14 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: b1435f26b07b2208cfcca557f96342a5bd0d5328

11 years agoPrevious check-in is not quite correct. "x IN (?)" is not exactly the same
drh [Thu, 20 Mar 2014 14:56:47 +0000 (14:56 +0000)] 
Previous check-in is not quite correct.  "x IN (?)" is not exactly the same
as "x==?" do to collation and affinity issues.  The correct converstion should
be to "x==(+? COLLATE binary)".  The current check-in fixes this problem and
provides test cases.  Ticket [e39d032577df69]

FossilOrigin-Name: 2ff3b25f40fd117c8a2da1d1a3625f6b167b7b16

11 years agoConvert expressions of the form "X IN (?)" with exactly one value on the
drh [Thu, 20 Mar 2014 13:26:47 +0000 (13:26 +0000)] 
Convert expressions of the form "X IN (?)" with exactly one value on the
RHS of the IN into equality tests:  "X=?".  Add test cases to verify that
statements work correctly on this corner case.
Fix for ticket [e39d032577df6942].

FossilOrigin-Name: e68b427afbc82e201c64474117851aa4c9eb0c92

11 years agoFix an unnecessarily obtuse use of a bitmask flag.
drh [Thu, 20 Mar 2014 12:17:35 +0000 (12:17 +0000)] 
Fix an unnecessarily obtuse use of a bitmask flag.

FossilOrigin-Name: ca3140813198ab7ce470cf86334e55207f3461f9

11 years agoAdd a test to ensure os_unix.c works with 64KiB OS pages. shm-mapping-fix
dan [Thu, 20 Mar 2014 09:42:09 +0000 (09:42 +0000)] 
Add a test to ensure os_unix.c works with 64KiB OS pages.

FossilOrigin-Name: e3d2be3ba47cdaafd26347620ae3bc2813203f16

11 years agoAdd an experimental fix to avoid attempting to mmap memory from an offset that is...
dan [Thu, 20 Mar 2014 08:59:47 +0000 (08:59 +0000)] 
Add an experimental fix to avoid attempting to mmap memory from an offset that is not a multiple of the system page size on systems with page sizes larger than 32KB.

FossilOrigin-Name: 6f3a5c24d254fc6faf607b505bdef4a7aafc21af

11 years agoMerge the vdbesort.c optimization from trunk.
drh [Wed, 19 Mar 2014 23:42:51 +0000 (23:42 +0000)] 
Merge the vdbesort.c optimization from trunk.

FossilOrigin-Name: e4bfffb988283c077778c60696be0d285ad66c3c

11 years agoFix query planner weights associated with choosing block-sorting. Fix
drh [Wed, 19 Mar 2014 23:24:49 +0000 (23:24 +0000)] 
Fix query planner weights associated with choosing block-sorting.  Fix
block sorting of tables with collating functions.  Fix various test cases.
All "veryquick" tests are now passing, though more tests need to be added.

FossilOrigin-Name: 01afbf97c0ff29667806e9a7c4d74ca717819de5

11 years agoAvoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when...
dan [Wed, 19 Mar 2014 20:01:25 +0000 (20:01 +0000)] 
Avoid some unnecessary calls to sqlite3VdbeRecordUnpack() that were being made when merging data from two or more temp files together in vdbesort.c

FossilOrigin-Name: 707ea170b3e26965b7e3982f7554d122d130b9a6

11 years agoMake it possible for block-sort to use the OP_SorterOpen sorter in addition
drh [Wed, 19 Mar 2014 17:41:36 +0000 (17:41 +0000)] 
Make it possible for block-sort to use the OP_SorterOpen sorter in addition
to a generic OP_OpenEphemeral.

FossilOrigin-Name: 7ce2daafd39a117041bfdd0a7132e2764fe7a74b

11 years agoFix a problem in the block-sort logic that can arise if the VDBE opcode
drh [Wed, 19 Mar 2014 16:56:58 +0000 (16:56 +0000)] 
Fix a problem in the block-sort logic that can arise if the VDBE opcode
array is resized while the block-sort logic is being coded.  "make test"
now runs to completion, though there are still 17 failures.

FossilOrigin-Name: 62f3a22050e0f11c789374f8a3785df0a84c24cb

11 years agoAvoid reusing temporary registers in co-routines when doing
drh [Wed, 19 Mar 2014 15:17:24 +0000 (15:17 +0000)] 
Avoid reusing temporary registers in co-routines when doing
block-sorting.

FossilOrigin-Name: 463d921b519b08648a715e987c430f06b06bae84

11 years agoMake sure the where.c query planner never reports that the number of ORDER BY
drh [Wed, 19 Mar 2014 14:30:55 +0000 (14:30 +0000)] 
Make sure the where.c query planner never reports that the number of ORDER BY
terms that are satisfied by indices is negative.

FossilOrigin-Name: b186d8d15a10d5e8fcae9ae72e8624d71831f5bd

11 years agoFirst attempt at getting block-sort to work. This is an incremental check-in.
drh [Wed, 19 Mar 2014 14:10:55 +0000 (14:10 +0000)] 
First attempt at getting block-sort to work.  This is an incremental check-in.
There are many problems still to be worked out.

FossilOrigin-Name: 59742dd4c5259883850044d0938248b009ebd045

11 years agoMake the partial-ORDER-BY information in the query planner available to the
drh [Tue, 18 Mar 2014 20:33:42 +0000 (20:33 +0000)] 
Make the partial-ORDER-BY information in the query planner available to the
SELECT code generator.  Still doesn't make a difference in the generated code.

FossilOrigin-Name: e258df236b7de70087c8227cb209080e55b9bf9c

11 years agoAdjust the query planner to keep track of the number of ORDER BY terms
drh [Tue, 18 Mar 2014 18:59:07 +0000 (18:59 +0000)] 
Adjust the query planner to keep track of the number of ORDER BY terms
satisfied.  Still doesn't do anything with this information.  Some tests
fail after this check-in, but all failures are believed to be benign.  The
failures will be addressed at a later stage.

FossilOrigin-Name: 59d49b7fc49fa290e04a02653e7268c85836b27e

11 years agoExperiments with the optimization of ORDER BY and GROUP BY clauses.
drh [Tue, 18 Mar 2014 15:30:27 +0000 (15:30 +0000)] 
Experiments with the optimization of ORDER BY and GROUP BY clauses.

FossilOrigin-Name: b150902579d708b454efd5f8750e26a816f7f1a6

11 years agoAdd an experimental multi-threaded capability to vdbesorter.c.
dan [Mon, 17 Mar 2014 15:43:05 +0000 (15:43 +0000)] 
Add an experimental multi-threaded capability to vdbesorter.c.

FossilOrigin-Name: ff0b5c851ba7d04d1836d7c6a3222713e7d8d357

11 years agoClean up some obsolete "register" declarations in printf.c.
drh [Mon, 17 Mar 2014 15:06:57 +0000 (15:06 +0000)] 
Clean up some obsolete "register" declarations in printf.c.

FossilOrigin-Name: ecd9d3f9453be0bb8e312d8027fd1a9e55882f36

11 years agoPerformance enhancements and size reduction for sqlite3VXPrintf()
drh [Mon, 17 Mar 2014 14:24:27 +0000 (14:24 +0000)] 
Performance enhancements and size reduction for sqlite3VXPrintf()

FossilOrigin-Name: eb071eb58cf675bd6cd9dd46aed9d57fbb7a77e8

11 years agoFix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0.
drh [Fri, 14 Mar 2014 11:46:10 +0000 (11:46 +0000)] 
Fix a harmless compiler warning that crops up with SQLITE_MAX_MMAP_SIZE=0.

FossilOrigin-Name: 1277932b7e8bb36c7070ffafbf110a8e128c267b

11 years agoMerge latest trunk changes into this branch.
dan [Thu, 13 Mar 2014 15:41:09 +0000 (15:41 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: d17231b63d48c1f9c4dee109c90cec112e2f0fd4

11 years agoFix an obscure bug causing sqlite3_close() to fail if there are virtual tables on...
dan [Wed, 12 Mar 2014 19:38:38 +0000 (19:38 +0000)] 
Fix an obscure bug causing sqlite3_close() to fail if there are virtual tables on the disconnect list when it is called.

FossilOrigin-Name: 6504aa47a8ebb13827be017c4cb4b2dc3c4c55f4

11 years agoChanges to FTS to ensure that it does not access the database from within the xConnec...
dan [Wed, 12 Mar 2014 19:20:36 +0000 (19:20 +0000)] 
Changes to FTS to ensure that it does not access the database from within the xConnect method.

FossilOrigin-Name: c67a52c356416cc200f51f9168d942e78db11d34

11 years agoPrevent the rtree module from reading sqlite_stat1 data from the wrong database.
dan [Wed, 12 Mar 2014 12:44:46 +0000 (12:44 +0000)] 
Prevent the rtree module from reading sqlite_stat1 data from the wrong database.

FossilOrigin-Name: 7ce03c1b5552d830300575c5b41a874db7a2ec77

11 years agoVersion 3.8.4.1 version-3.8.4.1
drh [Tue, 11 Mar 2014 15:27:36 +0000 (15:27 +0000)] 
Version 3.8.4.1

FossilOrigin-Name: 018d317b1257ce68a92908b05c9c7cf1494050d0

11 years agoUpdate version number to 3.8.4.1
drh [Tue, 11 Mar 2014 15:25:43 +0000 (15:25 +0000)] 
Update version number to 3.8.4.1

FossilOrigin-Name: 33f5694fa42d9a521ca081de4ddd1e9dc8952b16

11 years agoAdd a test to see what happens if an rtree constructor encounters an SQLITE_BUSY...
dan [Tue, 11 Mar 2014 09:19:26 +0000 (09:19 +0000)] 
Add a test to see what happens if an rtree constructor encounters an SQLITE_BUSY error. No changes to code.

FossilOrigin-Name: 5527e23636eee192030f6a3c41628030b6c50bb8

11 years agoAdjustments to the cost computation for the skip-scan query plan, to take
drh [Mon, 10 Mar 2014 20:12:31 +0000 (20:12 +0000)] 
Adjustments to the cost computation for the skip-scan query plan, to take
into account the fact that a seek has to occur on each skip.

FossilOrigin-Name: 0769eebd028ce31375cf93509a1d3687f7b117eb

11 years agoAttempt to work around MSVC's treatment of __LINE__ as a non-constant value
drh [Mon, 10 Mar 2014 18:03:09 +0000 (18:03 +0000)] 
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value
in "Edit and Continue" mode by avoiding the use of __LINE__ when
SQLITE_VDBE_COVERAGE is not defined.

FossilOrigin-Name: 0a5318bc272b844e937cb1df3a07224034bc3450

11 years agoVersion 3.8.4 version-3.8.4
drh [Mon, 10 Mar 2014 12:20:37 +0000 (12:20 +0000)] 
Version 3.8.4

FossilOrigin-Name: 530a1ee7dc2435f80960ce4710a3c2d2bfaaccc5

11 years agoFix a bug causing "SELECT char()" to return SQLITE_NOMEM.
dan [Sat, 8 Mar 2014 19:07:03 +0000 (19:07 +0000)] 
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM.

FossilOrigin-Name: ba39df9d4f7ffc6475ae0dc794f7d3f58c486de8

11 years agoImproved comment on the pager.c PERSIST rollback journal delete logic
drh [Fri, 7 Mar 2014 14:57:07 +0000 (14:57 +0000)] 
Improved comment on the pager.c PERSIST rollback journal delete logic
inside of hasHotJournal().  No changes to code.

FossilOrigin-Name: e5b17a9d07a35c9b44ff977ba81b93d745d26a11

11 years agoRevise change from the previous check-in to clarify the situation when handling open...
mistachkin [Fri, 7 Mar 2014 03:31:35 +0000 (03:31 +0000)] 
Revise change from the previous check-in to clarify the situation when handling open journal files, regardless of journal mode.

FossilOrigin-Name: 1c318ef3b76e9a9a5ff2f156a9acddfc1bda0949

11 years agoAvoid calling sqlite3OsDelete() on a file that is open, since this causes Windows...
mistachkin [Fri, 7 Mar 2014 02:29:56 +0000 (02:29 +0000)] 
Avoid calling sqlite3OsDelete() on a file that is open, since this causes Windows to run *very* slowly.  Comes up on error recovery in journal_mode=PERSIST.

FossilOrigin-Name: fdc651e2ec7a0babee669e24fd56632e7cd5f0e9

11 years agoDo not run corruptH.test in mmap mode.
dan [Thu, 6 Mar 2014 18:16:45 +0000 (18:16 +0000)] 
Do not run corruptH.test in mmap mode.

FossilOrigin-Name: c0d54b4e41cba84dc5934e0fcd03fe422fe5c92b

11 years agoImproved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4.
drh [Thu, 6 Mar 2014 13:38:37 +0000 (13:38 +0000)] 
Improved EXPLAIN indentation of a loop in the ANALYZE logic for STAT4.
Mark the not-found jump of a seek operation in that loop as never taken.

FossilOrigin-Name: 0a4200f95cf46ad620b9fd91f4444114a0c74730

11 years agoRemove a branch that is never taken from where.c.
dan [Thu, 6 Mar 2014 12:36:26 +0000 (12:36 +0000)] 
Remove a branch that is never taken from where.c.

FossilOrigin-Name: 4a4997221f3d61c1411a993053b40c787beea736

11 years agoCosmetic change to the shell in-memory database warning to skip coloring the trailing...
mistachkin [Thu, 6 Mar 2014 02:15:42 +0000 (02:15 +0000)] 
Cosmetic change to the shell in-memory database warning to skip coloring the trailing period.

FossilOrigin-Name: c87d8e07ec596d5f0ef3003cfeb226d4b7c49549

11 years agoFix some incorrect comments and typos in comments. Add testcase() macros
drh [Thu, 6 Mar 2014 01:56:33 +0000 (01:56 +0000)] 
Fix some incorrect comments and typos in comments.  Add testcase() macros
to some of the new record comparison code.

FossilOrigin-Name: b83cfe899d84fe9d61540e9984321ca30401638c

11 years agoBetter loadable extension handling in the Win32 VFS when compiled for Cygwin.
mistachkin [Thu, 6 Mar 2014 00:30:27 +0000 (00:30 +0000)] 
Better loadable extension handling in the Win32 VFS when compiled for Cygwin.

FossilOrigin-Name: 29b0a4f158785449b6f3da6fcceeb63442c9711c

11 years agoBetter support for MinGW 4.x.
mistachkin [Thu, 6 Mar 2014 00:28:57 +0000 (00:28 +0000)] 
Better support for MinGW 4.x.

FossilOrigin-Name: 170e0585202eec6882e9513eba05e6d5767bfc5b

11 years agoAlways include the ctype.h header in the spellfix.c extension.
drh [Wed, 5 Mar 2014 19:36:52 +0000 (19:36 +0000)] 
Always include the ctype.h header in the spellfix.c extension.

FossilOrigin-Name: bfd75f471a607b442d8cd8a7070491a158e8fb1a

11 years agoAvoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBU...
dan [Wed, 5 Mar 2014 19:13:32 +0000 (19:13 +0000)] 
Avoid running a couple of test cases that use realloc() extensively if SQLITE_MEMDEBUG is defined.

FossilOrigin-Name: e406d4bb786a34cdd5dd23ed39f35dfce3e1cabd

11 years agoFix a harmless compiler warning on MSVC.
drh [Wed, 5 Mar 2014 19:04:46 +0000 (19:04 +0000)] 
Fix a harmless compiler warning on MSVC.

FossilOrigin-Name: 0723effc9ccae7c660fb847b36ce9324e0cb5042

11 years agoAdd SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA...
dan [Wed, 5 Mar 2014 17:29:34 +0000 (17:29 +0000)] 
Add SQLITE_OMIT_CTE to the list of compile options that might be returned by "PRAGMA compile_options".

FossilOrigin-Name: f33f2b3f924347e3da26741d153749330cb645ec

11 years agoAdd tests to join.test to verify that it is not possible to use more than 64 tables...
dan [Wed, 5 Mar 2014 16:15:07 +0000 (16:15 +0000)] 
Add tests to join.test to verify that it is not possible to use more than 64 tables in a join.

FossilOrigin-Name: ef1a998625e1fc051732228844388d6c59665382

11 years agoCount the number of elements in a SrcList object using an "int" rather than
drh [Wed, 5 Mar 2014 15:52:43 +0000 (15:52 +0000)] 
Count the number of elements in a SrcList object using an "int" rather than
a "u8", to avoid overflows and to work around an issue in the C compiler on
AIX.

FossilOrigin-Name: eee2a13f2caa48b7b8a693680edc2bbc9275292c