]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 years agoEnhance the sqlite3_rtree_query_info object to report on the number of rtree-enhancements
drh [Fri, 25 Apr 2014 16:29:03 +0000 (16:29 +0000)] 
Enhance the sqlite3_rtree_query_info object to report on the number of
elements in the priority queue at each level.

FossilOrigin-Name: f7dad408dd46a1e3612b6142a3afb1d0d4fcda00

11 years agoFix the generation of sqlite3_rtree_query_info.iRowid and add test cases
drh [Mon, 21 Apr 2014 18:13:37 +0000 (18:13 +0000)] 
Fix the generation of sqlite3_rtree_query_info.iRowid and add test cases
to verify that it is fixed.

FossilOrigin-Name: eba95ead49f8f8ce45d400186562ff0066537c5c

11 years agoBe sure to initialize the sqlite3_rtree_query_info.iRowid field for the
drh [Mon, 21 Apr 2014 15:53:45 +0000 (15:53 +0000)] 
Be sure to initialize the sqlite3_rtree_query_info.iRowid field for the
leaves of the R-Tree when doing a query callback search.

FossilOrigin-Name: 4394693882c04c19ebe87ef7547c57e679554397

11 years agoFix an off-by-one error in setting the "iLevel" field of the
drh [Mon, 21 Apr 2014 15:21:19 +0000 (15:21 +0000)] 
Fix an off-by-one error in setting the "iLevel" field of the
sqlite3_rtree_query_info structure passed into the RTree query callback.

FossilOrigin-Name: d708f159abfb3b87e2844463088d4fb7f8da9c97

11 years agoFurther improvements to the RTREE_DECODE_COORD() method, to take advantage
drh [Fri, 18 Apr 2014 01:37:08 +0000 (01:37 +0000)] 
Further improvements to the RTREE_DECODE_COORD() method, to take advantage
of known processor byte orders when available.  This makes the code 3% faster,
according to valgrind.  Also add test cases to make sure the on-disk
representation is correct.

FossilOrigin-Name: 6f3e94f4b1b403cd7bfc5e8e0ffbd61b5174d3a4

11 years agoMerge the latest changes from sessions.
drh [Fri, 18 Apr 2014 01:14:46 +0000 (01:14 +0000)] 
Merge the latest changes from sessions.

FossilOrigin-Name: d9eef5b03c7c4bb69c11eda41152ee81aed1cac7

11 years agoMerge recent trunk changes into sessions.
drh [Fri, 18 Apr 2014 01:10:05 +0000 (01:10 +0000)] 
Merge recent trunk changes into sessions.

FossilOrigin-Name: 95e77efe076ab421bd246119c47dba5dacf9d087

11 years agoAdd the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check
drh [Fri, 18 Apr 2014 00:49:29 +0000 (00:49 +0000)] 
Add the SQLITE_RUNTIME_BYTEORDER compile-time option to force SQLite to check
the processor byte-order at run-time.  Add additional compile-time byte order
checks for ARM, PPC, and SPARC.

FossilOrigin-Name: 2c5363873a6f990a0abaacac6303acd46b48befc

11 years agoAdd the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion
drh [Fri, 18 Apr 2014 00:06:02 +0000 (00:06 +0000)] 
Add the SQLITE_TESTCTRL_BYTEORDER test control to interrogate SQLite's notion
of the processor byte order and whether the byte order is known at compile-time
or determined at run-time.

FossilOrigin-Name: 9c6961967ae00e563ebe2859eaf2639a79f2cb01

11 years agoPerformance optimization on byte-swapping in R-Tree.
drh [Thu, 17 Apr 2014 23:23:29 +0000 (23:23 +0000)] 
Performance optimization on byte-swapping in R-Tree.

FossilOrigin-Name: 444084fd620fc3f45cfb87b83f532d76bd2744e7

11 years agoMore test cases with very long priority queues.
drh [Thu, 17 Apr 2014 15:34:58 +0000 (15:34 +0000)] 
More test cases with very long priority queues.

FossilOrigin-Name: 71692aa97c78676f0ba80eaeec0ad9ac225f4427

11 years agoTest cases and bug fixes for the sqlite3_rtree_query_callback()
drh [Thu, 17 Apr 2014 14:52:20 +0000 (14:52 +0000)] 
Test cases and bug fixes for the sqlite3_rtree_query_callback()
mechanism.

FossilOrigin-Name: 1ccaaed6b516ec2ce953c1b31025a82ba76d00e7

11 years agoRefactor the constraint checking logic in RTree. The new-style constraint
drh [Thu, 17 Apr 2014 13:15:33 +0000 (13:15 +0000)] 
Refactor the constraint checking logic in RTree.  The new-style constraint
callbacks created by sqlite3_rtree_query_callback() are now hooked up from
end to end, though still untested.

FossilOrigin-Name: 32a13870175a1dd1d33af3572dde09ff607a04b6

11 years agoPerformance optimization on nodeGetCell() in R-Tree.
drh [Wed, 16 Apr 2014 21:02:28 +0000 (21:02 +0000)] 
Performance optimization on nodeGetCell() in R-Tree.

FossilOrigin-Name: 5d20ff9ec837ad35bc44d6c25d13764b350e81dd

11 years agoConvert the RTree module query mechanism over to using a priority queue for
drh [Wed, 16 Apr 2014 17:23:23 +0000 (17:23 +0000)] 
Convert the RTree module query mechanism over to using a priority queue for
walking the RTree.

FossilOrigin-Name: f26936f71a16ab25590540f7feb273514dfb69ff

11 years agoTCL tests now all pass. rtree-queue
drh [Wed, 16 Apr 2014 17:15:14 +0000 (17:15 +0000)] 
TCL tests now all pass.

FossilOrigin-Name: f864baccd3fe0ee939ac1ec20069792f649cddc0

11 years agoFix a bug in rowid=? query handling. More problems remain.
drh [Wed, 16 Apr 2014 14:45:11 +0000 (14:45 +0000)] 
Fix a bug in rowid=? query handling.  More problems remain.

FossilOrigin-Name: 5b0e6ba4a5050cf81cf41b977b28d714163569e0

11 years agoBug fixes to the priority-queue implementation for R-Trees. Improved tracing
drh [Wed, 16 Apr 2014 13:00:08 +0000 (13:00 +0000)] 
Bug fixes to the priority-queue implementation for R-Trees.  Improved tracing
capability.  Some queries work now, but still many problems.

FossilOrigin-Name: a439ddd629c6bb5ea2e7e274673fee4f5c207acf

11 years agoInitial attempt at getting R-Tree queries to work using a priority queue.
drh [Tue, 15 Apr 2014 21:06:14 +0000 (21:06 +0000)] 
Initial attempt at getting R-Tree queries to work using a priority queue.
This check-in compiles, but R-Trees do not work well.  And there are
debugging printf()s left in the code.  This is an incremental check-in.

FossilOrigin-Name: 53688a25c23c394278a357829793889970aa4157

11 years agoMake sure the undocumented sqlite_rename_parent() function does not
drh [Mon, 14 Apr 2014 19:48:25 +0000 (19:48 +0000)] 
Make sure the undocumented sqlite_rename_parent() function does not
crash even if it is invoked with NULL arguments.
Ticket [264b970c4379fd4b94]

FossilOrigin-Name: c6fa8d0d82805be230f672eabccdfa5680d4ddfd

11 years agoFix comments on the rtreenode() and rtreedepth() test function in the R-Tree
drh [Mon, 14 Apr 2014 14:43:09 +0000 (14:43 +0000)] 
Fix comments on the rtreenode() and rtreedepth() test function in the R-Tree
module.

FossilOrigin-Name: ade5b986e8baab9df7bdaf7ccfaee2d6ba55fa3c

11 years agoRemove over 300 lines of unused code, code that implemented the older
drh [Mon, 14 Apr 2014 12:18:17 +0000 (12:18 +0000)] 
Remove over 300 lines of unused code, code that implemented the older
Guttman insertion algorithms that are no longer used.

FossilOrigin-Name: 3ba5f295c709faebf5505e61f6dc5266b811b086

11 years agoRemove the unused second argument from sqlite3ExprCachePop(). Add an
drh [Sun, 13 Apr 2014 19:28:15 +0000 (19:28 +0000)] 
Remove the unused second argument from sqlite3ExprCachePop().  Add an
ALWAYS() on an always-true conditional in sqlite3VdbeResolveLabel().

FossilOrigin-Name: ab23abf392175d3e256ff619b13abbbe732a49ed

11 years agoMake sure column cache elements are cleared correctly when jumping over
drh [Sun, 13 Apr 2014 19:15:49 +0000 (19:15 +0000)] 
Make sure column cache elements are cleared correctly when jumping over
code for key generation in a partial index.
Fix for ticket [2ea3e9fe6379fc3f6].

FossilOrigin-Name: 3122b8364082be783821da01d4af2af6a9586327

11 years agoContinuing work on the new custom query mechanism for r-tree.
drh [Sun, 13 Apr 2014 16:10:09 +0000 (16:10 +0000)] 
Continuing work on the new custom query mechanism for r-tree.

FossilOrigin-Name: ca7357e66ca60f59477b1db000c2cdaeb8082ae1

11 years agoContinuing clean-up of the R-Tree module in preparation for cutting in the
drh [Sat, 12 Apr 2014 17:44:00 +0000 (17:44 +0000)] 
Continuing clean-up of the R-Tree module in preparation for cutting in the
new generalized query mechanism.

FossilOrigin-Name: 66c858f20586424e15d0bfa3d7b56643bde66226

11 years agoAdd the new interfaces to rtree, though they do not yet work. Add the
drh [Fri, 11 Apr 2014 23:14:48 +0000 (23:14 +0000)] 
Add the new interfaces to rtree, though they do not yet work.  Add the
"show_speedtest1_rtree.tcl" script for showing the test data used for the
R-Tree tests of speedtest1.  Change speedtest1 to generate better R-Tree
test data.

FossilOrigin-Name: 0b70275972c7a6a533566c1e50bffbf3ac531e95

11 years agoAdd the --verify option to speedtest1. Add verification test cases to
drh [Fri, 11 Apr 2014 17:41:08 +0000 (17:41 +0000)] 
Add the --verify option to speedtest1.  Add verification test cases to
the "rtree" testset and a case that uses a custom geometry callback.

FossilOrigin-Name: 9d485c4207a81f32334857d4a608c5c511dd2b83

11 years agoUpdate comments in the R-Tree module in preparation for some big changes.
drh [Fri, 11 Apr 2014 16:14:54 +0000 (16:14 +0000)] 
Update comments in the R-Tree module in preparation for some big changes.
Add an "rtree" performance test to speedtest1.

FossilOrigin-Name: 20a73ec0b2f56609a4504052e198e32803d30207

11 years agoModify the OR-clause handling so that it can safely deal with OR-clause
drh [Thu, 10 Apr 2014 02:24:48 +0000 (02:24 +0000)] 
Modify the OR-clause handling so that it can safely deal with OR-clause
with 17 or more terms.  Fix for ticket [10fb063b1179be53ea0b53bb].

FossilOrigin-Name: a67b5312f63909737c052fe58ab5772d45530d49

11 years agoPerformance improvements when reading large blobs, especially if
drh [Fri, 4 Apr 2014 18:49:19 +0000 (18:49 +0000)] 
Performance improvements when reading large blobs, especially if
SQLITE_DIRECT_OVERFLOW_READ is defined.

FossilOrigin-Name: 2312eb6a9eb31051db4e0baf19e033ba39adc7b1

11 years agoMerge changes to the query planner that strive to ensure that any index
drh [Fri, 4 Apr 2014 18:20:35 +0000 (18:20 +0000)] 
Merge changes to the query planner that strive to ensure that any index
usage that is a proper subset of some other index usage always has a slightly
higher cost.

FossilOrigin-Name: 683dd379a293b2f330e1e4cd746f190527fe48ee

11 years agoEnsure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode
drh [Fri, 4 Apr 2014 14:12:52 +0000 (14:12 +0000)] 
Ensure the "PRAGMA journal_mode=WAL" works coming from any other journal_mode
with ATTACH-ed databases.

FossilOrigin-Name: e54330b43127e46fc6494748cbb353a6fc91cfd7

11 years agoMerge all recent changes from trunk,
drh [Thu, 3 Apr 2014 16:35:33 +0000 (16:35 +0000)] 
Merge all recent changes from trunk,
including the fix for the OP_SCopy-vs-OP_Copy problem.

FossilOrigin-Name: 9515c8344a6743bbb0c6a6e49fb79fb3139090df

11 years agoUse OP_Copy instead of OP_SCopy when moving results out of a subquery,
drh [Thu, 3 Apr 2014 16:29:31 +0000 (16:29 +0000)] 
Use OP_Copy instead of OP_SCopy when moving results out of a subquery,
to prevent the subquery results from changing out from under the outer
query.  Fix for ticket [1e64dd782a126f48d78].

FossilOrigin-Name: d5513dfa23baa0b0a095aaf17d19aacd30dcef61

11 years agoFix a typo in the "Synopsis:" comment for the OP_VFilter opcode.
drh [Thu, 3 Apr 2014 14:31:00 +0000 (14:31 +0000)] 
Fix a typo in the "Synopsis:" comment for the OP_VFilter opcode.

FossilOrigin-Name: 48ecdd4aff03741f96c070dced69c3c273b652cb

11 years agoIn the command-line shell, run set writable_schema before running the
drh [Thu, 3 Apr 2014 00:32:13 +0000 (00:32 +0000)] 
In the command-line shell, run set writable_schema before running the
".clone" command.

FossilOrigin-Name: 9d2ae6342c8afa904bec591ebe134ff7f536b71c

11 years agoRemove an unnecessary conditional, replacing it with an assert(). overflow-pgno-cache
drh [Tue, 1 Apr 2014 01:24:34 +0000 (01:24 +0000)] 
Remove an unnecessary conditional, replacing it with an assert().
Improvements to comments.

FossilOrigin-Name: 834bf1c367e1ccd498c7f9f843be2d2aa11ffb3c

11 years agoFix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined.
drh [Mon, 31 Mar 2014 23:57:41 +0000 (23:57 +0000)] 
Fix a compiler warning when SQLITE_DIRECT_OVERFLOW_READ is defined.
Minor performance enhancement and size reduction.

FossilOrigin-Name: 96385dc460545807a5c8fcf6280a971700f84866

11 years agoMerge in the latest changes and fixes from trunk.
drh [Mon, 31 Mar 2014 22:03:32 +0000 (22:03 +0000)] 
Merge in the latest changes and fixes from trunk.

FossilOrigin-Name: f6211540c9d66a08dc580dd733e4f4a98968ae30

11 years agoRemove an unnecessary conditional. query-plan-experiments
drh [Mon, 31 Mar 2014 20:05:20 +0000 (20:05 +0000)] 
Remove an unnecessary conditional.

FossilOrigin-Name: 7473c4dfc10a47594affa6f4e071a08dc8838c0c

11 years agoAlso make sure an index that is a proper subset of some other index has a
drh [Mon, 31 Mar 2014 19:49:00 +0000 (19:49 +0000)] 
Also make sure an index that is a proper subset of some other index has a
higher cost than that other index.  Add test cases.

FossilOrigin-Name: b7830d232b073a197aa1092e78cb24e88cb10fd3

11 years agoMake sure that an index that covers a proper superset of the WHERE clause
drh [Mon, 31 Mar 2014 18:24:18 +0000 (18:24 +0000)] 
Make sure that an index that covers a proper superset of the WHERE clause
terms of some other index has a lower cost than the other index.

FossilOrigin-Name: ea8b0910040198751551b0b960e6b783913607df

11 years agoAvoid a (harmless) buffer overread that is possible on an OOM when
drh [Mon, 31 Mar 2014 13:42:42 +0000 (13:42 +0000)] 
Avoid a (harmless) buffer overread that is possible on an OOM when
MEMSYS5 is engaged.

FossilOrigin-Name: b3296267fb67b9f59719a37093253062edde3746

11 years agoExperiments in picking better query plans, especially when the usage of one
drh [Sat, 29 Mar 2014 21:16:07 +0000 (21:16 +0000)] 
Experiments in picking better query plans, especially when the usage of one
index is a subset of another.

FossilOrigin-Name: 8f869ca7a6eaa9ca7a08102290e6c606735f9090

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 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 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 in fixes (including the corrupt-database crash fix) and
drh [Wed, 26 Mar 2014 19:43:30 +0000 (19:43 +0000)] 
Merge in fixes (including the corrupt-database crash fix) and
performance enhancements from trunk.

FossilOrigin-Name: fc8ca1a87e7127bd28f32fd809aec3e24355fbfa

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 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 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 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 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 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 agoOnly use the direct-overflow-read optimization if all data from the overflow page...
dan [Thu, 20 Mar 2014 18:56:35 +0000 (18:56 +0000)] 
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read.

FossilOrigin-Name: d8e1f75ddf10f3c0b21acd5455f90fdcea54a948

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 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 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