drh
7bd3c89114
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
2014-05-03 12:00:01 +00:00
drh
a09c8855b7
Add the SQLITE_DEFAULT_WORKER_THREADS compile-time option.
...
Fix a NULL-pointer dereference that can occur following OOM.
FossilOrigin-Name: e0dea89b3e9f295f80210fcca007681bf1b08692
2014-05-03 11:22:09 +00:00
mistachkin
72de9addc7
Enhance the Win32 VFS I/O retry logic.
...
FossilOrigin-Name: 4760504396bcf44528eb8de9ed7aa5d9659c54b6
2014-05-02 22:39:54 +00:00
mistachkin
b91ca38514
Merge updates from trunk.
...
FossilOrigin-Name: 598a3875ce98015e9a38db54bd0cb6290424c3d8
2014-05-02 21:42:31 +00:00
mistachkin
4a11505be9
Merge updates from trunk.
...
FossilOrigin-Name: c4d1d8a0db48f523d1624f2468261c171152c0f7
2014-05-02 21:38:02 +00:00
mistachkin
e500747cfe
Fix typo in Windows makefile. Make sure the WaitForSingleObjectEx system call is always available.
...
FossilOrigin-Name: d7ed529fa2aa5cb13edaabca2acaad06dffef569
2014-05-02 19:12:37 +00:00
drh
84de690b4f
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
2014-05-02 18:46:52 +00:00
dan
2ae56f50ce
Merge orderby-planning with this branch.
...
FossilOrigin-Name: d9549de31741239ece060e448b592ce8fc5b8042
2014-05-02 18:05:38 +00:00
drh
79211e194d
Simplify assert() statements used to verify correct operation of
...
record comparison routines.
FossilOrigin-Name: 3300d62dcbe74842cf86ca436959fe4e77a89f84
2014-05-02 17:33:16 +00:00
dan
a7bf23c6b5
Fix some broken asserts in btree.c and vdbeaux.c that may fail following an OOM error.
...
FossilOrigin-Name: e15f47064bef431c0afd8bf93eb4e160c23ad562
2014-05-02 17:12:41 +00:00
drh
c7f6c148d9
Failure to extend a temp file for use with mmap() in vdbesort.c is benign.
...
FossilOrigin-Name: d4d396387d373bd1e82eda2c7c2e7ca35ec099c4
2014-05-02 16:22:55 +00:00
dan
012e133772
Remove a faulty assert() from vdbesort.c.
...
FossilOrigin-Name: d95d68aa1d14b750888d50068380cc107f9070df
2014-05-02 16:03:57 +00:00
drh
7a0fd192cc
Fix a faulty assert() statement.
...
FossilOrigin-Name: 9196ce407379ca3b151b601b98848771e5cb4e8f
2014-05-02 15:25:24 +00:00
dan
a153643b07
Fix a broken test case in fuzz.test.
...
FossilOrigin-Name: faa469355eabb2c407f24638b090725448aac37f
2014-05-02 14:54:56 +00:00
drh
fb0d6e56d6
Merge latest trunk enhancements and fixes into the orderby-planning branch.
...
FossilOrigin-Name: 84862d3a095629d20c8e7b8a16f4dc26cd41ab6d
2014-05-02 13:09:06 +00:00
drh
e724d3d26a
Add a comment explaining why WhereLoop cost adjustments are omitted for
...
skip-scan loops.
FossilOrigin-Name: 3bc43594aaeee9225c0590677fcce480bedcb37b
2014-05-02 00:09:40 +00:00
dan
3852413246
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
2014-05-01 20:26:48 +00:00
drh
c5f246eb37
Add #ifdefs for test coverage. Add a testcase().
...
FossilOrigin-Name: be2702ce35c713b33c9b7689643b45fb0de6af2a
2014-05-01 20:24:21 +00:00
dan
e03d76254c
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
2014-05-01 10:19:16 +00:00
drh
57fe136b23
Take out the special handling of nolock=true in os_win.c and add it to
...
pager.c, so that it works for all VFSes. Add the pPager->noLock boolean
for clarity.
FossilOrigin-Name: 725c1c14be331bce9bf074960dbfa7b6d4c1ba87
2014-05-01 01:49:22 +00:00
drh
48cdabcb1a
Avoid unnecessary xUnlock operations on temp file.
...
FossilOrigin-Name: 1829c38c3233c8cb194fae6d560d35a8916b1348
2014-05-01 01:20:05 +00:00
drh
d1ae96d39e
Add the immutable=TRUE query parameter and SQLITE_IOCAP_IMMUTABLE, either
...
of which prevents locking of the database and omits tests for existance
of journal files.
FossilOrigin-Name: 71f152c85d79ebd9ca48bc9c4c71fc4debaf2437
2014-05-01 01:13:08 +00:00
drh
fb4c9242a5
Merge in all recent changes and enhancements from trunk.
...
FossilOrigin-Name: 84243f844417f888ab731841f7dbf95749f6e034
2014-04-30 20:32:41 +00:00
dan
5da73e1a09
Fix a problem in calculating the costs of "OR" scans.
...
FossilOrigin-Name: 9bbca48b42e4fe16f2188e18dc736da30a96435c
2014-04-30 18:11:55 +00:00
dan
4243e27f22
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
2014-04-30 15:22:25 +00:00
dan
8164722c58
Add text to the header comment of whereLoopAddBtree() describing how the costs of various b-tree loops are estimated.
...
FossilOrigin-Name: 05e6e16cb28c9ffb4596bd2ef81f687c5403ecbb
2014-04-30 15:00:16 +00:00
dan
75525cbe24
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
2014-04-30 14:53:21 +00:00
dan
4a6b8a05cd
Fix a couple of out-of-date comments in where.c.
...
FossilOrigin-Name: eefeda32d54efbbdf7d20b719299eda48b891fae
2014-04-30 14:47:01 +00:00
drh
253666e520
Improved rendering of LogEst values corresponding to real values near 0.0
...
in the tool/logest.c utility program.
FossilOrigin-Name: 32910c8c595858245bb7ecfe3aa0f90eeae641af
2014-04-30 14:22:38 +00:00
drh
224155dd1c
Fix long-standing typos in comments.
...
FossilOrigin-Name: b9f91317c34d07769a95dc2f905a6ccabceb64a3
2014-04-30 13:19:09 +00:00
dan
264d2b97a9
Test that the default values used when sqlite_stat1 data is not available are calculated correctly. Fixes for the same.
...
FossilOrigin-Name: e2d42f909de85a0586389f2dc0e654f7af2e351a
2014-04-29 19:01:57 +00:00
dan
e4618fb30d
Merge trunk changes into this branch.
...
FossilOrigin-Name: d74299f037f3a6a4b3bce8b4d1c76c407c1f3b3e
2014-04-29 16:46:24 +00:00
dan
09e1df6c00
Ignore likelihood() values on indexed IPK lookups.
...
FossilOrigin-Name: 5bb7757a7b32a74482d3e93e9c9eea02273fe981
2014-04-29 16:10:22 +00:00
dan
67a03cfd6e
Fix a test case so that it updates sqlite_stat1 consistently.
...
FossilOrigin-Name: 2dc5a0b55567f13f0528ed17242e680cde2f2a29
2014-04-29 12:01:35 +00:00
dan
7de2a1faf6
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
2014-04-28 20:11:20 +00:00
dan
42685f211e
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
2014-04-28 19:34:06 +00:00
drh
65e6b0dd12
Add the sqlite3_rtree_query_callback() API to the RTree virtual table.
...
(Cherrypick from the sessions branch.)
FossilOrigin-Name: af2cbe64adab5f9e3b0f3da00d06428088589d7f
2014-04-28 17:56:19 +00:00
dan
6b6828625b
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
2014-04-28 15:11:25 +00:00
dan
9881d60d17
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
2014-04-28 12:08:23 +00:00
dan
b51926e67c
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
2014-04-28 10:00:59 +00:00
dan
e3bfbb7284
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
2014-04-28 09:35:31 +00:00
dan
440e6ff3b0
Fix an error in estimating of the number of rows visited by a range scan.
...
FossilOrigin-Name: d491de62fce69d93e89f65f7713972f7c2c451f7
2014-04-28 08:49:54 +00:00
dan
2dd3cdcfab
Fix an sqlite3_stmt_status() problem caused by recent changs on this branch.
...
FossilOrigin-Name: dee204092421a239f9f60ab83c3a5b3e24d1baea
2014-04-26 20:21:14 +00:00
drh
1f8bb4b0a8
Update requirements marks to fix typos in the requirements text.
...
No changes to code.
FossilOrigin-Name: f5a263658187250044afc1a74000e6f6962733ca
2014-04-26 19:23:14 +00:00
drh
453e0261df
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
2014-04-26 17:52:08 +00:00
dan
9940e2aa45
Avoid transfering records between tables unless the default values for all columns are the same. Fix for [f67b41381a].
...
FossilOrigin-Name: f8c4c495e6de1f124d205383d4bafa46accbff5c
2014-04-26 14:07:57 +00:00
dan
8ad1d8ba38
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
2014-04-25 20:22:45 +00:00
drh
b79c718f1a
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
2014-04-25 17:37:16 +00:00
dan
cfc9df76e1
Store values loaded from the stat1 table as logarithmic values in memory.
...
FossilOrigin-Name: 1bd74c49ddab6f53bb6eaa57907eff44c2580dd6
2014-04-25 15:01:01 +00:00
drh
9dfaf621d1
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
2014-04-25 14:42:17 +00:00