]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Sat, 30 Dec 2017 18:32:27 +0000 (18:32 +0000)]
dan [Sat, 30 Dec 2017 14:26:29 +0000 (14:26 +0000)]
Rearrange things a bit so that writing to a zipfile does not invert the order
of objects it contains.
FossilOrigin-Name:
f69e8194bfa7de436c96028730ebd57f186d2e6207792e172e1aa38c7f4211c9
dan [Fri, 29 Dec 2017 20:19:03 +0000 (20:19 +0000)]
Update ext/misc/zipfile.c to support creating and adding entries to existing
zip archives.
FossilOrigin-Name:
2dec2dec592c0726ebe87b841b9c8d493dea7074a99f278eb1bf0b744d658a9d
dan [Wed, 27 Dec 2017 21:13:21 +0000 (21:13 +0000)]
Improve the shell tool ".ar --list --verbose" command.
FossilOrigin-Name:
b64681a644c419bb98d00980a6cb56ef5a0aff5ef5321955631f0b4c88aac283
dan [Wed, 27 Dec 2017 18:54:11 +0000 (18:54 +0000)]
Have the shell tool ".ar --list" and ".ar --extract" commands support zip
files. Currently the "-zip" switch is required.
FossilOrigin-Name:
a532a0f6fd59e81086d46f09151ba7fb26725198231d902c71d0f95cb01dbe91
dan [Tue, 26 Dec 2017 20:39:58 +0000 (20:39 +0000)]
Add new file ext/misc/zipfile.c, containing a virtual table for read-only
access to simple zip archives.
FossilOrigin-Name:
8e366b99b13d765d8bf000a7ec5919e582702e51dc07c27a746b6002898a2302
drh [Sat, 23 Dec 2017 18:34:49 +0000 (18:34 +0000)]
drh [Sat, 23 Dec 2017 14:39:36 +0000 (14:39 +0000)]
Simplification to the error handling logic in the extension loader.
FossilOrigin-Name:
07c773148d8db185fa54991df09298b64f4fef28879e6c9395759265e8183977
drh [Sat, 23 Dec 2017 13:55:43 +0000 (13:55 +0000)]
Improve the error message that comes back when sqlite3_load_extension()
fails because the named file exists but is not a valid shared library.
FossilOrigin-Name:
05fee1a21ea398f1e4d6f1cf361657eff25ed6cd8f85ab398262dcfd30da57e9
drh [Sat, 23 Dec 2017 12:33:40 +0000 (12:33 +0000)]
Move the generation of output column names earlier in the case of a
CREATE TABLE AS. This is a fix for ticket [
3b4450072511e62 ] and a
continuation of check-in [
ade7ddf1998190b2b63 ] that fixes cases of
ticket [
de3403bf5ae5f72ed6 ] that were missed previously.
FossilOrigin-Name:
6b2ff26c25bb9da344add79c93fb3e49fa034a89b38ef56e08e18d21de61f707
drh [Sat, 23 Dec 2017 11:51:40 +0000 (11:51 +0000)]
Add a SELECTTRACE() macro to indicate when column names are assigned to
a SELECT statement. This helps with debugging for tickets like
[
de3403bf5ae5f72e ] and [
3b4450072511e621 ].
FossilOrigin-Name:
8f194008c3aaa4ef287200e37bc5278ba9c377a7091ee3f95bad66513226b083
drh [Fri, 22 Dec 2017 19:53:02 +0000 (19:53 +0000)]
In the sqlite3TreeViewExprList() routine, show the "AS" alias name for
each expression in the list, if it exists.
FossilOrigin-Name:
5efd854fe21470336ba4140294b6c90ef39af32e103b92c664438d7485c50f9a
drh [Fri, 22 Dec 2017 00:52:50 +0000 (00:52 +0000)]
Modify the new sqlite3_vtab_collation() interface so that it takes a
pointer to the sqlite3_index_info object passed into xBestIndex rather than
an sqlite3 connection pointer, which the xBestIndex method might not have
access to.
FossilOrigin-Name:
5c1fe6666019147a26480b5db1bf2f474a5d072c234c736f16ed5d2a9a040b3f
drh [Thu, 21 Dec 2017 21:41:13 +0000 (21:41 +0000)]
Fix SQLITE_DBCONFIG_TRIGGER_EQP so that it works even if SQLITE_DEBUG is
not defined.
FossilOrigin-Name:
afbbfff72002089fa73b5473cc98360df14288d489e93e667332d6e884ef60da
drh [Thu, 21 Dec 2017 21:02:27 +0000 (21:02 +0000)]
Add the ".eqp trigger" option to the ".eqp" command in the command-line
shell. Implemented using the new SQLITE_DBCONFIG_TRIGGER_EQP control.
FossilOrigin-Name:
2c51644a12a638d89e4f7cc3fd561236ce424f2d4e1db31f1e8388f77add02b8
dan [Thu, 21 Dec 2017 18:55:24 +0000 (18:55 +0000)]
Add the ".expert" command to the shell tool's ".help" output.
FossilOrigin-Name:
fc6193af5d216b4066fbc47e75a7d0538fd5fda40b94ee15e2ff4037ea89221b
drh [Thu, 21 Dec 2017 18:23:26 +0000 (18:23 +0000)]
Change the name of SQLITE_DBCONFIG_FULL_EQP to be SQLITE_DBCONFIG_TRIGGER_EQP
(which we can do without breaking compatibility because the former name has
not yet appeared in an official release) and streamline its implementation.
FossilOrigin-Name:
fffc7685d19f78ec322a4e834ad727af20a17e2e1c35680e4b1c4162c4786f60
drh [Thu, 21 Dec 2017 14:46:11 +0000 (14:46 +0000)]
Add the SQLITE_DBCONFIG_MAX preprocessor macro which will always be equal to
the largest SQLITE_DECONFIG value.
FossilOrigin-Name:
95d4103348d14f9d4c3fee30bd1d882f717b047b2b92f8fef52bec4878281907
drh [Thu, 21 Dec 2017 02:17:02 +0000 (02:17 +0000)]
Add the experimental ".expert" command to the sqlite3.exe shell.
FossilOrigin-Name:
0821bae7afefed98102c81104b4a477e81816bb1f43353c80865411771e3c5a7
drh [Wed, 20 Dec 2017 23:46:29 +0000 (23:46 +0000)]
Lowercase local variable names in the SHA3 extension in order to avoid
collisions with macros in termios.h.
FossilOrigin-Name:
3ec7371161bd617e40328aa015b09acc2b37b0b5d269a87050a0c57163f92801
dan [Tue, 19 Dec 2017 18:56:28 +0000 (18:56 +0000)]
Fix crash in sqlite3_vtab_collation() when called for an IS NOT NULL
constraint.
FossilOrigin-Name:
ad38d2c4f073705c02c7b38675e8ae86fe4a794d54eb796e7ed51a905824d5f5
dan [Tue, 19 Dec 2017 17:42:13 +0000 (17:42 +0000)]
Experimentally add the SQLite expert functionality to the shell tool.
FossilOrigin-Name:
51068dbaeaef13bb80af8126b8c4f3a454dee63de5127d706db50bf789533e60
dan [Sat, 16 Dec 2017 19:36:52 +0000 (19:36 +0000)]
Add the sqlite3_vtab_collation() function, which allows an xBestIndex callback
to determine the collation sequence that SQLite will use for a comparison. And
the SQLITE_DBCONFIG_FULL_EQP configuration option, which enhances the output
of "EXPLAIN QUERY PLAN" so that it includes statements run by triggers. And
the code for the sqlite3_expert extension and command line application.
FossilOrigin-Name:
4c782c950204c09c1d8f857c39c4cf476539ec4e7eee6fd86419d47cf0f8b9e0
dan [Sat, 16 Dec 2017 19:16:24 +0000 (19:16 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
d5b597b52a1213cdf382d96f4df3535727be0852b25bafd12bbef54da946c5f2
dan [Sat, 16 Dec 2017 19:11:26 +0000 (19:11 +0000)]
Do not use the compress() and uncompress() functions in ext/misc/compress.c -
they are not quite compatible with the spec. Instead use new functions in
ext/misc/sqlar.c.
FossilOrigin-Name:
7652b3c2374084047b6c1da3e525e0cac34fe220597f81e793bc4fd9f33358da
drh [Sat, 16 Dec 2017 04:37:15 +0000 (04:37 +0000)]
Add unnecessary initializations to some local variables in the rtree module
to suppress false-positive compiler warnings coming out of MSVC.
FossilOrigin-Name:
64487d658cb3b6c8c67f1e198c70813c963de52599f3ea974bdc2aa432e74de9
dan [Fri, 15 Dec 2017 20:21:17 +0000 (20:21 +0000)]
Enhance the "swarmvtab" extension. See header comments in ext/misc/unionvtab.c
for details.
FossilOrigin-Name:
01c173651ab22b7b0c139eded6f2ad8504efd09088df8ae6a3471230ebf2306f
drh [Fri, 15 Dec 2017 12:22:21 +0000 (12:22 +0000)]
In the LEMON parser generator, provide reduce actions with access to the
lookahead token.
FossilOrigin-Name:
42af190f4f86ad60de02800054010fafd484ac86ca41e2a13799b2e583eea98c
dan [Thu, 14 Dec 2017 19:15:07 +0000 (19:15 +0000)]
Have the writefile() function optionally set the modification-time of the
files it writes or creates. And many small fixes to the new code on this
branch.
FossilOrigin-Name:
7b51269caebe1492885fe9b965892f49a3f8bdb1d666b0203d594c30f9e83938
dan [Thu, 14 Dec 2017 15:40:42 +0000 (15:40 +0000)]
Improve error and usage messages output by the shell ".ar" command.
FossilOrigin-Name:
b9d2d5d97291bf3d1392232e3705cca89dc7b918db2b08067b2b013ea39320e0
dan [Thu, 14 Dec 2017 13:55:01 +0000 (13:55 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
803156cba8b056a1cb8d1bb186a57454afe72341abe7de1dfe529234c3415cd2
drh [Wed, 13 Dec 2017 23:47:55 +0000 (23:47 +0000)]
In valueFromExpr() only generate a OOM fault if there have been now prior
faults.
FossilOrigin-Name:
3765aaf712998af5ffb6bc680a0c1419f2b5deb47ecbc1835ba5879127c4dbe3
mistachkin [Wed, 13 Dec 2017 22:42:55 +0000 (22:42 +0000)]
Add support for the 'lsm1.c' target in the MSVC makefile.
FossilOrigin-Name:
6de21deac469ab25378656f6f58115a92f5892428c6f2f3545c9bafac37e4a41
drh [Wed, 13 Dec 2017 20:35:34 +0000 (20:35 +0000)]
An improved way of generating the SQLITE_READONLY_DIRECTORY error.
The error message submitted to sqlite3_log() is still correct this way.
FossilOrigin-Name:
1c0aa919ee429cd194820ec9c54084563f39e63fd399b23f859fc6703b429b15
dan [Wed, 13 Dec 2017 20:17:18 +0000 (20:17 +0000)]
dan [Wed, 13 Dec 2017 20:04:53 +0000 (20:04 +0000)]
Add support for the "--list" command. And for arguments to the "--extract"
command.
FossilOrigin-Name:
32c4fa2552bb0fa7d7d143108457efae7a756d6cb14b1d59312e56efac3b2656
drh [Wed, 13 Dec 2017 20:02:29 +0000 (20:02 +0000)]
New result code SQLITE_READONLY_DIRECTORY is returned when an attempt is
made to write on a database file that is in a read-only directory and hence
the journal file could not be created. This situation formerly returned
SQLITE_CANTOPEN, which less helpful.
FossilOrigin-Name:
3ec73c38f878d73d278fce99ba10c708dcc475835774f1e17769ff7315be6d7c
drh [Wed, 13 Dec 2017 18:01:52 +0000 (18:01 +0000)]
Correctly invalidate a column cache line when it is overwritten with NULL.
Fix for ticket [
123c9ba32130a6c9d432 ].
FossilOrigin-Name:
65754dc3b830ef9482655d2e93c2cd4acaa7a8715a58d8309955d04378541f89
dan [Wed, 13 Dec 2017 15:32:33 +0000 (15:32 +0000)]
Change some LSM code internal typenames from "Blob" and "Pgno" to "LsmBlob"
and "LsmPgno". This allows the LSM code to be compiled as a single unit with
sqlite3.c.
FossilOrigin-Name:
30bf38d589adf0b2eb613e184ffb03ed7e625736cb04fd5c341328f72bc5ef4d
dan [Wed, 13 Dec 2017 14:22:48 +0000 (14:22 +0000)]
Add script to amalgamate all LSM files into "lsm1.c".
FossilOrigin-Name:
e32b69d73062e233b0ac853611d10b24546a346a603289ab0e339a3604ae2af4
drh [Wed, 13 Dec 2017 10:11:09 +0000 (10:11 +0000)]
Minor enhancement to two assert() statements in the default VFSes.
FossilOrigin-Name:
9cede8a83ca4cd88d504050115e1e89e7b3d3cd3cb2ffb5b8961e311a23ff5e2
dan [Tue, 12 Dec 2017 20:28:36 +0000 (20:28 +0000)]
Add tests and fixes for the shell ".ar" command -f option.
FossilOrigin-Name:
1a9867973c9d6675fa5254fdd74f36004707a98a91593a188033cf5a49cc7a0b
dan [Tue, 12 Dec 2017 20:04:59 +0000 (20:04 +0000)]
Add support for parsing options in non-traditional tar form to the ".ar"
command. Have writefile() attempt to create any missing path components. And
not to throw an exception if it is called to create a directory that already
exists.
FossilOrigin-Name:
38dbeb1e777aa7ec742aa27002ad4dcee28af520dc43de96e5c56c39f16574ff
dan [Mon, 11 Dec 2017 20:22:02 +0000 (20:22 +0000)]
Enhance virtual table "fsdir" in ext/misc/fileio.c. Add support for "-C" to
the shell command's ".ar c" command.
FossilOrigin-Name:
0394889afed2479773af594e2d9659cf58b8959004ebcdeaff8e08e5dae684ef
dan [Mon, 11 Dec 2017 17:20:37 +0000 (17:20 +0000)]
Fix a buffer overwrite in fts5 that could occur when processing a prefix
query.
FossilOrigin-Name:
92fc146bc2b781e7e2d7138b00e5ea649c6fee1c2b8449420460a1b3e5c9661b
dan [Sat, 9 Dec 2017 18:28:22 +0000 (18:28 +0000)]
dan [Sat, 9 Dec 2017 17:58:02 +0000 (17:58 +0000)]
Improve parsing of ".ar" commands. Add new test file for the same.
FossilOrigin-Name:
840401cc8ce3a09e0663b46973ecd2856d9607be71d2d1e9b21f7df7a82dcbe5
drh [Sat, 9 Dec 2017 01:02:33 +0000 (01:02 +0000)]
Fix a harmless API signature mismatch in the unix VFS.
FossilOrigin-Name:
bab9de7fdda20a724f7c21ec2c25b488ece08b685f1e4fd15c9e73b6b4a0133a
drh [Fri, 8 Dec 2017 19:37:04 +0000 (19:37 +0000)]
The query planner tries to avoids using indexes that use unknown collating
functions.
FossilOrigin-Name:
02013fc120bf71a8be3550c696a588af8c92f2209f8e5db530624878ddc8aa7e
dan [Fri, 8 Dec 2017 16:23:38 +0000 (16:23 +0000)]
Add compile time switch SQLITE_ENABLE_ICU_COLLATIONS. For enabling ICU
collations without also enabling the tokenizer, the LIKE operator, the
REGEXP operator, or the unicode aware upper()/lower() scalar functions.
FossilOrigin-Name:
a079f914522d7bc4b3d27d70114eb09adedfac936a64883e6ed8d382c428dd0e
drh [Fri, 8 Dec 2017 14:07:14 +0000 (14:07 +0000)]
Make sure the bComplex variable in sqlite3DeleteFrom() is initialized when
compiling with -DSQLITE_OMIT_TRIGGER.
FossilOrigin-Name:
e526d0c40b971d970367a52a57d3920cb64e6a98920114bfac46ba009f0b1eb5
drh [Thu, 7 Dec 2017 22:10:16 +0000 (22:10 +0000)]
When doing a table scan using an index, do not error out if collating
functions used by that index are unavailable, since they will not be used.
FossilOrigin-Name:
bbd69fa6fa7f3c86fb5cd1b69e1abbe1bbad61aa281e6c073a402d1b202e42ec
mistachkin [Thu, 7 Dec 2017 22:04:53 +0000 (22:04 +0000)]
dan [Thu, 7 Dec 2017 21:03:33 +0000 (21:03 +0000)]
Add the ".ar x" command to the shell. For extracting the contents of sqlar
archives.
FossilOrigin-Name:
0cc699d14adfe8c7b7be50c180186562861806c47425c80c935bce43ee5c5c12
drh [Thu, 7 Dec 2017 16:51:25 +0000 (16:51 +0000)]
Fix harmless compiler warnings in the rot13 extension.
FossilOrigin-Name:
113470772b04210b9300803124c06af2c0b33278313b311fefe6f80594b24e4a
dan [Thu, 7 Dec 2017 15:44:29 +0000 (15:44 +0000)]
Begin adding support for the sqlar archive format to shell.c. There is no
"extract" command so far, only "create".
FossilOrigin-Name:
c9827a01a6e107f38f85c2b2c1c7a599e443067b106217e965b6936441ca619d
drh [Thu, 7 Dec 2017 13:15:48 +0000 (13:15 +0000)]
drh [Wed, 6 Dec 2017 20:50:08 +0000 (20:50 +0000)]
Fix an unreachable branch in cases when SQLITE_ENABLE_STAT4 is not defined.
FossilOrigin-Name:
6a55bd67720451cdf316155cf348103bfce1056a78bcddf0029b45ff0fdbcc71
mistachkin [Tue, 5 Dec 2017 19:07:30 +0000 (19:07 +0000)]
For MSVC, simplify default locations for Tcl and ICU by using directories inside 'compat'.
FossilOrigin-Name:
8155b5ac850327ea76aba2adf624132f3e05024c973afd218b12f186fc7630e8
mistachkin [Tue, 5 Dec 2017 18:54:12 +0000 (18:54 +0000)]
Add support for including zlib in the shell when compiling with MSVC.
FossilOrigin-Name:
e1838cee3847301ef491467dc75d9c4e1e3b12599596c058bdb14319a52fd8a0
dan [Tue, 5 Dec 2017 18:32:40 +0000 (18:32 +0000)]
If SQLITE_HAVE_ZLIB is defined at build-time, include the functions in
ext/misc/compress.c in the shell.
FossilOrigin-Name:
0296286a9963bbaab60ee30d8700703f5ccb382380c9bfc0eb12c4bcb6f2accd
dan [Tue, 5 Dec 2017 14:58:59 +0000 (14:58 +0000)]
Fix a compilation problem when both SQLITE_ENABLE_MULTITHREADED_CHECKS and
SQLITE_ENABLE_API_ARMOUR are defined.
FossilOrigin-Name:
0342ce510d2063a63839399a2cfa25b7fc02f4fde17764082676b332d6136241
dan [Fri, 1 Dec 2017 18:40:18 +0000 (18:40 +0000)]
Fix the ".lint fkey-indexes" shell command so that it works with WITHOUT ROWID
tables.
FossilOrigin-Name:
5771b1d611b3562ea6c040f3f893073c4d0ee58c35b37ae211520d9aee8ed547
dan [Thu, 30 Nov 2017 11:21:59 +0000 (11:21 +0000)]
dan [Thu, 30 Nov 2017 07:55:15 +0000 (07:55 +0000)]
Update test file walprotocol.test to account for the changes in the wal
locking protocol.
FossilOrigin-Name:
64e567009dd56ef595850fe460925bc15fa875163541527638b654aa2b2cf785
dan [Wed, 29 Nov 2017 16:16:29 +0000 (16:16 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
373fa21bffd37053bb1a741d3ace2f003a5639bf373c20ea7bb24a31080888b3
dan [Tue, 28 Nov 2017 20:43:40 +0000 (20:43 +0000)]
dan [Tue, 28 Nov 2017 13:39:41 +0000 (13:39 +0000)]
Lock the wal file for all snapshot transactions, even if they would not
otherwise require this, preventing checkpointers and writers from wrapping the
wal file. This means that if one connection has an open snapshot transaction
it is guaranteed that a second connection can open a transaction on the same
snapshot.
FossilOrigin-Name:
b81a31495bd27c1d96f7df653da3502054240cb5acf66b860da7f0f9b422a524
dan [Tue, 28 Nov 2017 07:52:00 +0000 (07:52 +0000)]
Add experimental feature to detect threading bugs in apps that use
SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using
SQLITE_ENABLE_MULTITHREADED_CHECKS.
FossilOrigin-Name:
40b598c8392f030f6ed8c63ce81cb0426bb3984397c19c756215f6a569a40164
dan [Tue, 28 Nov 2017 07:47:57 +0000 (07:47 +0000)]
Use a symbolic constant instead of a literal (-1) to identify a
warn-on-contention mutex.
FossilOrigin-Name:
12a23c0a66fac5c9674120b390f6abaeaba3f7ff04693b281af1eefb93d6f47c
drh [Tue, 28 Nov 2017 00:52:14 +0000 (00:52 +0000)]
Update tests to deal with SQLITE_FAST_SECURE_DELETE.
FossilOrigin-Name:
e6b89304695be371978e65dddd710c8bd563c66b9c94d23165142b6c235c82e1
dan [Mon, 27 Nov 2017 17:56:14 +0000 (17:56 +0000)]
Fix a faulty NEVER assert() that could fail for SQLITE_ENABLE_STAT4 builds
that use foreign keys.
FossilOrigin-Name:
465350e55ddaf30cfba7874653301de7238a9dc2bc5e1f800fc95de9360679f6
drh [Sun, 26 Nov 2017 02:14:18 +0000 (02:14 +0000)]
Fix an CSV output quoting problem in the command-line shell on Windows.
FossilOrigin-Name:
6500cdbd36b0169f37fe363c49182b3e30477a51bb521c2a964555cd086a5589
dan [Sat, 25 Nov 2017 21:09:29 +0000 (21:09 +0000)]
Fix builds with both SQLITE_ENABLE_MULTITHREADED_CHECKS and
SQLITE_THREADSAFE=0 defined.
FossilOrigin-Name:
7d0b12fcb58353b883ffce77df824a5cc8b1e913a21ec3f22fb73481a398c916
dan [Sat, 25 Nov 2017 17:51:01 +0000 (17:51 +0000)]
Add experimental feature to detect threading bugs in apps that use
SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using
SQLITE_ENABLE_MULTITHREADED_CHECKS.
FossilOrigin-Name:
a66886ac13aa6d8ccbb6d673ddd00267c93e3ee1fbc158236fce3157d150868d
dan [Fri, 24 Nov 2017 19:24:44 +0000 (19:24 +0000)]
drh [Fri, 24 Nov 2017 16:55:48 +0000 (16:55 +0000)]
Enhance the configure script to detect zLib.
FossilOrigin-Name:
e3b6e22049caf78bc4153ded8dc295fe30ad320323d921f16bd794ef30f1b115
drh [Thu, 23 Nov 2017 04:45:35 +0000 (04:45 +0000)]
Fix a problem in the omit-table-from-left-join optimization
from check-in [
0cd82ee9a8413cf ] that was discovered by OSSFuzz.
FossilOrigin-Name:
b016c28fa5617a20ad34c005372e738d28f7fc4388d19ee0cb7add4ed19d74aa
drh [Thu, 23 Nov 2017 00:45:21 +0000 (00:45 +0000)]
Completely disable the skip-ahead-distinct optimization for all but the
inner-most loop of a DISTINCT join. Fix for ticket [
ef9318757b152e3a26e9592 ]
FossilOrigin-Name:
b7595cf2cadcba486e60b3c230ccc412a7cf449c1d56cbe65869e6d5d9f1374d
drh [Tue, 21 Nov 2017 23:38:48 +0000 (23:38 +0000)]
Fix the skip-ahead-distinct optimization on joins for cases there the table
in the inner loop of the join does not contribute any columns to the
result set. Proposed fix for ticket [
ef9318757b152e3a2 ]
FossilOrigin-Name:
2dcef5a9ae7f347da65207bf6bf612fb12e18e1a6704799322f0cf2a86154cfd
mistachkin [Tue, 21 Nov 2017 21:15:17 +0000 (21:15 +0000)]
mistachkin [Tue, 21 Nov 2017 21:14:32 +0000 (21:14 +0000)]
Fix compilation issue (C99-ism) in the shell seen with MSVC.
FossilOrigin-Name:
9cb47430553f00216e9b06e3d8226b903da536152fac80a5b6f615508c933252
dan [Tue, 21 Nov 2017 20:53:14 +0000 (20:53 +0000)]
Update the omit-table-from-left-join optimization so that it can omit tables
from the middle of the join as well as the end.
FossilOrigin-Name:
0cd82ee9a8413cf127b5ca65770e3f363bd579941cd592298d3b0c27715583f3
dan [Tue, 21 Nov 2017 19:22:45 +0000 (19:22 +0000)]
Update the omit-table-from-left-join optimization so that it can omit tables
from the middle of the join as well as the end.
FossilOrigin-Name:
618ca9fe53d8d2d7b4f368e6ee404d5fceeecac0d689f32ab62af8a6cbb37401
dan [Mon, 20 Nov 2017 15:46:10 +0000 (15:46 +0000)]
Fix a problem preventing the planner from identifying scans that visit at most
one row in cases where that property is guaranteed by a unique, not-null,
non-IPK column that is the leftmost in its table.
FossilOrigin-Name:
7fdb1e2ac2040dc47800a224d33a5c95d55200c480d46fedec1e97fb4f089ef7
dan [Mon, 20 Nov 2017 15:45:03 +0000 (15:45 +0000)]
dan [Mon, 20 Nov 2017 14:40:03 +0000 (14:40 +0000)]
Fix a problem preventing the planner from identifying scans that visit at most
one row in cases where that property is guaranteed by a unique, not-null,
non-IPK column that is the leftmost in its table.
FossilOrigin-Name:
299d7ca52fec32f04ffd2b8561dd4b839e891792162f8b00259368683436b02d
dan [Sat, 18 Nov 2017 18:07:17 +0000 (18:07 +0000)]
Enhance the log messages produced in some cases if database corruption is
encountered by an SQLITE_DEBUG build.
FossilOrigin-Name:
ee840a7669dd462af072625232ea4238198c9b94e1873f361c45f3b0985456f3
dan [Sat, 18 Nov 2017 17:30:08 +0000 (17:30 +0000)]
Enhance the log messages produced in some cases if database corruption is
encountered by an SQLITE_DEBUG build.
FossilOrigin-Name:
23a3128083834b5fc80adf45448f7dc65587c52761fb3c9483b80313b369406f
drh [Fri, 17 Nov 2017 21:01:04 +0000 (21:01 +0000)]
Improved fix for ticket [
da78413751863 ] that does not require disabling the
query flattener as was done in [
005d5b870625 ]. This also makes the code
generator for vector IN operators a little easier to understand.
FossilOrigin-Name:
723f1be3d4a905a6a16333f8ef3e1067dcd4944497b303033c49946fc37c780f
dan [Fri, 17 Nov 2017 20:07:19 +0000 (20:07 +0000)]
Add some missing "finish_test" lines to the end of test scripts.
FossilOrigin-Name:
c21406ab3281480d3eddca0cdf5aea3abc224425ee52c10eed3ff702a0ae5c26
drh [Fri, 17 Nov 2017 17:32:40 +0000 (17:32 +0000)]
New assert() statements in the rowvalue IN expression processing.
FossilOrigin-Name:
00c328317473cee8fd7bd92c58409a356337b727cfa562bd8de59350d978769c
drh [Fri, 17 Nov 2017 15:02:00 +0000 (15:02 +0000)]
Clarification of comments on sqlite3FindInIndex(). No changes to code.
FossilOrigin-Name:
071cabd23cd010180711a138f891a0e358031dd128532def4f62c5764651bace
dan [Fri, 17 Nov 2017 13:21:12 +0000 (13:21 +0000)]
Do not count temporary databases that have been attached using ATTACH when
figuring out if a master-journal file is required by a transaction.
FossilOrigin-Name:
93e012a317c8a4bfb84327616a597acabfcb24417197eefdccb8031bcf64e0c0
dan [Fri, 17 Nov 2017 08:20:10 +0000 (08:20 +0000)]
Avoid creating a master journal if all or all but one of the databases in the
transaction is a temp file.
FossilOrigin-Name:
355d1232fd7314723afaa8d6b8b73506b09cbba1113a88b10204ba89be993508
dan [Thu, 16 Nov 2017 20:48:47 +0000 (20:48 +0000)]
Ensure that empty space on pages is zeroed before they are written to disk.
This helps with compressed databases, and stops valgrind complaining about
uninitialized bytes and write().
FossilOrigin-Name:
5ffec5db33137251090d45e2ca7e3e7823e3215ae89822d905923424ceba2ac2
drh [Thu, 16 Nov 2017 19:04:33 +0000 (19:04 +0000)]
Add a missing "finish_test" to the end of the stmtvtab1.test script.
FossilOrigin-Name:
e0b5c0585e8530bd516b340093a46d8e358a731facb78da22d3208633c852804
drh [Wed, 15 Nov 2017 19:14:08 +0000 (19:14 +0000)]
Futher improvements to the .testctrl interface in the shell.
FossilOrigin-Name:
1ca3b8cce93e83fabe35c22cb726b8ce0883e0448afa3301ad0b53073055fa8d
drh [Wed, 15 Nov 2017 17:07:22 +0000 (17:07 +0000)]
UI improvements on the .testctrl dot-command in the shell.
FossilOrigin-Name:
5d66219c4706e11a9c2a1290224e7c17b19f74657e8239accfb4c6f6be6af9b5
drh [Tue, 14 Nov 2017 23:48:23 +0000 (23:48 +0000)]
In the parse tree, combine LIMIT and OFFSET into a single expression rooted
on a TK_LIMIT node, for a small code size reduction and performance increase,
and a reduction in code complexity.
FossilOrigin-Name:
3925facd942c9df663f9b29b1e6f94f6be14af8c2b99eb691bfc836b4c220826