]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Fri, 5 Jan 2018 20:30:54 +0000 (20:30 +0000)]
Fix the shell.c.in amalgamator script so that it avoids generating
redundant typedef statements.
FossilOrigin-Name:
6c53c740cb4f62305689ea0a73beca83e71ed86707094e850bed975965c8c9f2
mistachkin [Fri, 5 Jan 2018 20:26:06 +0000 (20:26 +0000)]
MinGW does not define the S_ISLNK macro; therefore, define it in the shell when needed.
FossilOrigin-Name:
73023febbe57495a22db05904bd6ddff439d6c25970cbe87e0ba4a923f3e8a29
mistachkin [Fri, 5 Jan 2018 20:13:33 +0000 (20:13 +0000)]
Skip running the 'zipfile' test if the necessary static package cannot be loaded.
FossilOrigin-Name:
5bc816ec4010c20407396a1051e9f9b0a360ca27c0a99dafa867225cf974e306
mistachkin [Fri, 5 Jan 2018 20:08:46 +0000 (20:08 +0000)]
Fix shell compilation with MinGW by including the 'dirent.h' header.
FossilOrigin-Name:
dfe510b51046a53c7f5c54fe73ec9de3364923eabd4b909c11984552e6bea406
drh [Fri, 5 Jan 2018 19:49:54 +0000 (19:49 +0000)]
Fix the autoconf makefile so that it builds testfixture correctly.
FossilOrigin-Name:
fbfe04c0b4f261789cbda3d2e98d12508181c283eab0bb757b081f0383e891bd
mistachkin [Fri, 5 Jan 2018 19:28:16 +0000 (19:28 +0000)]
mistachkin [Fri, 5 Jan 2018 19:27:19 +0000 (19:27 +0000)]
The 'releasetest' tool should pass the TCLDIR macro for MSVC to nmake.
FossilOrigin-Name:
eaa9c0dda73808f1458f9968be59947636fbd4781c9fc535eb50bcaf790093c1
mistachkin [Fri, 5 Jan 2018 19:25:52 +0000 (19:25 +0000)]
For the MSVC Makefile, the 'sqlite3_checker.exe' target requires the Tcl library.
FossilOrigin-Name:
38109a47ffa977f1f962af2e183285d4e5db6fac2344868c5f1de64779dd0839
drh [Fri, 5 Jan 2018 19:01:05 +0000 (19:01 +0000)]
Add the ".ar" command to the command-line shell.
FossilOrigin-Name:
148b8aee78e40cab9a758a920589bd3ca8fc1c45cc93598bc50d96b85cd17e6c
drh [Fri, 5 Jan 2018 18:51:25 +0000 (18:51 +0000)]
Fix a bug introduced by efforts to reduce compiler warnings in
check-in [
364ac333b030f0 ]
FossilOrigin-Name:
1d6cee9ad448b10e69f351ef9dbec09110c5b189cba8734e637f41abe8f35bf8
mistachkin [Fri, 5 Jan 2018 17:40:38 +0000 (17:40 +0000)]
In the Makefile for MSVC, the default target should not include binaries that link against the Tcl library.
FossilOrigin-Name:
5c6d0a1d58533feb4ea6926f4d3611664a275ad216492b424056276da38e84a2
mistachkin [Fri, 5 Jan 2018 17:12:13 +0000 (17:12 +0000)]
More adjustments to MSVC Makefile dependencies for zlib.
FossilOrigin-Name:
bb650e5d14642b925c5ea65ba7991b35c4e941405d2557d542b99c66ca4bc130
mistachkin [Fri, 5 Jan 2018 17:10:49 +0000 (17:10 +0000)]
drh [Fri, 5 Jan 2018 16:23:43 +0000 (16:23 +0000)]
Fix missing dependencies for shell.c in all makefiles.
FossilOrigin-Name:
45495d3e256fef4d0669754726878ed17248fc781397ebb0421149ee9492f977
mistachkin [Fri, 5 Jan 2018 16:05:51 +0000 (16:05 +0000)]
In the Makefile for MSVC, only attempt to link against Tcl when it is needed. Also, only compile 'zipfile.c' when use of zlib is enabled.
FossilOrigin-Name:
a33ad33cf031edee273afa4735c8564870465be22962a9c277e4ac43a307ff2c
mistachkin [Fri, 5 Jan 2018 16:03:52 +0000 (16:03 +0000)]
Add some missing #ifdefs for building without zlib.
FossilOrigin-Name:
c63fb1700c0f67d90857b1f3859c203880d0939f356a64d8ae7cafc814ea72bf
drh [Fri, 5 Jan 2018 14:55:43 +0000 (14:55 +0000)]
dan [Fri, 5 Jan 2018 11:34:18 +0000 (11:34 +0000)]
Fix an LSM problem causing the wrong amount of "auto-work" to be performed
under fairly obscure circumstances.
FossilOrigin-Name:
a4876672edea4e96103efd2463ce9a34a0b994a8744c941660940578aafbd454
dan [Fri, 5 Jan 2018 07:57:54 +0000 (07:57 +0000)]
Fix an LSM crash that could occur if LSM_CONFIG_AUTOFLUSH was set to 0.
FossilOrigin-Name:
05346f83d587e6049da0e8ec5f62c749daa9e80359cf48f8c37e333e6a1e7d2a
mistachkin [Fri, 5 Jan 2018 01:22:37 +0000 (01:22 +0000)]
Revise detection of 'tclsh.exe' in the Makefile for MSVC.
FossilOrigin-Name:
45fabd868dc690894f5a911d373a3d6410ba2d95d177307a42009afc8ae296cc
mistachkin [Fri, 5 Jan 2018 01:00:17 +0000 (01:00 +0000)]
mistachkin [Fri, 5 Jan 2018 00:53:03 +0000 (00:53 +0000)]
mistachkin [Thu, 4 Jan 2018 23:49:08 +0000 (23:49 +0000)]
In the 'fileio' extension code for Win32, use the FILE_FLAG_BACKUP_SEMANTICS flag when setting the file times, just in case the file is actually a directory.
FossilOrigin-Name:
4f3444060057127bce81787ed83cb5225cdbdd577596bc3fb06a40be2208f238
mistachkin [Thu, 4 Jan 2018 22:50:52 +0000 (22:50 +0000)]
Remove 'timespec' related code from the shell that has no effect and a (now) superfluous 'timespec' typedef from the Win32 dirent header file.
FossilOrigin-Name:
57dac995dd028e4b7c8ce6806f5769831715c1bb9b886318fceb3fa50563d537
mistachkin [Thu, 4 Jan 2018 22:46:08 +0000 (22:46 +0000)]
Get the shell enhancements compiling with MSVC.
FossilOrigin-Name:
335387f9e0d4569097d34cd99cd332b38a282e9b7ae25f088eb47df5c25837ef
drh [Thu, 4 Jan 2018 19:54:55 +0000 (19:54 +0000)]
drh [Thu, 4 Jan 2018 19:20:37 +0000 (19:20 +0000)]
Remove the snarky "_supported_" qualifier from the name of the
sqlite_offset() SQL function.
FossilOrigin-Name:
a6eee0fcd89d3958f8720ebdb5f0a8558b4795d747128091dae283eb81c4f74f
drh [Thu, 4 Jan 2018 16:40:44 +0000 (16:40 +0000)]
Fix a broken documentation hyperlink. No code changes.
FossilOrigin-Name:
d91e3f3d343d281af374dd23eea333e61228539023ad5c5aea622085e5863bc7
drh [Wed, 3 Jan 2018 01:47:30 +0000 (01:47 +0000)]
Add another test case (found by OSSFuzz) for the problem fixed in
check-in [
2846458a ] and described by ticket [
dc3f932f5a147771 ].
No changes to code.
FossilOrigin-Name:
4165fae920a1176c68bfaa1f2cfe17df7f8dd8793519d458b71e3e63670b5495
drh [Tue, 2 Jan 2018 21:29:42 +0000 (21:29 +0000)]
drh [Tue, 2 Jan 2018 18:11:11 +0000 (18:11 +0000)]
In the constraint resolution logic, be careful not to cache column values
in registers whose initialization might be bypassed by an OP_NoConflict opcode.
Fix for ticket [
dc3f932f5a147771 ] reported by OSSFuzz.
FossilOrigin-Name:
2846458af5d029a8e4fdcc8f50873a44e57897bbfe6aee8a23a01ffc34c5579f
drh [Tue, 2 Jan 2018 16:02:50 +0000 (16:02 +0000)]
Enhance the memvfs extension so that it can be read/write.
FossilOrigin-Name:
04c9197d589666299aef86ee6a56df63448c050274c9fba4af94f932752be237
drh [Tue, 2 Jan 2018 13:48:48 +0000 (13:48 +0000)]
Updates to the sqlite3_file_control() documentation. No changes to code.
FossilOrigin-Name:
240e32ab1f2a18e3c9b92f577b1cc8f8ecb4c68c44eac863d859491e042cb72a
drh [Tue, 2 Jan 2018 12:50:40 +0000 (12:50 +0000)]
Do not attempt to use pragma_module_list in the command-line shell unless
it has been compiled with -DSQLITE_INTROSPECTION_PRAGMAS.
FossilOrigin-Name:
39ca5fcd31c902cbade4da05125b0dbf2bc5e2b8901af1645f113c9d3dbc8209
drh [Tue, 2 Jan 2018 00:04:37 +0000 (00:04 +0000)]
The ".schema" command in the command-line shell now shows the structure of
table-valued functions and eponymous virtual tables if they are named on the
".schema" command line. Example: ".schema sql%" shows the structure of
the "sqlite_dbstat" and "sqlite_stmt" virtual tables.
FossilOrigin-Name:
f80f6651df0b2843c6c9619a8f3e05c56cd50363402800a2e166e6eb664f7768
drh [Mon, 1 Jan 2018 21:49:43 +0000 (21:49 +0000)]
Improved name quoting and escaping in the auxiliary column info section
of the ".schema" output for views and virtual tables.
FossilOrigin-Name:
d64b14e37d9624bf5d86059ddd091170d8e6d341a8043f84548b9b3dbb96a908
drh [Mon, 1 Jan 2018 21:28:25 +0000 (21:28 +0000)]
In the output of ".schema", show the column names of virtual tables and
views in a separate comment.
FossilOrigin-Name:
2234a87fa905312b23f46d52e06cff7cacbf23b187e16c4398a42e6bdae0ee9f
drh [Mon, 1 Jan 2018 20:11:23 +0000 (20:11 +0000)]
Minor simplification to the ".schema" logic in the command-line shell.
FossilOrigin-Name:
add45c47288248ca3745e0fceb5e0d9062a852d173d93ff2ff1a0f8fdf3237dc
drh [Mon, 1 Jan 2018 19:33:12 +0000 (19:33 +0000)]
Enable the introspection pragmas for command-line shell builds.
FossilOrigin-Name:
0b04223f256f5c1e06fa6e899727815ebf650f2dfcf8f36d6cbfb6cb62d4ead8
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
drh [Fri, 29 Dec 2017 17:21:21 +0000 (17:21 +0000)]
Add support for the sqlite_unsupported_offset() SQL function if and only
if compiled using -DSQLITE_ENABLE_OFFSET_SQL_FUNC. Use that definition
when compiling the command-line shell.
FossilOrigin-Name:
4f1f1f521ae6da96b899e10bfeff6bc1ab7a45de0705076febaae20b441f48c6
drh [Fri, 29 Dec 2017 16:37:33 +0000 (16:37 +0000)]
drh [Fri, 29 Dec 2017 15:19:03 +0000 (15:19 +0000)]
drh [Fri, 29 Dec 2017 15:04:49 +0000 (15:04 +0000)]
Change the function name to sqlite_unsupported_offset(X). Only enable the
function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add
that definition to shell builds.
FossilOrigin-Name:
7a7f826e324b1a2c332e2f1d0740fd0babffcaca6275a798572f02ad367b99ab
drh [Fri, 29 Dec 2017 14:33:54 +0000 (14:33 +0000)]
Enhance location(X) so that it works with indexes and WITHOUT ROWID tables.
The function might return an offset to the main table or to an index,
depending on whether the column X would be loaded from the main table or
from the index.
FossilOrigin-Name:
dd94d6a880dfec4bddd247239b815b84964f804d24841e25f33f1d46a4b5274d
drh [Fri, 29 Dec 2017 13:35:09 +0000 (13:35 +0000)]
drh [Fri, 29 Dec 2017 12:50:43 +0000 (12:50 +0000)]
Add test cases for the undocumented behavior of duplicate columns on an
INSERT or UPDATE.
FossilOrigin-Name:
f4349c0c26611de8a7d5beb99431a575cf531cdeb0ca2413efabcf0a61e6f424
drh [Wed, 27 Dec 2017 22:09:53 +0000 (22:09 +0000)]
The output of sqlite3_trace() now shows each command of a trigger as it is
evaluated. This feature involved major changes to the parser, such as
removing the ExprSpan object and replacing it with a new mechanism for
capturing the original SQL text of phrases in the input SQL.
FossilOrigin-Name:
0fdf97efe5df745510c6b4b377a8ee5683a3a237630bfbd0f56e57c7c6e5b246
drh [Wed, 27 Dec 2017 21:30:34 +0000 (21:30 +0000)]
Omit all sqlite3_trace() output from the triggers associated with
foreign key constraints.
FossilOrigin-Name:
fda08e3d10cc850664a356efdafcfc68187053849e1b00991b0b35d892a6776b
dan [Wed, 27 Dec 2017 21:13:21 +0000 (21:13 +0000)]
Improve the shell tool ".ar --list --verbose" command.
FossilOrigin-Name:
b64681a644c419bb98d00980a6cb56ef5a0aff5ef5321955631f0b4c88aac283
drh [Wed, 27 Dec 2017 20:38:35 +0000 (20:38 +0000)]
Show the text of individual statements within a trigger, as they
execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2().
FossilOrigin-Name:
fe3d2b97d8945e6a9636472f77bcdc92cc5dda8b3e6e3a4fcbdd0a212ea5b9aa
drh [Wed, 27 Dec 2017 19:43:22 +0000 (19:43 +0000)]
Add and use the internal sqlite3DbSpanDup() interface.
FossilOrigin-Name:
a8e1545cb7aacb6a26a8c92a3ad4a3d584d150c3a00d2828c8adbb1ee19fcb6d
drh [Wed, 27 Dec 2017 19:27:26 +0000 (19:27 +0000)]
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
drh [Wed, 27 Dec 2017 18:19:06 +0000 (18:19 +0000)]
Enhance the Lemon parser generator so that it creates a faster parser at the
cost of slightly larger parser tables. Add the ability to measure coverage
of the generated state machine when compiling with the -DYYCONVERGE option.
In SQLite, add the SQLITE_TESTCTRL_PARSER_COVERAGE test-control to query the
new parser coverage feature.
FossilOrigin-Name:
1b22b42e59793af19c69a2e5f6822883cc2687d4a0d9b9280bbff885276c6baa
drh [Wed, 27 Dec 2017 17:36:58 +0000 (17:36 +0000)]
The previous check-in had an error in the coverage reporting logic.
FossilOrigin-Name:
ec9b19eb652e81cd3c8a5595eb39aac3aca4abe72136c4b65c9cc257594a9c92
drh [Wed, 27 Dec 2017 17:14:50 +0000 (17:14 +0000)]
Change the coverage measurement logic in the lemon-generated parser so that
it only checks for coverage of state/lookahead pairs that are valid syntax.
It turns out that some states are unreachable if the lookahead is not valid
syntax, because the states are only reachable through a shift following a
reduce, and the reduce does not happen if the lookahead is a syntax error.
FossilOrigin-Name:
9dce46508772bd0f9e940c4d44933154044bb58c1b3511dd0143287bf795dd6b
drh [Wed, 27 Dec 2017 16:13:22 +0000 (16:13 +0000)]
In the lemon-generated parser, do not report the End-of-input character and
the wildcard character as missed coverage.
FossilOrigin-Name:
3fe964873da16c0e0b1c4f1945f965d4137df7a307acd6a3eb6585ffbaa2afd1
drh [Wed, 27 Dec 2017 15:21:16 +0000 (15:21 +0000)]
In LEMON, fix an off-by-one error that can make the lookahead table one
byte too smal.
FossilOrigin-Name:
93792bc58a2eccc7e07b14307388350bb376db32c5055b79a44e4fa8ff91d58e
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 [Tue, 26 Dec 2017 18:32:06 +0000 (18:32 +0000)]
Change the lemon-parser coverage report format to report all state/lookahead
pairs and indicate on each whether it is hit or missed.
FossilOrigin-Name:
86e30fc284c740b55f75884b67988fe837b28878f586f6ec8850ecf80164e700
drh [Tue, 26 Dec 2017 18:14:53 +0000 (18:14 +0000)]
drh [Tue, 26 Dec 2017 18:04:23 +0000 (18:04 +0000)]
Add support for measuring and reporting coverage of the parser state machine
using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control.
FossilOrigin-Name:
1253a872dbf48656d4efd588ab61223a5ac550d9b2b932249d6ba585276ba573
drh [Tue, 26 Dec 2017 14:46:20 +0000 (14:46 +0000)]
Faster and smaller implementation of sqlite3AtoF() based on a suggestion
from Cezary H. Noweta.
FossilOrigin-Name:
fd2e0e7a770c2ce9355068aad1024c3d2861c104fd3be304a91c55ca742155fa
dan [Tue, 26 Dec 2017 14:32:25 +0000 (14:32 +0000)]
Fix crashes that could occur if SQL NULL values were passed to the built-in
FTS5 snippet function. Edit: breaks amalgamation builds.
FossilOrigin-Name:
6a790b67a0a5c698526db16ea262b13ecdd1b6ca74e80bdccfcad88ddbdc933a
dan [Tue, 26 Dec 2017 14:30:44 +0000 (14:30 +0000)]
Add options to speedtest1.c and speed-check.sh for testing performance of
floating-point computatations.
FossilOrigin-Name:
ebfea8728fec955b1d74b1d0a3de498fd1a32e8b39572a8fdab606ed87b169b4
drh [Mon, 25 Dec 2017 13:43:54 +0000 (13:43 +0000)]
Fix an assertion fault on a syntax error input caused by check-in
[
6b2ff26c25bb9da3 ]. Problem discovered by OSSFuzz.
FossilOrigin-Name:
90d6e4f10d3055a776d24854c442a2a68e726af8fc382cdb6241a834082e4c4c
drh [Mon, 25 Dec 2017 04:15:38 +0000 (04:15 +0000)]
Enhance LEMON so that it generates the action table in such a way that no
range check is needed on the lookahead table to verify that the next input
token is valid. This makes the lookahead table slightly larger (about 120
bytes) but helps the parser to run faster.
FossilOrigin-Name:
7eb0198d0102e97e4b7ad9e359d95985e55e09c510ea4b360265ac8feb9ed814
drh [Mon, 25 Dec 2017 00:10:05 +0000 (00:10 +0000)]
In the LEMON-generated parser, avoid unnecessary tests for the acceptance
state.
FossilOrigin-Name:
fdbb35c54f2b6cb65d04ac295f207ff3e69360e0558348c77eb5e62691807046
drh [Sun, 24 Dec 2017 23:38:10 +0000 (23:38 +0000)]
In the LEMON-generated parser, rearrange the meanings of integer action codes
so that reduce actions occur last. This means that the most common case
(reduce actions) can be recognized with a single comparison operation, thus
speeding up the main parser loop, slightly.
FossilOrigin-Name:
7bfe7a360261ac7227840db49487c2f0fe338a2f1b868fcaada1e04a8d2b8f7a
drh [Sun, 24 Dec 2017 18:56:28 +0000 (18:56 +0000)]
Fix a NULL pointer dereference after a syntax error that can occur as a
result of check-in [
6b2ff26c25bb9da3 ] yesterday. This problem was
discovered by the OSSFuzz.
FossilOrigin-Name:
d49afb8f9804e96662d1e3cadc4c6643908706d848a53d5ed019919c98f2ccba
drh [Sun, 24 Dec 2017 17:06:41 +0000 (17:06 +0000)]
drh [Sun, 24 Dec 2017 17:01:54 +0000 (17:01 +0000)]
Grammar changes: the sclp non-terminal should always be followed by a scanpt.
FossilOrigin-Name:
74a0181fc016fb0b7934188cfcc2ec26c689f0d33cc42453875f4392b7240d3a
drh [Sun, 24 Dec 2017 14:14:21 +0000 (14:14 +0000)]
drh [Sun, 24 Dec 2017 00:18:47 +0000 (00:18 +0000)]
Remove the ExprSpan object. Instead, keep track of the test of subphrases in
the parse using the "scanpt" non-terminal.
FossilOrigin-Name:
3eab7bdc44e0878b83dc86f27058a40c2ffafeacadc566f03693f6dc7e40a504
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
drh [Sat, 16 Dec 2017 20:20:37 +0000 (20:20 +0000)]
Add an experimental location(X) SQL function that attempt to return the
location of the payload within the database for the record that contains
column X. location(X) returns NULL if X is not an ordinary table column or
if SQLite cannot figure out the location because it is using a covering index.
FossilOrigin-Name:
51be9558164301c5dd4df23ab8b3e67de0b522f8d36f79f3d84d45d3dc2a83a4
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