1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-21 09:00:59 +03:00
Commit Graph

14444 Commits

Author SHA1 Message Date
drh
29894b6d2b When the WHERE clause contains two OR-connected terms with identical
operands but different operators, try to combine them into a single term.
Example:  (X=A OR X>A) becomes (X>=A).

FossilOrigin-Name: 8bdda827a3d268009297a0216e3d94bf0eceeb2e
2015-03-16 17:48:12 +00:00
drh
75a4d7c3da When deleting the master journal to commit a multi-database transaction, do
not sync the directory if PRAGMA synchronous=OFF for all participating
database files.

FossilOrigin-Name: 018d7671402a0f8103d1306641655b69f9fa235d
2015-03-16 16:44:55 +00:00
dan
5f881b8c8d When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples. This generates more accurate estimates.
FossilOrigin-Name: 3e0590dee0e68cc1599858757c650a7378026170
2015-03-16 16:28:43 +00:00
drh
8cdcd87c53 Use #ifdef to omit code that is only used for STAT3 and STAT4.
FossilOrigin-Name: f2c9c5b57b7739daafc44e8ec36d4a2beacd5f17
2015-03-16 13:48:23 +00:00
drh
c03acf2ea7 Improved comments. No code changes.
FossilOrigin-Name: 23f71a26386ff2aff9800fe96cec1dc9c805b5b6
2015-03-16 13:12:34 +00:00
drh
8426636cdc When a WHERE clause contains disjuncts with the same operands, try to
combine them into a single operator.  Example:  (x=A OR x>A) becomes
(x>=A).

FossilOrigin-Name: 7a3097689d17625fb0dfc4372712f375f3bdb9a1
2015-03-16 12:13:31 +00:00
dan
a3d0c13654 When estimating the number of rows visited by a range scan for which the keys consist of more than one field, consider prefixes of stat4 samples as well as the full samples.
FossilOrigin-Name: e1caf93c9ad0ee15d42030af95619f212d3fcf9d
2015-03-14 18:59:58 +00:00
dan
3df3059252 Extra tests for commit [0f250957].
FossilOrigin-Name: 5aa522dcb9bfa18d49683f7cc889516984e2bcd2
2015-03-13 08:31:54 +00:00
drh
3df79a9a1f Fix the "now" option for date-time functions for cases when STAT4 is disabled.
FossilOrigin-Name: 3ac1f6a3cf1a8fd3ab1ca96b2564c13c4b8d2234
2015-03-12 23:48:27 +00:00
drh
3795f3cee3 When STAT4 is enabled, allow probes of the STAT4 table using the value
of constant functions computed at compile-time.

FossilOrigin-Name: 0f250957cd82be63e44eb99be6cc10760f4fdfc4
2015-03-12 21:22:08 +00:00
drh
96f4ad20fd Always disallow functions as the DEFAULT of a column. Add assert()s and
FossilOrigin-Name: a991bb1a9eb54bdbd45bd623e8b304bdfeb481a3
2015-03-12 21:02:36 +00:00
dan
63c088e783 Disable multiplexing of master-journal files in the test_multiplex.c module.
FossilOrigin-Name: b8684df395b5585a9428417c2bfd076515560f19
2015-03-12 19:12:30 +00:00
drh
81367381a9 If an error occurs in the compile-time evaluation of an application-defined
function, then propagate back out the exact error code, not just the
generic SQLITE_ERROR.

FossilOrigin-Name: 93f42586cc9db63c5a4599ce06630e60204a5bc9
2015-03-12 18:38:51 +00:00
drh
a9e03b1b82 The valueFromFunction() routine is better able to handle OOM errors.
Omit unreachable branches.

FossilOrigin-Name: 8fb6bd9be59d6b04e922d7b246aaefd4851539b6
2015-03-12 06:46:52 +00:00
drh
0a0d0560ab Improve the text on one of the opcode documentation comments in vdbe.c.
FossilOrigin-Name: 08958f57970d2346f3e98e62225e2b5d351d12d8
2015-03-12 05:08:34 +00:00
dan
cdcc11d7d4 Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column.
FossilOrigin-Name: ff868e22ca0393eaac417872a4c10738f0d7d970
2015-03-11 20:59:42 +00:00
dan
18bf807689 Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data.
FossilOrigin-Name: b7f1fc26d24012e1e7c7f6b3cc0b84ad2b02b8ad
2015-03-11 20:06:40 +00:00
drh
bbf76eec34 Arrange for some of the transient locks in WAL mode to block, as a single
to the OS to fix priority inversions.

FossilOrigin-Name: c6e6d5f4e06c3ac0bfb620c0c728fbc7230c4a02
2015-03-10 20:22:35 +00:00
drh
a9106ca83d Merge recent trunk enhancements into the ota-update branch.
FossilOrigin-Name: 5489cb68921f62f10d832adbc4d19ea8c6c5da50
2015-03-09 13:24:46 +00:00
drh
c11a172d5f Merge recent trunk enhancements into the sessions branch.
FossilOrigin-Name: 68c8937e83b770d5ec6b1855c1bde81057c11b5f
2015-03-09 13:07:45 +00:00
drh
8031462939 Fix the LIKE optimization so that it works even if there are additional
range contraints on the column that is subject to the LIKE or GLOB.

FossilOrigin-Name: 984c3fd5261619fb542a5a95dab37707b5d79dbf
2015-03-09 13:01:02 +00:00
drh
a40da62dd4 Always use LIKE optimization range constraints in pairs.
FossilOrigin-Name: 0e02dc94fd1bb891d0edd1e34b57e923b17712a7
2015-03-09 12:11:56 +00:00
drh
52fc05ba1c Fix another problem with the LIKE optimization.
FossilOrigin-Name: 465bfc72d252f94778248253142faeba78ceea02
2015-03-07 20:32:49 +00:00
drh
ab87a5e5b8 Remove some code that is commented out.
FossilOrigin-Name: 55ff429177acfdab056a16a67361a5381115c6c7
2015-03-07 03:02:38 +00:00
drh
b7c60ba668 Fix problems with reverse order sorting and indexes in the LIKE optimization.
FossilOrigin-Name: 564b8fe79475d7584a21078e6098840b8ce6a6e1
2015-03-07 02:51:59 +00:00
drh
16897072b5 Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero.
Fix the LIKE optimization to work with DESC sort order.

FossilOrigin-Name: 26cb5145bf52f8c3fffa8c69b6c24aee4d974883
2015-03-07 00:57:37 +00:00
drh
a9c18a9067 Test cases added. Comments fixed. Proposed solution for
ticket [05f43be8fdda9fbd9].

FossilOrigin-Name: 6b993bd54035b67f4d84941e3f444ca79b7feee1
2015-03-06 20:49:52 +00:00
drh
8f1a7ed33f Fix the LIKE optimization even when comparing mixed-case BLOBs.
FossilOrigin-Name: a58aafdb4e1422b6a8ffc07a67984928bbedf919
2015-03-06 19:47:38 +00:00
drh
f07cf6e2a5 The LIKE optimization must be applied twice, once for strings and a second
time for BLOBs.  Ticket [05f43be8fdda9f].  This check-in is a proof-of-concept
of how that might be done.

FossilOrigin-Name: 5757e803cb5759b476bbc6453c58340089611420
2015-03-06 16:45:16 +00:00
drh
8dd7a6a925 Clearification of some documentation text. Added requirements marks.
FossilOrigin-Name: 8c1e85aab9e0d90726057e25e2ea0663341c070f
2015-03-06 04:37:26 +00:00
drh
0266c05fcb Clarification of documentation on sqlite3_backup.
FossilOrigin-Name: 31d5e9b42e5c96207187dcde1cbbb1e79f26fca2
2015-03-06 03:31:58 +00:00
drh
5e7028c210 Revert "PRAGMA index_info" to output only three columns, for complete
compatibility with prior versions.  The new "PRAGMA index_xinfo" can be
used to get the extra information in 4th, 5th, and 6th columns.

FossilOrigin-Name: fc543c2c5ced30a7dc3a05b0c1ad80fdc838df8e
2015-03-05 14:29:02 +00:00
drh
682a6ef6bd New requirements marks on INSERT and INDEXED BY and on some sqlite3_config()
options.

FossilOrigin-Name: c298ea0bd90d63673435bf8ceafbaeba3db6187d
2015-03-04 23:14:14 +00:00
drh
33e1327a22 Refinement to the wording of the documentation on depreciated functions.
FossilOrigin-Name: 04a59d6f7ecbf769bd127a9071348b51ce8463f8
2015-03-04 15:35:07 +00:00
drh
39f2d0963e Remove a surplus </dl> mark in the documentation. No changes to code.
FossilOrigin-Name: 5450e4650b2dedf3626bbe5a64b680dbd4011173
2015-03-04 15:25:03 +00:00
drh
e89b291828 Clean up #ifdef logic dealing with VxWorks in os_unix.c. On VxWorks,
automatically use posix advisory locking if it is available or fall back
to named semaphore locking if not.

FossilOrigin-Name: ac8c7ca3db14ec19be1f19cfaf14b47fdda0c9ef
2015-03-03 20:42:01 +00:00
drh
91eb93c797 Fix compiler warnings when compiling under VxWorks 7.
FossilOrigin-Name: 55c21521a64703d7050c7f8975538f4cfae95eb7
2015-03-03 19:56:20 +00:00
drh
4a4b138965 Enhance SQLITE_ALLOW_URI_AUTHORITITY to elide //localhost/ and to deal
with dodgy URIs that contain too many "/" characters.

FossilOrigin-Name: 39b566a2d0916c57f3fac756c6d6af149b44781d
2015-03-03 16:58:56 +00:00
drh
3ba689d8ba Fix over-length source code lines in the main.c source file.
FossilOrigin-Name: debba6f161090bf9db1458fb3767d80d8362a73f
2015-03-03 14:00:11 +00:00
drh
8cd5b2546f Changes so that the amalgamation and the command-line shell build without
modifications on VxWorks 7.  Still gives a few compiler warnings, and still
mostly untested on that platform.

FossilOrigin-Name: 7d92f1f11ee69b0ba7d5a48f0611016d77d41c78
2015-03-02 22:06:43 +00:00
drh
8e8e7ef363 Ensure that automatic indexes are *not* considered when doing the the subqueries
of the OR-optimization.

FossilOrigin-Name: 17890292cf1776b3334fca7eff693cdbea458304
2015-03-02 17:25:00 +00:00
drh
534f4dfa3c In the command-line shell, the inability to read ~/.sqliterc is no longer
a fatal error.  A warning is issued, but processing continues.

FossilOrigin-Name: 6bf6246306e6fd490766c0a05932be52a0ed66f2
2015-02-28 14:03:35 +00:00
drh
51a74d4cbd More test cases and requirements marks for pragmas.
FossilOrigin-Name: fc51037cd97063069620213a62efdeff5d898706
2015-02-28 01:04:27 +00:00
drh
e0e8429543 Remove all references to SQLITE_DEFAULT_TEMP_CACHE_SIZE. Add requirements
marks related to cache_size changing.

FossilOrigin-Name: 766ad65025a9d5815300978e6e349f5af5db6012
2015-02-27 21:53:35 +00:00
drh
9d356fbe6e New requirements marks and a few new test cases to go with them. No changes
to code.

FossilOrigin-Name: 8c2b29d9acb92d47f4deec21a7c2dca52db63345
2015-02-27 20:28:08 +00:00
mistachkin
0404e74caa Merge updates from trunk.
FossilOrigin-Name: acf7684323da4dc3aaf9746bd13b0f56054a17dd
2015-02-27 19:40:08 +00:00
drh
22ec13466c Add a couple of requirements marks.
FossilOrigin-Name: d70b0fd4c94f2b70cf31c2ab9ef7a2fb2e71c182
2015-02-27 00:33:15 +00:00
drh
05f6c67cc1 Fix a real bug (in test code) that was introduced while trying to eliminate
harmless compiler warnings from OpenBSD (see check-in [10321910990195878c]).

FossilOrigin-Name: a62ba58c737656fae620d9cdaaae299104ac06f6
2015-02-26 16:32:33 +00:00
drh
c941a4b3b6 Simplifications to the description of the nByte parameter to sqlite3_prepare()
and friends.

FossilOrigin-Name: 4bee8295e36fb61f903210b6d052ee9b8fb3b6d0
2015-02-26 02:33:52 +00:00
drh
cbb3f33c56 Make sure the sqlite3_mutex.id field is initialized in the Win32
mutex implementation, even when SQLITE_DEBUG is turned off.

FossilOrigin-Name: 6d132e7a224ee68b5cefe9222944aac5760ffc20
2015-02-25 14:25:31 +00:00