]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
11 years agoFix a race condition in the sorter.
dan [Sat, 3 May 2014 19:33:00 +0000 (19:33 +0000)] 
Fix a race condition in the sorter.

FossilOrigin-Name: 32ccf3ae18531682dfd039fa8df6ad9a907ac455

11 years agoFix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when...
dan [Sat, 3 May 2014 14:28:14 +0000 (14:28 +0000)] 
Fix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when configured to use memsys3 or memsys5.

FossilOrigin-Name: 3a66c4e1bf311d38668dfcdcd77867feff6db7bd

11 years agoGet SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex
drh [Sat, 3 May 2014 13:53:37 +0000 (13:53 +0000)] 
Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex
implementation.

FossilOrigin-Name: f49ba1c926c63ee1c4609930138389fca182c845

11 years agoAdd two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by
drh [Sat, 3 May 2014 12:00:01 +0000 (12:00 +0000)] 
Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by
the application program.  First intended use is in test programs for the
memory allocation logic where one does not want to allocating a _FAST
or _RECURSIVE mutex since that would involve using the memory allocation
system under test.

FossilOrigin-Name: 13686035dd1cf67ad9c6d282ab13c3259e7273d1

11 years agoAdd the SQLITE_DEFAULT_WORKER_THREADS compile-time option.
drh [Sat, 3 May 2014 11:22:09 +0000 (11:22 +0000)] 
Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option.
Fix a NULL-pointer dereference that can occur following OOM.

FossilOrigin-Name: e0dea89b3e9f295f80210fcca007681bf1b08692

11 years agoFix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is...
mistachkin [Fri, 2 May 2014 19:12:37 +0000 (19:12 +0000)] 
Fix typo in Windows makefile.  Make sure the WaitForSingleObjectEx system call is always available.

FossilOrigin-Name: d7ed529fa2aa5cb13edaabca2acaad06dffef569

11 years agoDo not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since
drh [Fri, 2 May 2014 18:46:52 +0000 (18:46 +0000)] 
Do not run the vdbeRecordCompareDebug() assert if pKeyInfo->db is NULL since
in that case there would be no way to check for a memory allocation failure.

FossilOrigin-Name: 63ed2d6acb82be8a74dbf6a61388be6da6113985

11 years agoMerge orderby-planning with this branch.
dan [Fri, 2 May 2014 18:05:38 +0000 (18:05 +0000)] 
Merge orderby-planning with this branch.

FossilOrigin-Name: d9549de31741239ece060e448b592ce8fc5b8042

11 years agoSimplify assert() statements used to verify correct operation of
drh [Fri, 2 May 2014 17:33:16 +0000 (17:33 +0000)] 
Simplify assert() statements used to verify correct operation of
record comparison routines.

FossilOrigin-Name: 3300d62dcbe74842cf86ca436959fe4e77a89f84

11 years agoFix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error.
dan [Fri, 2 May 2014 17:12:41 +0000 (17:12 +0000)] 
Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error.

FossilOrigin-Name: e15f47064bef431c0afd8bf93eb4e160c23ad562

11 years agoFailure to extend a temp file for use with mmap() in vdbesort.c is benign.
drh [Fri, 2 May 2014 16:22:55 +0000 (16:22 +0000)] 
Failure to extend a temp file for use with mmap() in vdbesort.c is benign.

FossilOrigin-Name: d4d396387d373bd1e82eda2c7c2e7ca35ec099c4

11 years agoRemove a faulty assert() from vdbesort.c.
dan [Fri, 2 May 2014 16:03:57 +0000 (16:03 +0000)] 
Remove a faulty assert() from vdbesort.c.

FossilOrigin-Name: d95d68aa1d14b750888d50068380cc107f9070df

11 years agoFix a faulty assert() statement.
drh [Fri, 2 May 2014 15:25:24 +0000 (15:25 +0000)] 
Fix a faulty assert() statement.

FossilOrigin-Name: 9196ce407379ca3b151b601b98848771e5cb4e8f

11 years agoMerge latest trunk enhancements and fixes into the orderby-planning branch.
drh [Fri, 2 May 2014 13:09:06 +0000 (13:09 +0000)] 
Merge latest trunk enhancements and fixes into the orderby-planning branch.

FossilOrigin-Name: 84862d3a095629d20c8e7b8a16f4dc26cd41ab6d

11 years agoAdd a comment explaining why WhereLoop cost adjustments are omitted for
drh [Fri, 2 May 2014 00:09:40 +0000 (00:09 +0000)] 
Add a comment explaining why WhereLoop cost adjustments are omitted for
skip-scan loops.

FossilOrigin-Name: 3bc43594aaeee9225c0590677fcce480bedcb37b

11 years agoFix an obscure problem to do with temp register allocation that could occur if more...
dan [Thu, 1 May 2014 20:26:48 +0000 (20:26 +0000)] 
Fix an obscure problem to do with temp register allocation that could occur if more than one simple SELECT within a compound SELECT uses a partial sort.

FossilOrigin-Name: 427409ae106cdab7892a6b50fe30c5f52de5addc

11 years agoAdd #ifdefs for test coverage. Add a testcase().
drh [Thu, 1 May 2014 20:24:21 +0000 (20:24 +0000)] 
Add #ifdefs for test coverage.  Add a testcase().

FossilOrigin-Name: be2702ce35c713b33c9b7689643b45fb0de6af2a

11 years agoUpdate a test case in wal2.test that explicitly corrupts a checksum in the wal file...
dan [Thu, 1 May 2014 10:19:16 +0000 (10:19 +0000)] 
Update a test case in wal2.test that explicitly corrupts a checksum in the wal file to account for the fact that the first byte of said checksum may initially be 0xFF.

FossilOrigin-Name: 2b935bdea1452505f36dc8c7aad49e6c42f4eceb

11 years agoFix a problem in calculating the costs of "OR" scans.
dan [Wed, 30 Apr 2014 18:11:55 +0000 (18:11 +0000)] 
Fix a problem in calculating the costs of "OR" scans.

FossilOrigin-Name: 9bbca48b42e4fe16f2188e18dc736da30a96435c

11 years agoModify the way the costs of various query plans are estimated. If the user supplies...
dan [Wed, 30 Apr 2014 15:22:25 +0000 (15:22 +0000)] 
Modify the way the costs of various query plans are estimated. If the user supplies a likelihood() value (or equivalent) on an indexed WHERE constraint, use it to estimate the number of index rows visited.

FossilOrigin-Name: 90e36676476e8db00658772e6c938242f766d306

11 years agoAdd text to the header comment of whereLoopAddBtree() describing how the costs of... experimental-costs
dan [Wed, 30 Apr 2014 15:00:16 +0000 (15:00 +0000)] 
Add text to the header comment of whereLoopAddBtree() describing how the costs of various b-tree loops are estimated.

FossilOrigin-Name: 05e6e16cb28c9ffb4596bd2ef81f687c5403ecbb

11 years agoUpdate a couple of test cases to account for the fact that this branch prefers an...
dan [Wed, 30 Apr 2014 14:53:21 +0000 (14:53 +0000)] 
Update a couple of test cases to account for the fact that this branch prefers an index scan and partial sort over a full-table scan and full external sort.

FossilOrigin-Name: 9b975bf33cd8fc28c64183a9642bf9fb436a4746

11 years agoFix a couple of out-of-date comments in where.c.
dan [Wed, 30 Apr 2014 14:47:01 +0000 (14:47 +0000)] 
Fix a couple of out-of-date comments in where.c.

FossilOrigin-Name: eefeda32d54efbbdf7d20b719299eda48b891fae

11 years agoImproved rendering of LogEst values corresponding to real values near 0.0
drh [Wed, 30 Apr 2014 14:22:38 +0000 (14:22 +0000)] 
Improved rendering of LogEst values corresponding to real values near 0.0
in the tool/logest.c utility program.

FossilOrigin-Name: 32910c8c595858245bb7ecfe3aa0f90eeae641af

11 years agoFix long-standing typos in comments.
drh [Wed, 30 Apr 2014 13:19:09 +0000 (13:19 +0000)] 
Fix long-standing typos in comments.

FossilOrigin-Name: b9f91317c34d07769a95dc2f905a6ccabceb64a3

11 years agoTest that the default values used when sqlite_stat1 data is not available are calcula...
dan [Tue, 29 Apr 2014 19:01:57 +0000 (19:01 +0000)] 
Test that the default values used when sqlite_stat1 data is not available are calculated correctly. Fixes for the same.

FossilOrigin-Name: e2d42f909de85a0586389f2dc0e654f7af2e351a

11 years agoMerge trunk changes into this branch.
dan [Tue, 29 Apr 2014 16:46:24 +0000 (16:46 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: d74299f037f3a6a4b3bce8b4d1c76c407c1f3b3e

11 years agoIgnore likelihood() values on indexed IPK lookups.
dan [Tue, 29 Apr 2014 16:10:22 +0000 (16:10 +0000)] 
Ignore likelihood() values on indexed IPK lookups.

FossilOrigin-Name: 5bb7757a7b32a74482d3e93e9c9eea02273fe981

11 years agoFix a test case so that it updates sqlite_stat1 consistently.
dan [Tue, 29 Apr 2014 12:01:35 +0000 (12:01 +0000)] 
Fix a test case so that it updates sqlite_stat1 consistently.

FossilOrigin-Name: 2dc5a0b55567f13f0528ed17242e680cde2f2a29

11 years agoDo not reduce the number of rows scanned at all for "IS NOT NULL" constraints. Fix...
dan [Mon, 28 Apr 2014 20:11:20 +0000 (20:11 +0000)] 
Do not reduce the number of rows scanned at all for "IS NOT NULL" constraints. Fix a bug in calculating the number of rows visited by scans of partial indicies.

FossilOrigin-Name: a8ae93f0cffa116df0ba34d46a53f49d42dace41

11 years agoThe trunk assumes that an open range constraint on an indexed term (col>?) term match...
dan [Mon, 28 Apr 2014 19:34:06 +0000 (19:34 +0000)] 
The trunk assumes that an open range constraint on an indexed term (col>?) term matches 1/4 of the indexed rows, and that a closed constraint (col BETWEEN ? AND ?) matches 1/64. Change this branch to do the same.

FossilOrigin-Name: 4047ac75e2a8f0b330255501c42e4f04e5ab500d

11 years agoAdd the sqlite3_rtree_query_callback() API to the RTree virtual table.
drh [Mon, 28 Apr 2014 17:56:19 +0000 (17:56 +0000)] 
Add the sqlite3_rtree_query_callback() API to the RTree virtual table.
(Cherrypick from the sessions branch.)

FossilOrigin-Name: af2cbe64adab5f9e3b0f3da00d06428088589d7f

11 years agoUpdate unordered.test to take into account for the fact that SQLite now prefers a...
dan [Mon, 28 Apr 2014 15:11:25 +0000 (15:11 +0000)] 
Update unordered.test to take into account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows.

FossilOrigin-Name: 20f468dfbcb247e51446fad411a6e6cc0d130411

11 years agoAdd an extra column to a table in analyze9.test to give the planner a little more...
dan [Mon, 28 Apr 2014 12:08:23 +0000 (12:08 +0000)] 
Add an extra column to a table in analyze9.test to give the planner a little more reason to select an index.

FossilOrigin-Name: 1b95544f84bf83c28cc15f6d0690fdf8a6bb3941

11 years agoUpdate test script analyze3.test to account for the fact that SQLite now prefers...
dan [Mon, 28 Apr 2014 10:00:59 +0000 (10:00 +0000)] 
Update test script analyze3.test to account for the fact that SQLite now prefers a full-table scan over a non-covering index scan that visits a large percentage of the table rows.

FossilOrigin-Name: 35f46a55d866b9a87c1321aab8e0cfe86ccadb93

11 years agoModify internal function whereLoopAdjustCost() so that it does not prefer a skip...
dan [Mon, 28 Apr 2014 09:35:31 +0000 (09:35 +0000)] 
Modify internal function whereLoopAdjustCost() so that it does not prefer a skip-scan over a regular index scan even if the regular scan uses a subset of the WHERE terms used by the skip-scan.

FossilOrigin-Name: 88a5758dcce891eb7be15432ebdc9f80071d413b

11 years agoFix an error in estimating of the number of rows visited by a range scan.
dan [Mon, 28 Apr 2014 08:49:54 +0000 (08:49 +0000)] 
Fix an error in estimating of the number of rows visited by a range scan.

FossilOrigin-Name: d491de62fce69d93e89f65f7713972f7c2c451f7

11 years agoFix an sqlite3_stmt_status() problem caused by recent changs on this branch.
dan [Sat, 26 Apr 2014 20:21:14 +0000 (20:21 +0000)] 
Fix an sqlite3_stmt_status() problem caused by recent changs on this branch.

FossilOrigin-Name: dee204092421a239f9f60ab83c3a5b3e24d1baea

11 years agoUpdate requirements marks to fix typos in the requirements text.
drh [Sat, 26 Apr 2014 19:23:14 +0000 (19:23 +0000)] 
Update requirements marks to fix typos in the requirements text.
No changes to code.

FossilOrigin-Name: f5a263658187250044afc1a74000e6f6962733ca

11 years agoAllow the xfer optimization to proceed if the DEFAULT on the very first
drh [Sat, 26 Apr 2014 17:52:08 +0000 (17:52 +0000)] 
Allow the xfer optimization to proceed if the DEFAULT on the very first
column of the two tables is different.  This is a refinement of the
fix for ticket [f67b41381a].

FossilOrigin-Name: 349f483499dd685a8da94923b6bd810a52e5e236

11 years agoAvoid transfering records between tables unless the default values for all columns...
dan [Sat, 26 Apr 2014 14:07:57 +0000 (14:07 +0000)] 
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a].

FossilOrigin-Name: f8c4c495e6de1f124d205383d4bafa46accbff5c

11 years agoIf the user provides likelihood() data for a WHERE clause term used as part of an...
dan [Fri, 25 Apr 2014 20:22:45 +0000 (20:22 +0000)] 
If the user provides likelihood() data for a WHERE clause term used as part of an index key, have the planner use it when calculating the expected number of rows visited by the loop.

FossilOrigin-Name: c51efaa5d29ee0a91b9e6a83a8dd82530670811a

11 years agoAdd test cases to ensure correct operation of joins with a virtual table
drh [Fri, 25 Apr 2014 17:37:16 +0000 (17:37 +0000)] 
Add test cases to ensure correct operation of joins with a virtual table
that include DISTINCT and ORDER BY clauses.  Verification for ticket
[388d01d4bb8f9].

FossilOrigin-Name: 5ada136f43ce744ae8c349eff39838eb44611b6e

11 years agoStore values loaded from the stat1 table as logarithmic values in memory.
dan [Fri, 25 Apr 2014 15:01:01 +0000 (15:01 +0000)] 
Store values loaded from the stat1 table as logarithmic values in memory.

FossilOrigin-Name: 1bd74c49ddab6f53bb6eaa57907eff44c2580dd6

11 years agoMake sure ORDER BY clauses on joins that involve virtual tables and that
drh [Fri, 25 Apr 2014 14:42:17 +0000 (14:42 +0000)] 
Make sure ORDER BY clauses on joins that involve virtual tables and that
have a DISTINCT clause work correctly.  This is a candidate fix for
ticket [388d01d4bb8f9].  Test cases for that ticket will be checked in
separately.

FossilOrigin-Name: 171138122690faafde0dcab0201b90bdf02d3637

11 years agoWhen VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes
drh [Fri, 25 Apr 2014 12:35:31 +0000 (12:35 +0000)] 
When VDBE_PROFILE is enabled, ignore negative opcode times, which sometimes
occur, perhaps due to context swaps.

FossilOrigin-Name: 4e88042f9d3e678914da96c0eb276f3d8fca5a94

11 years agoChanges to the way the planner calculates the costs of various table and index scans...
dan [Thu, 24 Apr 2014 20:04:49 +0000 (20:04 +0000)] 
Changes to the way the planner calculates the costs of various table and index scans. Some test cases still failing.

FossilOrigin-Name: c5a6ec0a880652dc8f4593d9f7acd58ddc3dc5f3

11 years agoImproved header comment on the vdbesort.c module. No changes to code.
drh [Thu, 24 Apr 2014 16:25:25 +0000 (16:25 +0000)] 
Improved header comment on the vdbesort.c module.  No changes to code.

FossilOrigin-Name: bf09ce24d054bc68c226064f5f28d97e0e648a13

11 years agoReopen the orderby-planning branch and merge in the latest trunk enhancements
drh [Thu, 24 Apr 2014 15:06:25 +0000 (15:06 +0000)] 
Reopen the orderby-planning branch and merge in the latest trunk enhancements
and fixes.

FossilOrigin-Name: 6077ddcd93318e24b9756adaaf293ba9fb3cedf7

11 years agoImprovements to comments. Store some extra information in SqliteThread that
drh [Thu, 24 Apr 2014 12:28:28 +0000 (12:28 +0000)] 
Improvements to comments.  Store some extra information in SqliteThread that
is useful for debugging.

FossilOrigin-Name: 9fb5e212089d85cdd3b4787dd69c72e6d84560b6

11 years agoMerge all recent trunk changes into the threads branch.
drh [Wed, 23 Apr 2014 12:57:55 +0000 (12:57 +0000)] 
Merge all recent trunk changes into the threads branch.

FossilOrigin-Name: e2c9f71a451e44040624b9f255b4510743513019

11 years agoComment tweaks on the test case for the [b75a9ca6b0] bug fix.
drh [Mon, 21 Apr 2014 13:36:54 +0000 (13:36 +0000)] 
Comment tweaks on the test case for the [b75a9ca6b0] bug fix.

FossilOrigin-Name: 65d2544af9adc1e2f1d193e57f8be0422fb0d5eb

11 years agoAvoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses...
dan [Mon, 21 Apr 2014 13:21:56 +0000 (13:21 +0000)] 
Avoid discarding an ORDER BY clause in the case where an identical GROUP BY clauses uses an index to group, but not sort, the rows. Fix for [b75a9ca6b0].

FossilOrigin-Name: de9a490f594183f337a2ec9e0f87792eac83548b

11 years agoClean up the proper-subset cost adjustment logic to make it more compact
drh [Fri, 18 Apr 2014 22:20:31 +0000 (22:20 +0000)] 
Clean up the proper-subset cost adjustment logic to make it more compact
and easier to read and so that full branch test coverage is more easily
obtained.

FossilOrigin-Name: 9a5d38c79d2482a23bcfbc3ff35ca4fa269c768d

11 years agoAdd to speedtest1.c the --threads option for setting the
drh [Fri, 18 Apr 2014 13:57:39 +0000 (13:57 +0000)] 
Add to speedtest1.c the --threads option for setting the
SQLITE_CONFIG_WORKER_THREADS configuration.

FossilOrigin-Name: 5fce40c44aacf883df2e8e9472c399a6e92197b3

11 years agoFix harmless compiler warnings.
drh [Fri, 18 Apr 2014 13:40:07 +0000 (13:40 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: f8f72ecb9052a4cace1db75879fb8b5131ea4f50

11 years agoMerge recent trunk changes into the threads branch.
drh [Fri, 18 Apr 2014 12:38:54 +0000 (12:38 +0000)] 
Merge recent trunk changes into the threads branch.

FossilOrigin-Name: 8729aa3e3ed1da2e15408ef8705cbe185cd2a5ac

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 agoFix build problems in vdbesort.c. Add further comments and changes to make things...
dan [Thu, 17 Apr 2014 08:57:17 +0000 (08:57 +0000)] 
Fix build problems in vdbesort.c. Add further comments and changes to make things easier to understand.

FossilOrigin-Name: 12b190db1d20c34390c768614b40ff58a9d3b74c

11 years agoClarify the purpose of the nField argument passed to sqlite3VdbeSorterInit().
dan [Wed, 16 Apr 2014 19:04:23 +0000 (19:04 +0000)] 
Clarify the purpose of the nField argument passed to sqlite3VdbeSorterInit().

FossilOrigin-Name: c0c8cff17b7311bbc4fd081313a5552f927c3833

11 years agoChange the name of vdbeIncrInit2 to vdbePmaReaderIncrInit. Add a header comment to...
dan [Wed, 16 Apr 2014 17:41:22 +0000 (17:41 +0000)] 
Change the name of vdbeIncrInit2 to vdbePmaReaderIncrInit. Add a header comment to the same function.

FossilOrigin-Name: 6622d87675c1d7992b1e6d52ae7da1007a1568a4

11 years agoRework the way trees of MergeEngine objects are built in vdbesort.c to make it easier...
dan [Wed, 16 Apr 2014 16:43:05 +0000 (16:43 +0000)] 
Rework the way trees of MergeEngine objects are built in vdbesort.c to make it easier to follow. Fix memory leaks that could follow an OOM or IO error. Add various comments to explain functions in vdbesort.c.

FossilOrigin-Name: 69026ec7dc3bd3e33bbe17c221a53cf1dd0f8945

11 years agoFix some problems to do with OOM conditions in vdbesort.c. Some problems remain.
dan [Tue, 15 Apr 2014 20:52:27 +0000 (20:52 +0000)] 
Fix some problems to do with OOM conditions in vdbesort.c. Some problems remain.

FossilOrigin-Name: 2f94f9ce9bf11f1599bbc640b3fc8c15da588416

11 years agoFix further code and documentation issues in vdbesort.c.
dan [Tue, 15 Apr 2014 19:52:34 +0000 (19:52 +0000)] 
Fix further code and documentation issues in vdbesort.c.

FossilOrigin-Name: d03f5b8622d304f029f73c7cd0bee3182a81d081

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 agoAllow the sorter to begin returning data to the VDBE as soon as it is available,...
dan [Mon, 14 Apr 2014 19:23:18 +0000 (19:23 +0000)] 
Allow the sorter to begin returning data to the VDBE as soon as it is available, instead of waiting until all keys have been sorted.

FossilOrigin-Name: cb0ab20c48962cdee03115efa93d7d501780ac73

11 years agoImprove performance in single-threaded mode by having the final merge pass keys direc... threads-experimental
dan [Mon, 14 Apr 2014 18:41:21 +0000 (18:41 +0000)] 
Improve performance in single-threaded mode by having the final merge pass keys directly to the VDBE, instead of going via a final PMA.

FossilOrigin-Name: 02610cd9b77caa2c181210056088beb3ad6ce30f

11 years agoMinor fixes so that builds with SQLITE_MAX_WORKER_THREADS=0 work.
dan [Mon, 14 Apr 2014 08:45:32 +0000 (08:45 +0000)] 
Minor fixes so that builds with SQLITE_MAX_WORKER_THREADS=0 work.

FossilOrigin-Name: e400bbbf26cdfe88f6cb231e96cdcddb9a6bcc0f

11 years agoImprove use of multiple threads in sqlite3VdbeSorterRewind().
dan [Mon, 14 Apr 2014 07:30:39 +0000 (07:30 +0000)] 
Improve use of multiple threads in sqlite3VdbeSorterRewind().

FossilOrigin-Name: e1bdc4b810907cc0e55e0c923c8ebc777068cfe0

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 agoFix many issues with new code.
dan [Sat, 12 Apr 2014 19:34:44 +0000 (19:34 +0000)] 
Fix many issues with new code.

FossilOrigin-Name: 62c406a042d7246f6df6b943421182a88483b2e3

11 years agoAvoid having the sorter merge too many PMAs at a time when incrementally merging...
dan [Fri, 11 Apr 2014 19:43:07 +0000 (19:43 +0000)] 
Avoid having the sorter merge too many PMAs at a time when incrementally merging data following a SorterRewind().

FossilOrigin-Name: 98bf0307b121b0776a7170108cc8d3f948a7ebfe

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 agoExperimental multi-threaded sorting changes to allow the sorter to begin returning...
dan [Wed, 9 Apr 2014 20:04:17 +0000 (20:04 +0000)] 
Experimental multi-threaded sorting changes to allow the sorter to begin returning items to the VDBE before all data is sorted.

FossilOrigin-Name: f9d5e09afaf64d68a0e461c1c2f38179bcea4b1f

11 years agoFix harmless compiler warnings.
drh [Fri, 4 Apr 2014 22:44:59 +0000 (22:44 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: e54dded2012f0ab486ee138e9bd57c528af33980

11 years agoFix typo in a Windows threading support routine.
mistachkin [Fri, 4 Apr 2014 21:40:38 +0000 (21:40 +0000)] 
Fix typo in a Windows threading support routine.

FossilOrigin-Name: 5e3dfa27c71a666e122e3cf64897038ff8424800

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 the latest trunk changes into the threads branch.
drh [Fri, 4 Apr 2014 18:37:36 +0000 (18:37 +0000)] 
Merge the latest trunk changes into the threads branch.

FossilOrigin-Name: 39ac79cffe716f88af0871bdd206231b6a6511ff

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 agoAdd test file sort3.test, which should have been part of commit [9d3351b8d7].
dan [Fri, 4 Apr 2014 07:52:44 +0000 (07:52 +0000)] 
Add test file sort3.test, which should have been part of commit [9d3351b8d7].

FossilOrigin-Name: dceed2c803fca23c83c02c448d5ae7c4698efee1

11 years agoChange vdbeSorterExtendFile() so that it makes a best effort to create the
drh [Fri, 4 Apr 2014 02:13:26 +0000 (02:13 +0000)] 
Change vdbeSorterExtendFile() so that it makes a best effort to create the
PMA file of the desired size, but does not return an error if unable.

FossilOrigin-Name: 217814bc4b53fab7bdad433e24e8aef8998c38fe

11 years agoMerge all recent changes from trunk.
drh [Thu, 3 Apr 2014 16:42:21 +0000 (16:42 +0000)] 
Merge all recent changes from trunk.

FossilOrigin-Name: a0910079adde95245680dee59b43613b60903f10

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 an integer overflow problem in the sorter.
dan [Thu, 3 Apr 2014 16:25:29 +0000 (16:25 +0000)] 
Fix an integer overflow problem in the sorter.

FossilOrigin-Name: 9d3351b8d713232133dad149c73fb2a27c72abb1

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 agoFix minor errors causing compilation to fail with SQLITE_MAX_WORKER_THREADS set to...
dan [Thu, 3 Apr 2014 14:29:08 +0000 (14:29 +0000)] 
Fix minor errors causing compilation to fail with SQLITE_MAX_WORKER_THREADS set to a value greater than zero.

FossilOrigin-Name: 0561272abf357a2f4709f6c02866e570d19cd344

11 years agoRefactor local object and method names in vdbesort.c so that their names
drh [Thu, 3 Apr 2014 02:54:27 +0000 (02:54 +0000)] 
Refactor local object and method names in vdbesort.c so that their names
more closely reflect their actual use.

FossilOrigin-Name: d284e30eb1db144965fa85566e4234e30464350b

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 agoAdd a big introductory comment to vdbesort.c explaining its operation at a
drh [Wed, 2 Apr 2014 18:58:49 +0000 (18:58 +0000)] 
Add a big introductory comment to vdbesort.c explaining its operation at a
high level.  Also adjust some symbolic names and fix other comment issues in
that file.

FossilOrigin-Name: eef60f1bf54fcdc7b32f96ebb87a9a0bf0776e8b

11 years agoFix some problems with OOM handling in vdbesort.c.
dan [Wed, 2 Apr 2014 15:15:25 +0000 (15:15 +0000)] 
Fix some problems with OOM handling in vdbesort.c.

FossilOrigin-Name: 47e702bd8392bc50c4edaf6a2c8c499af87b520e

11 years agoChange the name of the SorterThread object to "SortSubtask" to avoid confusion
drh [Wed, 2 Apr 2014 14:38:14 +0000 (14:38 +0000)] 
Change the name of the SorterThread object to "SortSubtask" to avoid confusion
with the SQLiteThread object.

FossilOrigin-Name: 4ee2d910fbbed8d4def15e4e99ee225839f3a739

11 years agoWhen sorting data for a CREATE INDEX statement in single-threaded mode, assume that...
dan [Tue, 1 Apr 2014 18:41:51 +0000 (18:41 +0000)] 
When sorting data for a CREATE INDEX statement in single-threaded mode, assume that keys are delivered to the sorter in primary key order. Also fix various comments that had fallen out of date.

FossilOrigin-Name: 821d1ac4504243fa13b9e3c0d56361ad9fb80d78

11 years agoEven if compile time option SQLITE_MAX_WORKER_THREADS is set to one or greater, set...
dan [Tue, 1 Apr 2014 15:38:44 +0000 (15:38 +0000)] 
Even if compile time option SQLITE_MAX_WORKER_THREADS is set to one or greater, set the default number of worker threads to zero. Distribute data more evenly between threads in sqlite3VdbeSorterWrite() to improve performance when sorting large amounts of data. Add new test file sort2.test.

FossilOrigin-Name: 643c86a056168e39fcb7f39b8a72731f1eb246db

11 years agoFix a problem with OOM handling in the sorter code.
dan [Tue, 1 Apr 2014 10:19:02 +0000 (10:19 +0000)] 
Fix a problem with OOM handling in the sorter code.

FossilOrigin-Name: 59cd5229e2b5be5272cf57c7e7d09e97d16a5425

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