6274 Commits

Author SHA1 Message Date
dan
4b72524072 Code constant vector components outside of any loops in CASE and BETWEEN
expressions. Fix for [1a684656].

FossilOrigin-Name: c08aff13ead3e6a8b92c0f031b08f7e556922e70
2016-11-23 19:31:18 +00:00
drh
4b4ffadb43 Merge bug fixes and enhancements from trunk.
FossilOrigin-Name: e2c4bdf54fc1b9605226c7d6c79ef4f8302d6213
2016-11-22 22:23:56 +00:00
drh
e74cc5c9bc Add a new requirement mark for CAST expressions.
FossilOrigin-Name: bee2859b953c935c413de2917588159d03c672d9
2016-11-22 20:29:05 +00:00
drh
50da663516 Update requirement marks to reflect changes in wording in the documentation.
No changes to code.

FossilOrigin-Name: f5ac98efb5d5f7751c5c560bed9c7885e60ac4bc
2016-11-22 19:15:05 +00:00
drh
89500dcd0b Enhance speedtest1.c so that is works on older versions of SQLite, before
the introduction of the group_concat() aggregate function.

FossilOrigin-Name: 9979ba80a649ee61d9d174dc9d9fcab7e9fc1332
2016-11-21 18:15:35 +00:00
dan
93f5113290 Remove the requirement to open the wal file before sqlite3_snapshot_recover()
is called. Also add some comments to new functions.

FossilOrigin-Name: 28393c413cc4505b94411730e728583c5d4baaae
2016-11-19 18:31:37 +00:00
dan
4d4757fcc8 Test some extra error conditions in sqlite3_recover_snapshot().
FossilOrigin-Name: db314213c08f27dd0ff5ede3c6a8eda36560809a
2016-11-19 17:30:57 +00:00
dan
20ba3d7fcb Add another fault-injection test for sqlite3_snapshot_recover().
FossilOrigin-Name: 7e040406138669bd67dd6ecae016b3e50dbfaaf8
2016-11-19 17:20:28 +00:00
dan
6a9e7f16eb Fix a problem causing sqlite3_snapshot_recover() to return
SQLITE_IOERR_SHORT_READ.

FossilOrigin-Name: 525f75fa9fd4a95acc3fb3b0a01dabe2be39b383
2016-11-19 16:35:53 +00:00
dan
5b4009f637 Fix a bug in sqlite3_snapshot_recover() that could cause subsequent read
transactions to use out-of-data cache entries.

FossilOrigin-Name: 9abeb7980a34cec11a3420e14ad98a4ec0d9c599
2016-11-19 14:53:22 +00:00
dan
1158498dce Add experimental sqlite3_snapshot_recover() API.
FossilOrigin-Name: 174a6076a8d7bebe5efebf55f3fdc5d87c589cc7
2016-11-18 20:49:43 +00:00
dan
edace5d4f1 Require that the database handle be in autocommit mode for
sqlite3_snapshot_get() to succeed. This is because it may open a read
transaction on the database file.

FossilOrigin-Name: 83b658dad091211ade3594d1e8d00ce525882506
2016-11-18 18:43:39 +00:00
dan
93006cdd85 Add tests for snapshot interfaces.
FossilOrigin-Name: 1f7ee7af7b620262ae663d65889b6a87415d4a34
2016-11-18 18:22:05 +00:00
dan
25accbca72 Enhance existing snapshot tests to serialize/deserialize snapshots. No new
tests.

FossilOrigin-Name: 16b9bf92741e4c62874cffd7c6a61763c5054c7a
2016-11-18 14:38:41 +00:00
drh
54cda4edbe Disable the query flattener optimization for SELECT statements that are on
the RHS of vector IN operators.  This is a hack that fixes the bug
described in ticket [da7841375186386c]. A better solution that does not
disable the query flattener is needed, but this will server for the time
being.

FossilOrigin-Name: 005d5b870625d175fdf3c0e87d974006c569d9e1
2016-11-17 13:13:25 +00:00
drh
d2d69cc1fa Add a needed #include to speedtest1.c.
FossilOrigin-Name: 77aeb705c37b1bf61a05b5e4a09f5b5cd67d07bc
2016-11-15 21:17:13 +00:00
drh
5413ba4b17 Add 8794 new test cases received from the OSS-FUZZ project.
FossilOrigin-Name: 03f75a67c320f21192d721a8c34d49dea48ffdbb
2016-11-14 20:47:18 +00:00
drh
588429a87d Fix a potential use-after-free error during parsing of malformed
CREATE TABLE statement.

FossilOrigin-Name: c5dbc599b910c02a961675b12b273b8df6d29450
2016-11-14 20:08:00 +00:00
drh
362b66f051 Enhance fuzzcheck.c to accept database-specific configuration parameters in
the option CONFIG table.  Add the fuzzdata5.db fuzz database containing
test cases from OSS-FUZZ.

FossilOrigin-Name: a71fad4538311ede111815d221d9eb8d9018092b
2016-11-14 18:27:41 +00:00
drh
55377b4717 Fix the ossfuzz.c test module so that it does not segfault after a
"PRAGMA empty_result_callbacks=1;".  Add the ossshell.c program for
simple command-line testing of ossfuzz.c.

FossilOrigin-Name: 6f2d43eca68175ed28abae3afa792095af906af2
2016-11-14 17:25:57 +00:00
dan
4a5bad572a Fix a problem with switching from wal to rollback mode when
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE is configured.

FossilOrigin-Name: 46e0016207b8e7df2ae6c7491fd0f3c2926eed21
2016-11-11 17:08:51 +00:00
drh
ea432ba2df Add the test/ossfuzz.c interface adaptor for OSS-FUZZ. Make previsions for
testing the adaptor using fuzzcheck.c.

FossilOrigin-Name: 119d6ef8478ea6ab07dfd0e974d2f5a8dcfce87e
2016-11-11 16:33:47 +00:00
dan
3bafdede8a Handle some obscure "row value misused" cases that could cause segfaults or
assertion failures.

FossilOrigin-Name: fba5fddb1c40af75634b01c1f06d2610df697e01
2016-11-11 15:49:01 +00:00
drh
4e8142c726 Back out the "--raw" option on ".read" in the command-line shell. Instead,
fix the command-line shell so that if EOF is reached without seeing a
final semicolon, it goes ahead and passes the accumulated SQL text to
SQLite.

FossilOrigin-Name: f98c8ac8c485098f163400d3a92d6afb4008adbe
2016-11-11 14:54:22 +00:00
dan
b47ebe6128 Add extra tests for the xBestIndex() virtual table method.
FossilOrigin-Name: 642a8fba91d2bf61b494b845cb499714363209b1
2016-11-11 09:51:46 +00:00
drh
4360fcea6d Take care not to try to generate code for the ATTACH and DETACH commands
if there were syntax errors during parsing.
Fix for ticket [2f1b168ab4d4844]

FossilOrigin-Name: b0ff183b8ffdbebece06cfea1c6781fc0e8e8547
2016-11-11 03:37:24 +00:00
drh
088c086b14 Add a DISTINCT query to speedtest1.c. Also change INSERT OR REPLACE into
just REPLACE.

FossilOrigin-Name: 754ee844958bdc3b96acfd1f5395da5796e54a82
2016-11-09 01:07:10 +00:00
drh
0a22c865e4 Fix the speedtest1.c test program so that it gives closing "%" wildcards
on LIKE searches.

FossilOrigin-Name: c2f84f637f994c3b4522b48161185a4a2c5bca23
2016-11-08 16:27:59 +00:00
drh
662389b265 Tweaks to speedtest1.c to better reflect mobile usage based on findings in
the "Pocket Data" paper by Kennedy, Ajay, Challen, and Ziarek.

FossilOrigin-Name: b5733cae3c519482cf6bc642bd63814afb113d35
2016-11-08 00:30:11 +00:00
drh
ad875e7416 Fix the JSON1 extension so that the JSON validator correctly rejects malformed
backslash escapes within string literals.

FossilOrigin-Name: 7a63539169a384960e30a63e0c8e9b0f07fa431e
2016-11-07 13:37:28 +00:00
dan
a2bfa046ea Avoid a crash that can occur after an obscure OOM in the built-in INSTR()
function.

FossilOrigin-Name: b86b79c442a58d10aa005ba4f34095375a88d242
2016-11-04 12:05:29 +00:00
drh
b1c9633493 Mark the ICU extension functions as deterministic.
FossilOrigin-Name: afbbb6c66a85ff3f4c8dce677e0892a2a51d2b8e
2016-11-04 12:03:26 +00:00
dan
792557ac67 Fix a test case in vacuum5.test so that it works with the in-memory journal
permutation.

FossilOrigin-Name: 81c86401463df6be4ac21987b3b1703e38ab933b
2016-11-04 07:25:43 +00:00
dan
af58068550 Fix a test case in vacuum5.test sot aht it works with
-DSQLITE_ENABLE_ATOMIC_WRITE.

FossilOrigin-Name: 3ca80010397676eca57c8a4c9b3a9c2c40629663
2016-11-03 19:24:14 +00:00
dan
7df9b8e6e4 Fix a test case in vacuum5.test so that it works with -DSQLITE_TEMP_STORE=2.
FossilOrigin-Name: f5dd95e25c703a825ad7af9a4b3886bd3ef8c2e8
2016-11-03 19:01:20 +00:00
drh
506a1400a3 Adjust the MSVC makefile to use Tcl8.6 by default.
FossilOrigin-Name: def8f598b8e33b5bab3a024cc57f4c5e300cd8cd
2016-11-02 19:49:22 +00:00
dan
75ba676790 Fix an issue that was causing the new database image to be assembled entirely
in heap memory when VACUUMing a database, even if it should use a temp file.
This could cause SQLITE_NOMEM errors when vacuuming very large databases on
32-bit systems.

FossilOrigin-Name: 3028845329c9b7acdec2ec8b01d00d782347454c
2016-11-02 14:50:19 +00:00
dan
298af02308 Add the SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE sqlite3_dbconfig() option - for
disabling SQLite's default checkpoint-on-close behaviour.

FossilOrigin-Name: 093d2fc2288b75c15ccf877bfa0e622d3918a562
2016-10-31 16:16:49 +00:00
dan
dadafa881f Remove the mutex from test_multiplex.c.
FossilOrigin-Name: 6374978e8f1ac091394a9f5a1896be92af658bcd
2016-10-27 14:51:02 +00:00
drh
c52496f57f Make sure left-join markings are transferred to the virtual scalar
subexpressions when decomposing a vector comparison in the ON clause of
a LEFT JOIN.
Fix for ticket [fef4bb4bd9185ec8f].

FossilOrigin-Name: 619f5cc71774a37648e185c8502d7af14eb09b7f
2016-10-27 01:02:20 +00:00
dan
b40897ab5e If all branches of an OR optimize scan that is the rhs of a LEFT JOIN use the
same index, set the index cursor to return NULL values if there are no matches
for a row on the lhs.

FossilOrigin-Name: e7b9bc678ecb75c594d9d3ade12a99a8d551cdc9
2016-10-26 15:46:09 +00:00
dan
635f83c062 Add extra tests to check the result of including a %00 escape in a URI
when ENABLE_URI_00_ERROR is defined.

FossilOrigin-Name: 1aaa06e37f44309c62335d8eda59ca6890d4be9d
2016-10-26 13:44:07 +00:00
dan
5c35e90377 Add compile time option SQLITE_ENABLE_URI_00_ERROR. If defined, any "%00"
escape found in a URI is treated as an error.

FossilOrigin-Name: e8a9bfece27e2af178a206ad6bce3f24d64e7ee4
2016-10-26 12:15:41 +00:00
dan
01e697b4ec Add test case to demonstrate a "BEGIN EXCLUSIVE" command returning
SQLITE_BUSY_SNAPSHOT.

FossilOrigin-Name: b115856408b6aa5538be67beb619d7aff0630bea
2016-10-25 15:06:11 +00:00
dan
ceb97c1107 If SQLITE_DIRECT_OVERFLOW_READ is defined at compile time, add "DIRECT_OVERFLOW_READ" to the list of symbols returned by "PRAGMA compile_options".
FossilOrigin-Name: b7d9727bff2e840af4b090872c991693e78e6076
2016-10-21 10:09:22 +00:00
dan
86873baa58 Add test case to incrblob4.test. No changes to code.
FossilOrigin-Name: fd9c6ff05f2052810549a1a6a384f4b40f4ba4ac
2016-10-20 11:48:48 +00:00
drh
ba69061ebc Fix harmless uninitialized variable warnings in speedtest1.c.
FossilOrigin-Name: 2aa7a03b8632dbfd9741018b5b19c372dcfd3647
2016-10-18 15:29:57 +00:00
drh
f8a89ca5dd Add the --repeat option to speedtest1.c and speed-check.sh.
FossilOrigin-Name: 6ca0e06b21b0d5f7ae5bcb7839a11a45da0d2cea
2016-10-18 14:35:55 +00:00
mistachkin
5f0b8a0e30 Corrections to a couple recently added 'filectrl.test' results.
FossilOrigin-Name: 3d89dc4544bc51f8c9fa63a6ecf0458f6d10fc9f
2016-10-17 18:33:36 +00:00
dan
1480095ff5 Changes to support interrupting a checkpoint using sqlite3_interrupt().
FossilOrigin-Name: c88d36e251abec24aa7e37cf550e148904b9fd2d
2016-10-17 15:28:39 +00:00