drh
3773c25f16
Introduce the concept of "weak fallback" in the parser. A weak fallback
...
only occurs if a syntax error would result otherwise.
FossilOrigin-Name: c41d7079fb63831bd2f009b64cbf5a423e8119e6b841bfd9bd5a2d85fba3b142
2018-06-28 03:38:49 +00:00
dan
67a9b8eded
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC.
...
FossilOrigin-Name: 5f04b016467342b5a796bf702ed25b621eb86f2961c1e703d276c93f2cb6aa89
2018-06-22 20:51:35 +00:00
dan
d31e7addd6
Update the amalgamation build script to include window.c.
...
FossilOrigin-Name: 21d2f4a62eceab0de0b4669bf3e81eb71512211ed710ce0eb525695fb7309d6b
2018-06-09 17:58:51 +00:00
dan
e3bf632cc2
Add support for the WINDOW clause.
...
FossilOrigin-Name: 19c983b511f1c823fdfb051713681b4c779f02fa83b41189afca0a9b8b72048d
2018-06-08 20:58:27 +00:00
dan
2b1287cf44
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 83d6416a868fac81a78c9507185a48d00920e4322276245e285946f760915f4a
2018-06-04 08:28:18 +00:00
drh
4031bafafb
When compiling with SQLITE_DEBUG, add run-time checks to ensure that no
...
statement aborts unless either there have been no writes or else there is
a statement journal.
FossilOrigin-Name: 5a4542dbcf17a9f7fed600897555c271e1651fd50eb41d0b126725b486e1d14c
2018-05-28 17:31:20 +00:00
dan
83023a3357
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: 6232519899efc568465d8fcc9fcd79d46a2ce4ec05109d26d5eb1ebd239cd596
2018-05-25 09:36:27 +00:00
drh
cf8784cd8f
Addition cases for rtree preformance testing in speedtest1.c. Add the
...
--nodiff option to the speed-check.sh script.
FossilOrigin-Name: 95f2d62cf3cf8dbe0f12b652b47fe1f8e0f52bc269e269955fafdf802afc47c1
2018-05-24 16:18:35 +00:00
dan
86fb6e1738
Start of experimental implementation of SQL window functions. Does not yet
...
work.
FossilOrigin-Name: 3781e520854808fe02ad3fe77dd11fc917448c58ff1fd79123289dd91937decd
2018-05-16 20:58:07 +00:00
drh
fc0ec3e5e8
Add new interfaces for accessing the list of SQL keywords:
...
sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check().
FossilOrigin-Name: 7dd34e3776fed90a49344d54a1b68bb59f7957b5a8a1a367087b7cafb63111c1
2018-04-25 19:02:48 +00:00
drh
7eabc44dee
Add the new DO and NOTHING keywords to the keyword lists maintained
...
by various extensions and auxiliary programs.
FossilOrigin-Name: 77a98a0781cd8450e2100111e70526db6a51d7e58e3c505ea87f685388099e82
2018-04-25 17:10:30 +00:00
drh
05ef50d08a
Fix an unreachable branch associated with stack overflow in the
...
LEMON-generated parser.
FossilOrigin-Name: e3064ba3b68ca2a1c54561756e8c898866a19ef6e785d315171cd47827a50c85
2018-04-23 00:25:31 +00:00
drh
fd39c5874a
Performance improvements on the main loop of the LEMON-generated parser.
...
FossilOrigin-Name: fec1ebadeb9d6b55b19a1c159c543fd7ae67b3307c4caee4d2541bd783630e23
2018-04-21 22:40:08 +00:00
drh
539e741e50
Enhance LEMON to track which symbols actually carry semantic content.
...
Output the list of symbols that do not carry content at the end of the
report, but do not (yet) do anything else with the information.
FossilOrigin-Name: dcf2bafc159179859b91ffea3a4ebd70b5ca6de9e1d515eaf9afde8cfff26c6c
2018-04-21 20:24:19 +00:00
drh
fb32c44e41
Add the %extra_context directive to lemon, as an alternative to %extra_argument.
...
Use this to improve the performance of the parser.
FossilOrigin-Name: be47a6f5262a43f477700579512fe7112a0872faedcbbe5c3383d13a08af6440
2018-04-21 13:51:42 +00:00
drh
9f88e6d861
Add the -dDIRECTORY command-line option to LEMON.
...
FossilOrigin-Name: 9cd20475ff3b2ca1a58e441194c921780d25bdb9b9c744a6b4541b888194efb8
2018-04-20 20:47:49 +00:00
drh
f1a0223077
Merge the Lemon enhancement from trunk, resulting in smaller parser tables.
...
FossilOrigin-Name: 641f41722c68f1d51251b10d4d3d7c473d08ee999f6db20023ef6dcd4dc5f6e8
2018-04-16 14:36:34 +00:00
drh
ed0c15b52e
Lemon enhancements: (1) Do not allocate space for the 'error' non-terminal
...
if it is not used. (2) Fix an off-by-one problem so that 'unsigned char' can
be used for symbol numbers if the number of symbols is 256.
FossilOrigin-Name: 3b7801acff91905d0e78e06121ebcf2664f6de5f605699dc8726ec9bcb558eb8
2018-04-16 14:31:34 +00:00
drh
0a6259f539
Remove the MySQL upsert syntax. As an optional alias to the insert table
...
name in order to finish out PostgreSQL upsert syntax emulation.
FossilOrigin-Name: 810d9f63be46c1452718b05e51c519fb64e9fabf2f1813b5e07b1041dbb71880
2018-04-16 13:26:53 +00:00
drh
fcfd756fe3
Break out the upsert code into a separate source file.
...
FossilOrigin-Name: 389806b05f163687d8eb858b0f87f9a2d02e90af9f2097924a66715f05177613
2018-04-12 21:42:51 +00:00
drh
6cd7d489db
Update the upsert parsing so that it accepts conflict-target labels using
...
the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY"
syntax.
FossilOrigin-Name: c48f64d8ae2625a19267b02e4a173a07766934235ad3052cd9d38f5ecbcbfbc3
2018-04-12 15:43:05 +00:00
drh
35e86bf15d
Merge changes from trunk.
...
FossilOrigin-Name: 9f6f11805eb7cc02f7eb3044250f3981d46d2dbf0c421bd73e7f8b437390db25
2018-04-12 12:25:45 +00:00
mistachkin
8384e43c18
Include the 'sqlite3rebaser_' APIs in the Windows '.def' file.
...
FossilOrigin-Name: 56e4965f7ac850c59596120878434f5ef023e77919ef9416d20812eac764bac1
2018-04-10 18:56:21 +00:00
drh
2c2e844a36
More complete parsing of UPSERT, including UPSERT within a trigger.
...
The sqlite3Insert() logic to actually perform the UPSERT is not yet
implemented, however.
FossilOrigin-Name: 5cc2a5a315a2f26b392811de45b3dc352873a173c2c6c65f37ce2e5f88a71cd2
2018-04-07 15:04:05 +00:00
drh
12f6839380
Enhance LEMON to show precendence of symbols and all rules in the report
...
that is generated in parallel to the parser.
FossilOrigin-Name: 602fbd8149b53d8f0e9a223cc1aec912e7df03fca35071e8d707776ce225371c
2018-04-06 19:12:55 +00:00
drh
b873f4e404
Prepend linkage macros to the sqlite3rebaser interfaces.
...
FossilOrigin-Name: c64e8f377fe4fa321ebd04806cc27b19287e6fc3523b9988c0a70cad9fce1c18
2018-03-24 00:19:18 +00:00
drh
2825e4ebb1
Merge the latest enhancements from trunk.
...
FossilOrigin-Name: c8083de14b54fba1071385f8530d03d5684efd4963fde0f83ddc53ae3118a75b
2018-03-01 13:44:40 +00:00
drh
8abed7b907
Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE,
...
and IS NOT FALSE operators.
FossilOrigin-Name: cf2abd59be9971a55bd3d6c5df374c6aaa23bf81819482b42f01ee2484dcd739
2018-02-26 18:49:05 +00:00
drh
007c843b0f
Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and
...
FALSE to act like constants if the names do not resolve to a column name.
FossilOrigin-Name: 40314bc999af08ab10e654241208842b4bb95b19858d11249444372250ea4160
2018-02-26 03:20:18 +00:00
drh
7436f1e491
In the speed-check.sh script, make WAL mode the default. Add the --legacy
...
option to do DELETE mode. Continue to use DELETE mode for long-term performance
graphs since WAL mode was not always available, but use WAL mode for
day-to-day performance measurements.
FossilOrigin-Name: cd81613850c0458b4b5b2460b9b38ce7ff6e557f7add9615058bb96f5a344ccd
2018-02-20 17:02:31 +00:00
drh
c083cb4422
Updates to the speed-check.sh script for improvements to the --vdbeprofile
...
option.
FossilOrigin-Name: f89c8f8ecd67f72ee730a2a334dff69b406a3dd00f50abbb54c4dc86cfab1bd1
2018-02-12 20:50:28 +00:00
drh
54cfb492b7
Fix a harmless compiler warning.
...
FossilOrigin-Name: a6c3115483d597fc77ab19fdcfd1d3437cad7e467081ad8c5315fb98c115eed9
2018-02-09 15:04:51 +00:00
drh
31a13548f8
Merge changes from trunk.
...
FossilOrigin-Name: 6ef3de810d54563c227045b16197b8011ce285ea867261946f93b2de55344f29
2018-01-24 15:02:53 +00:00
drh
b968518559
Fix harmless compiler warnings, mostly unused parameters for UDFs in the CLI.
...
FossilOrigin-Name: bfbeffab7735461acb3773242ba31dae15af9f8b0291c54a6734747bb1b36e66
2018-01-17 13:15:23 +00:00
mistachkin
98dfb2fc08
Fix compilation of 'sqltclsh.exe' for MSVC.
...
FossilOrigin-Name: abb112d9e1a51c1c2f15d1e5f3dc161c9a947841f69a56715f5f1c62603096b2
2018-01-08 14:24:08 +00:00
drh
03491a1a1a
Remove the dependency on test_windirent.h from the generated shell.c file.
...
FossilOrigin-Name: 0a50c9e3bb0dbdaaec819ac6453276ba287b475ea322918ddda1ab3a1ec4b58b
2018-01-07 21:58:17 +00:00
drh
8682e12190
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
2018-01-07 20:38:10 +00:00
drh
4574db78a4
Add the appendvfs extension and code for the sqltclsh.exe executable.
...
FossilOrigin-Name: b0a43e325c53ec0df50fd41acffbbee65eac47b9318868e6959cd39da66fa8d6
2018-01-06 13:42:27 +00:00
drh
6b9986e84a
Fix the appendvfs so that it leaves sqlite3_file->pMethods as NULL if it
...
fails to open.
FossilOrigin-Name: 46b341e3ad11b807ae50f001b970299de7ea0d523dbb639ee10f1d5aca5d958b
2018-01-06 13:33:21 +00:00
drh
f5c75626ff
Fix the shell.c.in amalgamator script so that it avoids generating
...
redundant typedef statements.
FossilOrigin-Name: 6c53c740cb4f62305689ea0a73beca83e71ed86707094e850bed975965c8c9f2
2018-01-05 20:30:54 +00:00
drh
cb7d541d3a
Replace the sqlite3_memdb_ptr() interface with the more general
...
sqlite3_serialize() interface.
FossilOrigin-Name: 8cf2ed4eff6d2e0958656e23384b05ead2128b678b0b69a591878af4190cd077
2018-01-03 16:49:52 +00:00
drh
ac442f41c1
Add support for the "memdb" VFS and the sqlite3_memdb_ptr() and
...
sqlite3_memdb_config() interfaces, to enable an SQLite database to be
manipulated as an in-memory object.
FossilOrigin-Name: fb2ac2d2fa6374084f3325b41b257c7a3ace43aade4b666ec4be93b6b70dc39a
2018-01-03 01:28:46 +00:00
drh
cf8e0e9cb7
The previous check-in had an error in the coverage reporting logic.
...
FossilOrigin-Name: ec9b19eb652e81cd3c8a5595eb39aac3aca4abe72136c4b65c9cc257594a9c92
2017-12-27 17:36:58 +00:00
drh
7038a991b0
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
2017-12-27 17:14:50 +00:00
drh
7e7b753158
In the lemon-generated parser, do not report the End-of-input character and
...
the wildcard character as missed coverage.
FossilOrigin-Name: 3fe964873da16c0e0b1c4f1945f965d4137df7a307acd6a3eb6585ffbaa2afd1
2017-12-27 16:13:22 +00:00
drh
4396c61959
In LEMON, fix an off-by-one error that can make the lookahead table one
...
byte too smal.
FossilOrigin-Name: 93792bc58a2eccc7e07b14307388350bb376db32c5055b79a44e4fa8ff91d58e
2017-12-27 15:21:16 +00:00
drh
22716cbb0b
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
2017-12-26 18:32:06 +00:00
drh
4fb5c2dcc1
Merge bug fixes from trunk.
...
FossilOrigin-Name: d76e12066fa6950f877cbe33b1892e2b0afa948978815d5b9a90cde1fff8ec98
2017-12-26 18:14:53 +00:00
drh
0d9de99c5c
Add support for measuring and reporting coverage of the parser state machine
...
using the SQLITE_TESTCTRL_PARSER_COVERAGE test-control.
FossilOrigin-Name: 1253a872dbf48656d4efd588ab61223a5ac550d9b2b932249d6ba585276ba573
2017-12-26 18:04:23 +00:00
dan
f6c37dbc8c
Add options to speedtest1.c and speed-check.sh for testing performance of
...
floating-point computatations.
FossilOrigin-Name: ebfea8728fec955b1d74b1d0a3de498fd1a32e8b39572a8fdab606ed87b169b4
2017-12-26 14:30:44 +00:00