drh
5969da4a2c
Simplification of the syntax: Merely append "WITHOUT rowid" to the end of
...
the table definition.
FossilOrigin-Name: 131cc6e152abe1a2d48e6d8d40d2c2f8dbe723e7
2013-10-21 02:14:45 +00:00
drh
81eba73ebf
Experimental changes toward "index only" tables. Add the ability to specify
...
options on CREATE TABLE statements using the WITH clause modeled after
PostgreSQL and SQL Server. Only the "omit_rowid" option is currently
recognized and that option is currently a no-op.
FossilOrigin-Name: 0248ec5e6e3797575388f046d8c27f7445fe2a39
2013-10-19 23:31:56 +00:00
drh
c5cd124900
Increase the number of bits available in Expr.flags. Other tweaks aimed at
...
making expression processing more robust.
FossilOrigin-Name: 579a512538528cf4bb4381ba393c5d9e7310086b
2013-09-12 16:50:49 +00:00
drh
d58d3278cb
Performance optimization: Avoid calling convertCompoundSelecctToSubquery()
...
on queries that do not use the UNION, EXCEPT, or INTERSECT operators.
FossilOrigin-Name: c589b2fed7beabc2337d701094c22635914d9c23
2013-08-05 22:05:02 +00:00
drh
8a9789b6c1
Test cases and bug fixes for the partial index logic.
...
FossilOrigin-Name: 6b73ae7c123801787c8994113cbeb87ee96ba653
2013-08-01 03:36:59 +00:00
drh
1fe0537e51
Here begins an experimental branch for exploring the idea of a partial index.
...
This check-in is able to parse a WHERE clause on a CREATE INDEX statement, but
does not actually do anythingn with that WHERE clause yet.
FossilOrigin-Name: 6794b2dcb48b3507caccfc7867fc185818cf8291
2013-07-31 18:12:26 +00:00
drh
f7b5496e8e
Many small harmless comment changes. Removal of obsolete comments and
...
fixing misspelled words. No changes to code.
FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
drh
3c449c6b6b
Make sure extra parentheses around subqueries in the FROM clause are harmless.
...
Ticket [28c6e830f239ea5].
FossilOrigin-Name: 1c79569226db3d5a73e65a35877635ea8b478866
2013-04-30 14:06:57 +00:00
drh
832ee3d4cc
Optimize the degenerate case of a FROM clause table name enclosed all by
...
itself inside parentheses. Generate code as if the parentheses did not
exist, rather than the old behavior of manifesting the parenthesized table
into a transient table. Also, tag every FROM-clause SELECT subquery that is
generated by a parenthesized FROM-clause expression using the SF_NestedFrom
flag. The new SF_NestedFrom flag is not yet used for anything.
FossilOrigin-Name: 7fecced466d86a66b0b751c5b5608141e134fe2d
2012-12-18 19:36:11 +00:00
drh
e924041846
Remove old commented-out code from parse.y. Fix some over-length source lines
...
in parse.y. No logical changes.
FossilOrigin-Name: 7e30c021abe5a559918efaa5fc0b21db8ca782ad
2012-12-18 13:12:03 +00:00
drh
0a8a406e9b
Some errors in veryquick resolved. Many more to go.
...
FossilOrigin-Name: 972443b4eb282d45507da06c75e2cd46dd72326b
2012-12-07 18:38:16 +00:00
drh
ab35eaed1f
Parser bug fix: Make sure the table constraints allowed by prior releases
...
can still be parsed, even if they are technically not allowed by the
syntax diagram.
FossilOrigin-Name: e536ac041815b118c461ceee798f9b7283269f58
2012-05-12 18:29:53 +00:00
drh
aeb281c2ea
Further changes to constraint parsing to support legacy syntax.
...
FossilOrigin-Name: 38bf90af1ede6ee64ef7be66392e895e60c9126e
2012-05-08 11:17:33 +00:00
drh
4dc330dd33
Adjust the parser so that certain legacy schema constructs (that are not
...
valid according to the syntax diagram) continue to be accepted, so that
older databases that happen to use those constructs are still readable.
This fixes an issue introduced by check-in [1b75f301affac6]
FossilOrigin-Name: a1c014d8a87c8940b3a037d8d8cc4d5678809802
2012-05-07 19:21:36 +00:00
drh
f68686ae52
When a named CHECK constraint fails, include the name of the constraint
...
in the error message.
FossilOrigin-Name: 1b75f301affac654bee24fa247046ea0782d3c4d
2012-03-30 15:48:48 +00:00
drh
f9df449809
Change the name of a local variable from "not" to "bNot" to lessen the
...
chances of it colliding with some prior #define in the appliation.
FossilOrigin-Name: cbdd86387630600b309de4aaeaa131ec7b053ce2
2012-03-30 12:10:38 +00:00
drh
2938f924cc
If a CHECK constraint is named, report that name on the error message when
...
the constraint fails.
FossilOrigin-Name: 9a0f90d9deb335ac71044b8afa81538d85cc7ccf
2012-03-07 19:13:29 +00:00
drh
76aad0d1df
Disable the ability to have multiple values in the VALUES clause of an
...
INSERT statement when SQLITE_OMIT_COMPOUND_SELECT is used.
FossilOrigin-Name: 92131195d0c24c0116992db51ed5d8316626ba57
2012-02-10 17:38:58 +00:00
drh
8395b7b6cb
Remove a couple of unnecessary nonterminals from the grammar.
...
FossilOrigin-Name: 2b2a7d8d736d1e72f847f443b9957e41da6149c9
2012-01-28 19:44:22 +00:00
drh
b421b894e0
Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE.
...
FossilOrigin-Name: 230983e86a897caa91a487ef2d4c1c7fb7c79f10
2012-01-28 19:41:53 +00:00
drh
7b113bab79
Add support for multiple rows of VALUES in an INSERT statement.
...
FossilOrigin-Name: eb3b6a0ceb8bfb9fd59ff5fec420f863a9b5c4e4
2012-01-28 15:22:22 +00:00
drh
7e02e5e6b5
Begin adding the data-structure explaining subsystem. All is contained within
...
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
drh
d4e244ad56
Remove unused fields from the Parse object. Documentation and formatting
...
improvements on data structure definitions.
FossilOrigin-Name: 431556cac0b2c86d7f6a60412ff1023feeaafedf
2011-11-29 15:40:32 +00:00
drh
8342e49f62
Enhance the LIKE/GLOB query optimization so that it works as long as there
...
is an index with the appropriate collating sequence and even if the default
collating sequence of the column is different.
Ticket [4711020446da7d93d99].
FossilOrigin-Name: 9f932655f9eb9fdab16d7deed98b7cad414e0ca6
2010-07-22 17:49:52 +00:00
drh
1dca1458cc
Fix a parser bug that was causing the relative precedence of LIKE and <
...
operators to be incorrect.
FossilOrigin-Name: 3e5975aa3bb9df9e1f954bcce99384e0f13cb453
2010-07-19 02:30:33 +00:00
dan
473c1bf241
Change a comment inside a block of code in parse.y from C++ to C style.
...
FossilOrigin-Name: dea7d33b2d7d25280a31a2b9c1573f4292b81187
2010-07-15 11:14:21 +00:00
drh
094430eb71
Make the result of an IN or NOT IN expression with an empty set on the
...
right-hand side always either false or true, respectively, even if the
left-hand side is NULL. Ticket [80e031a00f45dc]
FossilOrigin-Name: c288ac644d0bfda2b9bc204dc86df8e74d4f6843
2010-07-14 18:24:06 +00:00
drh
c29c5aa1fd
Restore the incorrect legacy ON INSERT syntax to the parser as a no-op.
...
That way, older databases that actually use this meaningless syntax will
still be readable.
FossilOrigin-Name: 54b955c36ba5c139a63c6031855305b764d3fa6c
2009-12-09 21:43:36 +00:00
shaneh
5e17e8b7dd
Fix a couple of compiler warnings under MSVC.
...
FossilOrigin-Name: e3aa0870fce0666bf8c67ad6ec23e135d03b604a
2009-12-03 04:40:47 +00:00
drh
6a51741d46
Suppress excess OP_Null opcodes caused by binary IS or IS NOT operators
...
that are converted into unary ISNULL or NOTNULL operators.
FossilOrigin-Name: cff1b36ab2c417611f59e96694005c03762788d2
2009-11-12 03:46:34 +00:00
drh
c81c11f62c
Remove the obsolete "$Id:$" RCS identifier strings from the source code.
...
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
fcf486c3b4
Add evidence marks to parse.y. Fix a broken evidence link in e_fkey.tcl.
...
FossilOrigin-Name: 0441d28e84af20e3a98a07a43471784ac09c78db
2009-10-21 13:48:24 +00:00
dan
8099ce6f4a
Add missing comments to fkey.c. Also, change the terminology used for comments and names in fkey.c from "referenced/referencing" to "parent/child". This is arguably less correct, but is easier to follow.
...
FossilOrigin-Name: 540c2d18e14c277b55f95729fbafc04ca66466b2
2009-09-23 08:43:35 +00:00
drh
6a2fe09387
Generalize the IS and IS NOT operators so that their right-hand side can be
...
an arbitrary expression and not simple the constant NULL. They work like
= and <> except that NULL values compare equal to one another an unequal to
everything else.
FossilOrigin-Name: 98853f6104076c50ea92175e17a3254bfbbd4619
2009-09-23 02:29:36 +00:00
drh
7ba5bc5bf2
Factor the UMINUS and UPLUS tokens out of the parser so that the parser
...
tables can go back to using 8-bit values instead of 16-bit values.
FossilOrigin-Name: 3fc938c961fd7810594224b91a2d6e1ac9e48084
2009-09-22 20:08:34 +00:00
drh
9c8abf2b14
The NO ACTION action really should be no-action and not RESTRICT.
...
FossilOrigin-Name: 55b263fa2b2fed8c721154e3c48f4226be95065c
2009-09-22 19:53:41 +00:00
dan
75cbd984f7
Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030e9757d052af0f394e56bea96b8b59b|1ff6d29030].
...
FossilOrigin-Name: fb6ceed388f6d75bdc2ac2f43e5c98da74e2a448
2009-09-21 16:06:03 +00:00
dan
1da40a381f
Check in implementation of foreign key constraints.
...
FossilOrigin-Name: d5d399811876391642937edeb9e8434dd9e356f5
2009-09-19 17:00:31 +00:00
shane
5eff7cf0c9
Removed some warnings from the MSVC compile. (CVS 6965)
...
FossilOrigin-Name: ee034cfc71425745dda8d5fee58ae95f937c86cd
2009-08-10 03:57:58 +00:00
drh
b1819a0b95
Make explicit the restrictions on UPDATE, DELETE, and INSERT statement syntax
...
within triggers. Ticket #3947 . (CVS 6840)
FossilOrigin-Name: c8bf40df7be728b11bb633516d1988c6064a9d70
2009-07-03 15:37:27 +00:00
danielk1977
9b87d7b904
Do not ignore alias "a" in a query of the form "SELECT ... FROM (...) AS a" Fix for #3935 . Also expand upon (6751) to fix some similar obscure memory leaks. (CVS 6831)
...
FossilOrigin-Name: 42f9d1e56483a59353bff57d75f09ed67e1d9c3c
2009-07-01 14:56:39 +00:00
drh
8bfdf72136
Reorganize and cleanup the prepared statement object. Remove code that has
...
been commented out for ages and is no longer relevant to anything. (CVS 6786)
FossilOrigin-Name: 37ae5f5e8feb34a8e6e8b34aa18df1e9a1ce55cb
2009-06-19 14:06:03 +00:00
drh
8a415d3743
The lemon parser generator now inserts yytestcase() macros on reduce action
...
and on each destructor, to verify that all have been executed. yytestcase()
is a no-op by default but can be set to something more useful inside
of %include. (CVS 6755)
FossilOrigin-Name: fe9c9177340a3dc372ffa1b851030d005e0c46db
2009-06-12 13:53:51 +00:00
drh
994704d1cb
Enable the SQLITE_LIMIT_FUNCTION_ARG limiter. (CVS 6753)
...
FossilOrigin-Name: a17e3317176772446abdc8ebe6fb6f0d3b7ac018
2009-06-12 12:04:16 +00:00
drh
13d32d196e
An additional memory leak in the parser fixed. Ticket #3911 . (CVS 6751)
...
FossilOrigin-Name: 6197b492714e16396941ae6ba61f90f708d54728
2009-06-12 03:47:36 +00:00
drh
d3ec02d38e
Modifications to the parser to eliminate unreachable code. (CVS 6749)
...
FossilOrigin-Name: 457e0b245b1833c0d297bc6f4ff9785e6a2cee02
2009-06-12 02:27:14 +00:00
drh
33e619fc1c
Additional refinements to Expr handling. Restore compression of trigger
...
expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue.
Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682)
FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff
Simplifications to the Expr object: Remove Expr.span completely and convert
...
Expr.token into a char* Expr.zToken. Also simplify the Token object by
removing the Token.dyn and Token.quoted fields. (CVS 6681)
FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +00:00
drh
aaac8b4e1b
Enhance the parser to allow nested parentheses in the module argument of
...
a CREATE VIRTUAL TABLE statement. (CVS 6625)
FossilOrigin-Name: 93772bd7f56a5158eb46a992ba932f4695cb219f
2009-05-11 18:22:30 +00:00
drh
24fb627afa
Record within the Token structure itself whether or not the token has
...
been dequoted. This steals one bit from the length of a token and
thus limits the size of tokens to 1GiB. (CVS 6589)
FossilOrigin-Name: 12bcb03d9b9e1a31c1a3c67cbb4263cc0af2f3d0
2009-05-01 21:13:36 +00:00