drh
443dbcf5ae
Comment and preprocessor macro cleanup.
...
FossilOrigin-Name: c0809b5e32c2ca0600098447a573e718eaeb319f
2013-07-29 15:54:06 +00:00
drh
b1eaa718fd
Add the experimental "query_only" pragma.
...
FossilOrigin-Name: 6557c407983b067449deb76bc4c5248de64e07dc
2013-07-11 15:22:31 +00:00
drh
648e264342
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS
...
value for sqlite3_db_status(). This is a cherry-pick of a sequence of five
checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70].
FossilOrigin-Name: 527121ac3cdc96ac33ad975c227a6685a2f7e999
2013-07-11 15:03:32 +00:00
drh
8f8c65f79b
Fix harmless compiler warnings in the progress callback logic.
...
FossilOrigin-Name: 908141d5bf7a9ad8f40c2332476847733eca7fdc
2013-07-10 18:14:29 +00:00
drh
13447bf6c7
Experimental "PRAGMA query_only=BOOLEAN" statement that is able to turn
...
write capabilities on and off.
FossilOrigin-Name: ece960c496717a3a6c25526ef77dd76b08d607bc
2013-07-10 13:33:49 +00:00
drh
40aa936f7f
Add a bit to the SQLITE_TESTCTRL_OPTIMIZATIONS option for sqlite3_file_control()
...
that will disable the use of SQLITE_STAT3 information in the query planner.
FossilOrigin-Name: 60c19b86797fb8a37f175545929883ebeff7f307
2013-06-28 17:29:25 +00:00
drh
1713afb025
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted.
...
FossilOrigin-Name: 59f98c5c241e5a61cd5b6d0e69b55a6b44c5cafc
2013-06-28 01:24:57 +00:00
drh
4f7d3a5f06
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes
...
"nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and
"nVdbeExec".
FossilOrigin-Name: 14f796963474350e7aee8d3757acd3315fe78e4f
2013-06-27 23:54:02 +00:00
drh
9e92a47bdf
Make sure that sqlite3_stmt_readonly reports false for
...
PRAGMA journal_mode and PRAGMA wal_checkpoint. Ticket [a589ec069e3].
Also keep track of whether a prepared statement does no reading or
writing.
FossilOrigin-Name: 1937fd8eec2c1da95a782d9dc63926d846b06bdc
2013-06-27 17:40:30 +00:00
drh
1031bd9958
Add the ability to disable the omit-join-table optimization for testing
...
purposes.
FossilOrigin-Name: d929df9b1ba214c27d8c437099a53ee9b07aa169
2013-06-22 15:44:26 +00:00
drh
6457a353bc
Modify the query planner interface so that it always passes in the result set.
...
This is the first step toward adding an optimization that will omit tables
from a join that do not contribute to the result.
FossilOrigin-Name: 2c2577e69ccb47f1af674a755e71221e2ca0b322
2013-06-21 00:35:37 +00:00
drh
e1e2e9acd6
Make the MIN() and MAX() macros available in sqliteInt.h. Add TUNING
...
comments to the NGQP and adjust costs slightly.
FossilOrigin-Name: 3a72af2a95b04b8e195ef17cb3e9d9021a4f0915
2013-06-13 15:16:53 +00:00
drh
4f402f26b1
Improved processing of DISTINCT.
...
FossilOrigin-Name: ba897100fed291d2025f68d09334f9985312298b
2013-06-11 18:59:38 +00:00
drh
8e23daf372
Fix the Parse.nQueryLoop state variable to work with NGQP.
...
FossilOrigin-Name: f1cac24f06b9c71cfa472fdcf2da4cd8689a7cc3
2013-06-11 13:30:04 +00:00
drh
c63367ef68
Fix some minor issues with logarithmic cost in NGQP.
...
FossilOrigin-Name: 69cf877283d362915edddf1822fbf7a9f86278b3
2013-06-10 20:46:50 +00:00
drh
6f32848d61
Move the definitions of the WhereLevel and WhereInfo objects out of
...
sqliteInt.h and into where.c. This will facilitate future refactoring
of the internal query planner data structures.
FossilOrigin-Name: 1574653b9b4522b489d4c62d9cf70166bb3bddfd
2013-06-05 23:39:34 +00:00
drh
7699d1c4e5
Refactor the ORDER BY optimizer in the NGQP so that it is easier to maintain
...
and so that it can support optimizing out GROUP BY and DISTINCT clauses.
FossilOrigin-Name: e605c468e3a1163167831c4a6220825c0b5d083b
2013-06-04 12:42:29 +00:00
drh
8030dc7b1f
Remove the definitions of objects that are no longer used: WhereCost,
...
WherePlan, and WhereBestIdx.
FossilOrigin-Name: 816f8add7e60de2ef8df4fdac090c244f8dbda39
2013-05-31 15:50:39 +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
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
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
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
319f677d57
First attempt to get ORDER BY optimization working in NGQP.
...
FossilOrigin-Name: 9fe20292558bb9422de91e35648cb834cbf3b306
2013-05-14 15:31:07 +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
a18f3d271e
Add the NGQP solver.
...
FossilOrigin-Name: 5d37587c50d8932b6357bfd03152a851510a4317
2013-05-08 03:05:41 +00:00
drh
f1b5f5b855
Begin inserting some experimental code for the next generation query planner.
...
FossilOrigin-Name: ccaf4c3f7e1ec45e058d594d9b5c26818a37722a
2013-05-02 00:15:01 +00:00
mistachkin
dd08ca0ff9
Add the #ifdefs for sqlite3ErrName() to sqliteInt.h as well.
...
FossilOrigin-Name: 400fc4c37ff34e84f5a129a083a567bda840278e
2013-04-30 07:58:15 +00:00
mistachkin
f2c1c99f15
Initial work on reforming usage of OSTRACE by the Windows VFS.
...
FossilOrigin-Name: b347b5d1a01301f44e6fd20ee03a9529ffd25788
2013-04-28 01:44:43 +00:00
drh
2bba8c249a
Reduce the default SQLITE_MAX_MMAP_SIZE slightly so that it fits in a
...
signed 32-bit integer.
FossilOrigin-Name: 460752b8575320163d2659bb7ff24aff41e2bb66
2013-04-26 12:08:29 +00:00
drh
aa87f9a68b
Make sure the affinity and datatype of sub-subqueries are initialized
...
prior to subqueries as the latter relies on the former.
FossilOrigin-Name: 39b4e6ff9316cc78ea88349091e195b8104d1e9e
2013-04-25 00:57:10 +00:00
drh
d16d0bc58b
Omit sqlite3_compileoption_used() entries that are not explicitly stated
...
on the compiler command-line, except keep SQLITE_THREADSAFE around so that
there is always at least one compilation option.
FossilOrigin-Name: 109d6767d2626741db1d15ed55e699ac3184a536
2013-04-16 18:24:34 +00:00
drh
9b4c59fa1b
Refactoring the mmap interface. The controlling pragma is now "mmap_size"
...
instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default. There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build. An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.
FossilOrigin-Name: ea1404a10abd7f68e1f8e0708c8a3199d1f79665
2013-04-15 17:03:42 +00:00
drh
a3a5bd9b62
Only consider AS names from the result set as candidates for resolving
...
identifiers in the WHERE clause if there are no other matches. In the
ORDER BY clause, AS names take priority over any column names.
Candidate fix for ticket [2500cdb9be].
FossilOrigin-Name: ad53924dcadffb95c6497c46c228c67e8f5370e4
2013-04-13 19:59:58 +00:00
drh
188d488409
Disable the use of memory-mapped I/O if the SQLITE_DISABLE_MMAP macro is
...
defined. Automatically define this macro for OpenBSD and QNX. Other
systems are likely to be added to the disabled list over time.
FossilOrigin-Name: 8a4314a398c6c6efb25e6993c826b7e60d9bb1f9
2013-04-08 20:47:49 +00:00
drh
a1f42c7c32
Add the SQLITE_CONFIG_MMAP_LIMIT configuration option for overriding the
...
SQLITE_DEFAULT_MMAP_LIMIT compile-time setting. Enhance "PRAGMA mmap_limit"
so that without a specific database name, it sets the limit on all database
files and changes the default for any future databases that might be added
using ATTACH.
FossilOrigin-Name: 78141d0a16dd1d56b575fccd149de7fa789cb06c
2013-04-01 22:38:06 +00:00
drh
0d0614bdc6
Memory-mapped I/O is now on by default. The "PRAGMA mmap_limit(N)" can be
...
used to issue a hint to the VFS to limit mmap space to N bytes. The VFS
is free to ignore that hint if desired. However, if "PRAGMA mmap_limit(0)"
is used, xFetch is never called.
FossilOrigin-Name: 1b37c4effdd03aa2ea938a71b4f22ed27391689b
2013-03-25 23:09:28 +00:00
dan
5d8a137218
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size".
...
FossilOrigin-Name: 6183f1bd86ceed76d22d9762f3d7eb33262c62d1
2013-03-19 19:28:06 +00:00
drh
1ccce44937
Fix the ORDER BY optimization with IN constraints when the RHS of the
...
IN constraint is a descending index.
FossilOrigin-Name: 62316ebaca933f7e5df2018e8360a2b74234f30a
2013-03-12 20:38:51 +00:00
drh
7a3e147ee2
Revised fix for the DESC ORDER BY and IN constraint bug,
...
ticket [4dd95f6943fbd18]. The previous check-in was incorrect.
FossilOrigin-Name: 8b2eb7a43b4580f04c14ea8600cf080e0e7f384d
2013-03-12 18:40:20 +00:00
drh
0fe456bb29
A proposed fix for the DESC ORDER BY bug of ticket [4dd95f6943fbd18].
...
Seems to work, but lots more testing is needed prior to moving to trunk.
FossilOrigin-Name: 614a038ad2fe111687d2bc1c0aa716d7eb8fdd7c
2013-03-12 18:34:50 +00:00
dan
881bd79293
Define _BSD_SOURCE when building on OpenBSD. This is required for fchmod().
...
FossilOrigin-Name: f9027cb47bdec8dcebf1f038921b28d9e9928c18
2013-03-11 13:37:52 +00:00
drh
4bde37027c
Truncate over-length source lines in sqliteInt.h to 80 characters or less.
...
FossilOrigin-Name: d71abab08518f0be1eb73c7068566ab813652318
2013-02-19 18:34:12 +00:00
drh
a4b05e2874
Allow an index to be used for sorting even if prior terms of the index
...
are constrained by IN operators.
FossilOrigin-Name: 2cef8b68f0e1216cf68bb7dd45a5a9a330748070
2013-02-13 01:00:35 +00:00
drh
d91c1a1768
Add extended error codes for constraint errors.
...
FossilOrigin-Name: 5461104668a49529577f21df97f6a0e7d8f0c679
2013-02-09 13:58:25 +00:00
drh
2d96b934c8
Loop through the elements on the RHS of an IN operator in reverse order when
...
the ORDER BY clauses specifies DESC.
FossilOrigin-Name: f78395c8896666bb1359b83fbcd58d5e3dbc39d3
2013-02-08 18:48:23 +00:00