drh
6fa978dade
Futher simplifications to the NGQP. Fix some test cases to use
...
EXPLAIN QUERY PLAN rather than the (now obsolete) sqlite_query_plan
global variable.
FossilOrigin-Name: ae985db4fa08b5efbef5a834e852f0b05101264b
2013-05-30 19:29:19 +00:00
drh
7ba39a921a
Cut over the NGQP query planner. Remove lots of legacy code.
...
This check-in compiles but does not work. The test suite gets incorrect
answers and crashes.
FossilOrigin-Name: 001539df4b74dc1cbceb010a91407003ab4d8735
2013-05-30 17:43:19 +00:00
drh
e1e9766dee
Merge recent trunk changes into the NGQP branch.
...
FossilOrigin-Name: aebe1f2603ee04d792af73aaf59625bda99d5cd1
2013-05-30 11:48:36 +00:00
drh
ee0231ef52
Updates to the Codec interface to support codecs on attached databases and
...
to allow rekeying in the middle of a transaction. These changes are only
applicable if SQLite is compiled with SQLITE_HAS_CODEC.
FossilOrigin-Name: d5b084e9d8cfe9c0c339aca076d472bb50aa764c
2013-05-29 17:48:28 +00:00
drh
def3367e50
Add the percentile() SQL function as a loadable
...
extension in the ext/misc directory.
FossilOrigin-Name: a64d760d9290b1be78cdda7ae66d4f02c3b3fa53
2013-05-28 20:25:54 +00:00
drh
cda73feaa2
Finish removing the sqlite3.inTrans field. In the previous check-in, it was
...
merely commented out because I failed to select File->Save on my text editor.
FossilOrigin-Name: 2f97e38a6611cb17c24d74332d3ac3777dc0dd3e
2013-05-28 17:30:52 +00:00
drh
4580d759fb
Remove the obsolete and unused sqlite3.inTrans field.
...
FossilOrigin-Name: c3381cd4957013d46075996c3b865177c888d2a8
2013-05-28 17:25:48 +00:00
drh
f7b5496e8e
Many small harmless comment changes. Removal of obsolete comments and
...
fixing misspelled words. No changes to code.
FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
drh
88da644f2c
Update the NGQP to record which loops need be run in reverse order to
...
satisfy ORDER BY clauses.
FossilOrigin-Name: 211f7a5374fe20a02535edc8b799a8a7136ff6b3
2013-05-27 17:59:37 +00:00
drh
3bd26f0543
Record in the WhereLoop object the set of virtual table constraints that
...
need not be separately checked.
FossilOrigin-Name: b49fa74561f38c945be6149693678fd6518c2de4
2013-05-24 14:52:03 +00:00
drh
7c4ac9860c
Merge the latest trunk changes into the NGQP branch.
...
FossilOrigin-Name: 7c8f992c04504a132686ad0652efdff19e43480d
2013-05-24 13:55:23 +00:00
drh
40b521f847
Set _XOPEN_SOURCE to 600 so that fchmod() will (hopefully) work on FreeBSD.
...
FossilOrigin-Name: 61a10452399db28cd5ea4ba9d416b87a34c2eddb
2013-05-24 12:47:26 +00:00
drh
c2bed0a2c9
Fix harmless compiler warnings in the shell.
...
FossilOrigin-Name: 9e2c17c5358b156b588542dbba38da7fedf5302b
2013-05-24 11:57:50 +00:00
dan
3719f5f600
Avoid unnecessary calls to FCNTL_SIZE_HINT. Return an error to the user if the file-control invoked by "PRAGMA mmap_size" returns a value other than SQLITE_OK or SQLITE_NOTFOUND.
...
FossilOrigin-Name: 40cfde8b4a59a09e52e62f9f029f8d3b32eb15fa
2013-05-23 10:13:18 +00:00
drh
34e258c942
Cause the mmap_size PRAGMA to immediately change the mmap space if the
...
database connection is already active. In particular, reducing mmap_size
will immediately free up process address space.
FossilOrigin-Name: 761177927cb51e4f5e66061ca39cf37edbe8346b
2013-05-23 01:40:53 +00:00
drh
ef86637655
Use the NGQP plan for EXPLAIN QUERY PLAN output. This change causes 207
...
errors in veryquick.test, many of which are benign.
FossilOrigin-Name: f783e8e6b10de44029c7c5f57e4648a4a677ca1b
2013-05-22 20:49:02 +00:00
drh
0f133a4832
Allow the rowid at the end of an index to be used in a constraint on that index.
...
FossilOrigin-Name: 9bf0524df7ca2e7fcd92b2878a8457264b3c7f6e
2013-05-22 17:01:17 +00:00
drh
a50ef114f4
Improvements to ORDER BY handling in the NGQP. Fix an "exit" mistakenly
...
left in a test script during the previous check-in.
FossilOrigin-Name: 12c709b4369c7d94d7fb743d0d0da7a9350a3d16
2013-05-22 02:06:59 +00:00
drh
d15cb17174
Enhanced "wheretrace" output in the NGQP solver routine.
...
FossilOrigin-Name: 04dfb85a2a7025d4b5056b73fa8477691323919f
2013-05-21 19:23:10 +00:00
drh
23f98daabb
Work toward improving the NGQP's ability to optimize out ORDER BY clauses.
...
FossilOrigin-Name: 67367f1e1f0c3eb6be65eea9873910aa62b49884
2013-05-21 15:52:07 +00:00
drh
81ec8c910b
Merge in all trunk changes up through the 3.7.17 release.
...
FossilOrigin-Name: 14ab6675e5eab3761256a06dad23d2b11220788a
2013-05-20 15:14:42 +00:00
drh
e8601c6561
Fix a bug in SQLITE_TRACE_SIZE_LIMIT that was introduced by
...
check-in [1a1cf5aa86734c8]. That check-in was to remove harmless
compiler warnings. So once again, we have introduced a real bug
into SQLite by attempting to eliminate a harmless compiler warning.
FossilOrigin-Name: cec2bcb45aa3f0438e19381ac863f0f876a1d1ad
2013-05-17 17:15:34 +00:00
dan
5b15b75ada
In test file test_syscall.c, include sqliteInt.h before any tcl or system include files. This ensures that the magical defines in sqliteInt.h really do enable large file support (and set things up so that sizeof(off_t)==8).
...
FossilOrigin-Name: 0f355bb17f256c6322e63a95835a67949aa48fb3
2013-05-17 16:41:15 +00:00
dan
ede01a97d3
In os_unix.c and os_win.c, initialize the default mmap-limit of a new file descriptor to the current global default mmap-limit, not the current global maximum allowable mmap-limit.
...
FossilOrigin-Name: 1def4ea3a02afc19648f4cd928b247f8fa55da80
2013-05-17 12:10:52 +00:00
mistachkin
6e8752d487
Fix compilation with SQLITE_OMIT_WAL on Win32.
...
FossilOrigin-Name: 6d45a79fb18dcd305cc41c525060e42f2402bd77
2013-05-16 12:41:49 +00:00
dan
617dc8602d
In sqlite3_close_v2(), do not attempt to roll back a transaction if there exist active statement objects. Any open transaction will be rolled back when the last of these statement objects is finalized.
...
FossilOrigin-Name: d11e76072a17fe833b87595d9d79f2c4b0b09cb3
2013-05-16 11:57:28 +00:00
drh
58a450c041
Treat identifiers in the HAVING clause the same as in the WHERE clause.
...
Only consider AS names from the result set to match if there are no other
matches. Continuation of the fix for [2500cdb9be05]. This check-in
fixes a bug found by [http://www.sqlite.org/sqllogictest/ | SqlLogicTest]
during release testing for version 3.7.17.
FossilOrigin-Name: 9ffff3d05226bbd01a0745dd0a511776358253c0
2013-05-16 01:02:45 +00:00
drh
6fdd3d8aa0
The sqlite3ExprCollSeq() function can no longer be called while parse
...
the schema, so remove the code path inside of sqlite3ExprCollSeq() that
dealt with that case.
FossilOrigin-Name: 867b3e3b29a357f68e48f0898bf323c5dd0575a4
2013-05-15 17:47:12 +00:00
dan
91cf9ba339
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 47dd65a890955f333d431e275f3f4d95d34a5ba5
2013-05-15 15:42:14 +00:00
dan
911ce41818
When loading a database schema that contains an index definition that includes a COLLATE clause for which the collation sequence is unavailable, do not assume that that index uses BINARY instead. Fix for [0fc59f908b].
...
FossilOrigin-Name: 6dae62c4e505a9a1a22c2771ef3e1921407c4748
2013-05-15 15:16:50 +00:00
dan
6743081784
When closing a connection, avoid tripping active cursors belonging to a different shared-cache client. Also, if sqlite3_close() is called while there are still active statements belonging to the connection, return SQLITE_BUSY and do not roll back any active transaction.
...
FossilOrigin-Name: 6071b7cce067c807e040283fc4b7449dc6eca498
2013-05-15 10:21:50 +00:00
drh
35cbe7f523
Merge together the fork in this branch.
...
FossilOrigin-Name: 164e3d4da20cc16d2a04d602b5a8229e0db99d9d
2013-05-14 23:13:41 +00:00
drh
85ec3b63d8
Fix an assert() in unlockBtreeIfUnused() so that it checks for the existance
...
of an untripped cursor, not for the existance of any cursor at all.
FossilOrigin-Name: a6f851d0fe01d8c8d44a2fe0b716ff7a5194c63b
2013-05-14 23:12:06 +00:00
dan
bf0e57a7d0
Avoid deleting a b-tree "has-content" vector belonging to another shared-cache connection from within sqlite3_close().
...
FossilOrigin-Name: 93462df78247f5634b9f53752cf80056bbfe9aac
2013-05-14 20:36:31 +00:00
drh
319f677d57
First attempt to get ORDER BY optimization working in NGQP.
...
FossilOrigin-Name: 9fe20292558bb9422de91e35648cb834cbf3b306
2013-05-14 15:31:07 +00:00
dan
cd7b91a7f1
Candidate fixes for problems revealed by notify2.test. Notify2.test is still failing at this point.
...
FossilOrigin-Name: ea0428f9b6e63066e7444a2ba2f8c12a2e3ab7e4
2013-05-13 18:23:15 +00:00
drh
0823c89c9b
Minor fixes to the OR-clause processing in the NGQP.
...
FossilOrigin-Name: d6946f33c7851aa7efb04b93ac2ae1ac50c26eec
2013-05-11 00:06:23 +00:00
drh
cf8fa7a65b
Now generating OR-clause plans.
...
FossilOrigin-Name: e17003fcfec0c0b524b1b9ff8e15e7ee83efa571
2013-05-10 20:26:22 +00:00
drh
eb04de3224
Update the NGQP so that it can produce plans that include automatic indices.
...
FossilOrigin-Name: 586b55d8d7722de1c0530b3b832bae0511e6d05c
2013-05-10 15:16:30 +00:00
drh
b2a90f09b8
Factor out common operations into whereLoopAddAll(). Add stubs for
...
missing features.
FossilOrigin-Name: 0278e420614e02fb2d8474ed99b0904275882dfe
2013-05-10 03:30:49 +00:00
drh
2b344c7220
Merge in the latest trunk changes.
...
FossilOrigin-Name: 5ed31c8279a4f465b982df5dc20cefc286928b93
2013-05-10 02:11:40 +00:00
drh
6b7157bbd5
Free up bits of wsFlags for reuse. Install the ORDER BY optimization
...
infrastructure for the NGQP.
FossilOrigin-Name: 82d50e198025a2fdb8ee733edb8419d388ee5362
2013-05-10 02:00:35 +00:00
drh
6cf9d8d63a
Add assert()s to the implementation of xRead() in the built-in VFSes to
...
verify that the offset parameter is always non-negative.
FossilOrigin-Name: cf5c3642247fdd34d87f0368594cd7b8f081636a
2013-05-09 18:12:40 +00:00
drh
b3129fa560
Do not move WHERE clause terms inside OR expressions that are contained
...
within an ON clause of a LEFT JOIN. Fix for ticket [f2369304e47167e3e].
FossilOrigin-Name: 1128575d0ab24f7023a0f6e6ce4828b9a09a7c6c
2013-05-09 14:20:11 +00:00
mistachkin
0bf3bc6c64
Refine and reform all Windows OSTRACE macro usage. Replace all usage of sqlite3TestErrorName() with sqlite3ErrName() and add missing return codes.
...
FossilOrigin-Name: 610425f19008b8b5d4bf027c8b14d97ec3115a54
2013-05-09 00:40:13 +00:00
drh
c718f1c894
Fix memory leaks in the NGQP logic for virtual tables.
...
FossilOrigin-Name: 3c2e83a4a2c5e85202162feeb37ef7a3911c05a3
2013-05-08 20:05:58 +00:00
drh
5346e95dda
NGQP working with virtualt tables, though many legacy tests fail and there
...
are yet some memory leaks.
FossilOrigin-Name: bd9327a9684b99978734ccd561eea1ad864ab13b
2013-05-08 14:14:26 +00:00
drh
a184fb87b8
More bug fixes to the WhereLoop generator and the solver in NGQP.
...
Now finds the best plan for TPC-H Q8. This seems to prove the
concept, but there is still much work to be done.
FossilOrigin-Name: 8e5aad37529ec3042e3468acf15186f566e2df8a
2013-05-08 04:22:59 +00:00
drh
f204dac1e3
Bug fixes in the solver.
...
FossilOrigin-Name: b36034bbd19bc5677b26a6f60ca96eb2b37db373
2013-05-08 03:22:07 +00:00
drh
a18f3d271e
Add the NGQP solver.
...
FossilOrigin-Name: 5d37587c50d8932b6357bfd03152a851510a4317
2013-05-08 03:05:41 +00:00