]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Mon, 8 Jan 2018 20:04:57 +0000 (20:04 +0000)]
drh [Mon, 8 Jan 2018 19:29:28 +0000 (19:29 +0000)]
Special handling of the NULL keyword. Sometimes it is a literal, and sometimes
it is a keyword.
FossilOrigin-Name:
db5d138e97f22ad4d4d11dbef96df93696ba0e557809066bc263ca3c3898f349
drh [Mon, 8 Jan 2018 19:18:27 +0000 (19:18 +0000)]
Add IN-operator normalizating and the SQLITE_NORMALIZE_CLI compile-time
option for generating a stand-alone program.
FossilOrigin-Name:
d77dbb398afa80c1b3373c55f278491e83d5c80ddc22dbc303876bdcbc127df9
drh [Mon, 8 Jan 2018 16:54:26 +0000 (16:54 +0000)]
First code for an auxiliary function that will normalize an SQL statement.
FossilOrigin-Name:
84814aac81e54f03430f180926156ab0fc01e22bbce2bb228b698ea0d4a588ea
drh [Sun, 7 Jan 2018 23:28:10 +0000 (23:28 +0000)]
Avoid the use of utimensat() on older unix platforms.
FossilOrigin-Name:
90cb01d8d6ac12d0b88f2952a75aeefa81ba66f5e4a5377fdd8b9f86aec8e927
drh [Sun, 7 Jan 2018 21:58:17 +0000 (21:58 +0000)]
Remove the dependency on test_windirent.h from the generated shell.c file.
FossilOrigin-Name:
0a50c9e3bb0dbdaaec819ac6453276ba287b475ea322918ddda1ab3a1ec4b58b
drh [Sun, 7 Jan 2018 20:38:10 +0000 (20:38 +0000)]
Modify the sqltclsh startup script to look for a properly formatted
SQLAR at the end of the executable. Fix the CLI so that it automatically
links against appendvfs and so that the --append command-line option works.
FossilOrigin-Name:
67c4a8c6881e33b830aa27c80e7e3d697a4222939edd77cd5ca77ece16471ea4
drh [Sun, 7 Jan 2018 19:52:28 +0000 (19:52 +0000)]
Improved comments on the sqlar.c and compress.c extensions that describe
the differences between the "zlib format" used by SQLAR, the raw deflate
format used by ZIP, and the custom format used by compress.c. No changes
to code.
FossilOrigin-Name:
c13415c5caf06eaa73086c500907451dfcdfd1354ac4a9ab63edb7255edbfa1b
drh [Sat, 6 Jan 2018 21:46:01 +0000 (21:46 +0000)]
The shell detects and opens ZIP archives using the zipfile extension.
FossilOrigin-Name:
05c99eb8cefbb3366b6d4ae91e10aa0c82bdf5ea361f4b3375413783af9167ac
drh [Sat, 6 Jan 2018 19:19:50 +0000 (19:19 +0000)]
In the shell, include the ".archive" command only if compiling with
SQLITE_HAVE_ZLIB. Add ".archive" to the ".help" output.
FossilOrigin-Name:
366469f5603367fabcadfc9ffe8cd1e23c649fea49a560178ca0858a16a7e4d1
drh [Sat, 6 Jan 2018 15:49:57 +0000 (15:49 +0000)]
Better whitespace in the "CREATE TABLE sqlar()" statement for the ".ar"
command.
FossilOrigin-Name:
252ee55a7fc0b068b707af27bd912e684c28320996e78f0675217046b8c2fb49
drh [Sat, 6 Jan 2018 15:46:20 +0000 (15:46 +0000)]
Improved output from ".schema --indent" when a column definition is followed
by a comment.
FossilOrigin-Name:
87da7efff07327278b1437f862ed8683c2d5d6ada7ea7461601a58f9762646b4
mistachkin [Sat, 6 Jan 2018 14:44:29 +0000 (14:44 +0000)]
Remove a trailing tab from the Makefile for MSVC.
FossilOrigin-Name:
00cc26e34d2b81f140b031aa2f9ae0e2a4835cdd261d68f94b3e18a1388ca73d
mistachkin [Sat, 6 Jan 2018 14:43:33 +0000 (14:43 +0000)]
drh [Sat, 6 Jan 2018 13:42:27 +0000 (13:42 +0000)]
Add the appendvfs extension and code for the sqltclsh.exe executable.
FossilOrigin-Name:
b0a43e325c53ec0df50fd41acffbbee65eac47b9318868e6959cd39da66fa8d6
drh [Sat, 6 Jan 2018 13:33:21 +0000 (13:33 +0000)]
Fix the appendvfs so that it leaves sqlite3_file->pMethods as NULL if it
fails to open.
FossilOrigin-Name:
46b341e3ad11b807ae50f001b970299de7ea0d523dbb639ee10f1d5aca5d958b
drh [Sat, 6 Jan 2018 04:34:05 +0000 (04:34 +0000)]
drh [Fri, 5 Jan 2018 21:01:37 +0000 (21:01 +0000)]
Make sure i64 and u64 typedefs are available throughout shell.c.
FossilOrigin-Name:
656fb5aab32f40412389e43de209867cedee1589533949cc8c01ba24218ea434
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:40:39 +0000 (18:40 +0000)]
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