Commit Graph

244 Commits

Author SHA1 Message Date
danielk1977 4b5255ac31 Reorganize some of the code that detects expression trees with a depth greater than EXPR_MAX_DEPTH so that they are detected earlier. This further reduces the opportunities for stack overflow. (CVS 5189)
FossilOrigin-Name: 16d4c53a8e4d3cfc1abac3b8bb44d8bfd9471e32
2008-06-05 16:47:39 +00:00
drh fdc40e9156 Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027)
FossilOrigin-Name: 4a72a7bb9c5793cdaf4ee038482053e042d8db54
2008-04-17 20:59:37 +00:00
rse 907b46ca16 add two missing initializer values (CVS 4937)
FossilOrigin-Name: bf28f1c260b3efbec3b031edb97ccb7b4b039947
2008-03-29 12:50:33 +00:00
drh b1a6c3c1cc Reinstate test cases for the limit tests. The sqlite3_limit() API is now
tested and working. (CVS 4899)

FossilOrigin-Name: 4c4be4c3c8aae97f1d85442b25afba9f0b02c8b3
2008-03-20 16:30:17 +00:00
drh 4b2f9368cb Improved test coverage for the tokenizer and sqlite3_complete() interface.
Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743)

FossilOrigin-Name: c82033faf8bdb83ce43f0dd1611408e7796d53de
2008-01-22 23:37:09 +00:00
drh 5517625960 Remove dead code from the lemon-generated parser. Better testing
of the sqlite3_file_control() interface, and in particular make sure
the interface works on :memory: databases. (CVS 4738)

FossilOrigin-Name: 83ca4fc7dc18d6deca58fe4181905eb9754e03da
2008-01-22 14:50:16 +00:00
drh c4dd3fd280 Changes to lemon to generate additional comments in the output file and
to remove unreachable code.  Additional test cases for improved test
coverage. (CVS 4736)

FossilOrigin-Name: 2a0bc1e186532a0bfe36ca18fda74a5e7a199227
2008-01-22 01:48:05 +00:00
danielk1977 6c8c8ce0e2 Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657)
FossilOrigin-Name: 86dcdfe6d7d629618ccb3c3ff0ca09f2da2d06c7
2008-01-02 16:27:09 +00:00
drh e9cf59e344 Fix a bug in the grammar. We were giving the ones-complement operator ~
the same precedence as the NOT operator, which is incorrect. (CVS 4548)

FossilOrigin-Name: b48a4bfd3288906dfb7659c37f76d345011c91a0
2007-11-17 22:23:27 +00:00
danielk1977 390025053e Allow collation sequence names to be quoted. Ticket #2744. (CVS 4537)
FossilOrigin-Name: 06749ac7afeea4adbdeb9315f3819d5224534c66
2007-11-12 09:50:26 +00:00
drh 29278e3dbb Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
danielk1977 1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh 174357527a Half-way through a major refactoring of the memory allocation.
I have not even attempted to compile so I am certain there are
countless errors. (CVS 4231)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
drh 9245c243b7 Disallow empty GROUP BY clauses. Ticket #2431. (CVS 4099)
FossilOrigin-Name: 9581e7a4a4d74b08ce5380b49862957c804e46bb
2007-06-20 12:18:31 +00:00
drh 43b788260e Fix a memory leak in the parser that can occur following a malloc failure. (CVS 4071)
FossilOrigin-Name: d0b6e9a07e99cc1a7d7f61877918c9a247899996
2007-06-15 17:03:14 +00:00
danielk1977 c9cf901d8c Add some extra tests for malloc failure during expression parsing and execution using fuzzily generated SQL. (CVS 4043)
FossilOrigin-Name: 7522d2fb3204d107b8b4816d7f39c88741f20230
2007-05-30 10:36:47 +00:00
drh 7e326c09c2 Make sure pParse->rc gets set whenever sqlite3ErrorMsg() is called. This is
added insurance that parsing will stop quickly after an error.  This change
did make the parser stop faster in some cases, which required some revisions
to tests. (CVS 4010)

FossilOrigin-Name: f84d9dab110c4415d9b772f8043397640162b6b2
2007-05-15 16:51:37 +00:00
drh 2a9abf61c7 Make sure the parser aborts quickly following a syntax error. (CVS 3996)
FossilOrigin-Name: d07cdd3c096c120d104ae13f7932c0a955324517
2007-05-15 00:09:13 +00:00
drh 4e05c83bc3 Additional parsing bugs fixed. (CVS 3981)
FossilOrigin-Name: d12a8924c6083cdff14990b4fd036ca386c2e34a
2007-05-11 01:44:50 +00:00
danielk1977 fc9760654a Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968)
FossilOrigin-Name: 2c9c94a24d52a1c9f5d1b32cbdff794a2dd74126
2007-05-10 10:46:56 +00:00
danielk1977 7a15a4beef Add a few more tests to sqllimit1.test. (CVS 3954)
FossilOrigin-Name: eeee6b71e5643511320cbe15bafa170cfd02877f
2007-05-08 17:54:43 +00:00
drh e5c941b83b Add more code to enforce the limits specified in limits.h. (CVS 3946)
FossilOrigin-Name: c59d436095b5258d7132a432c0cb6cd5a7990d85
2007-05-08 13:58:26 +00:00
drh ca5557f91d Change incremental vacuum to be triggered by a pragma rather than a command.
We have a lot to learn about this yet and we do not want to paint ourselves
into a corner by commiting to specific syntax too early. (CVS 3921)

FossilOrigin-Name: b13e497a326697ab42b429993a1eee7df3c0c3eb
2007-05-04 18:30:40 +00:00
drh 9c61cd77a5 Optional parameter in the INCREMENTAL VACUUM statement specifies how many
pages to vacuum from the database. (CVS 3919)

FossilOrigin-Name: ed713f9ccb5d0f306a79ab9931e43db2327fb435
2007-05-04 16:14:38 +00:00
drh 4f5c74e6ec Make "incremental" a fallback token so that you can set
"auto_vacuum=incremental"
without having to quote the "incremental". (CVS 3917)

FossilOrigin-Name: 9d7a2e2bb41e7baed2cdcf199cb04d7aef19c010
2007-05-04 14:14:45 +00:00
danielk1977 dddbcdcc68 Add largely untested code for the incremental vacuum function. (CVS 3876)
FossilOrigin-Name: f6a6d2b8872c05089810b1e095f39011f3035408
2007-04-26 14:42:34 +00:00
drh 15926590ed Binary file I/O infrastructure added and used to increase test coverage
for detection of corrupt database files. (CVS 3822)

FossilOrigin-Name: 479b3d965b19c3ec4cb72542718751debf8ff75c
2007-04-06 15:02:13 +00:00
drh 60218d2a0e The FOR EACH STATEMENT clause in a trigger is now a syntax error. It used
to be silently ignored.  STATEMENT is no longer a keyword. (CVS 3821)

FossilOrigin-Name: 8e2559b4da6329d7c21925d0850f7f91a3731975
2007-04-06 11:26:00 +00:00
drh fdbcdee5ff The -DSQLITE_OMIT_ATTACH=1 option now omits both the ATTACH and VACUUM
commands. Ticket #2268.
 The regression test suite depends on both of these commands
and will not run if compiled with this option. (CVS 3727)

FossilOrigin-Name: cbebfb89603044e48b3a87b79d1eefbbc5b4c8a5
2007-03-27 14:44:50 +00:00
drh a34001c9a3 Minor tweaks to collating sequences. We'll hold of making major changes
until 3.4.0, since we'll likely end up with some minor technical
imcompatibilities. (CVS 3626)

FossilOrigin-Name: 9740aa95a3f848fc663c88263a911fbc76ada243
2007-02-02 12:44:37 +00:00
drh 8b4c40d8ac First cut at adding the COLLATE operator. Regression tests pass (or at least
the quick set does) and a few new tests have been added.  But many more
tests are needed.  Rules for combining collations need to be worked out. (CVS 3624)

FossilOrigin-Name: 85cca7cd252d46ba71d302a89bc67c56146ec552
2007-02-01 23:02:45 +00:00
drh a3eb4b44c4 Parser changes to allow parenthesized numerical arguments to pragmas,
in support of the integrity_check enhancement of check-in (3609)
and ticket #2176. (CVS 3610)

FossilOrigin-Name: ab6322bf9398c2989b648b24c1ebdf09493accdf
2007-01-27 02:38:29 +00:00
drh 2b7acc3551 Allow constraint names on DEFAULT values in a table definition.
Ticket #2109. (CVS 3535)

FossilOrigin-Name: 893d58c23da2a9b900a13eaa5202d94429862136
2006-12-20 02:15:00 +00:00
drh 61dfc31d80 Query optimizer enhancement: In "FROM a,b,c left join d" allow the C table
to be reordered with A and B.  This used to be the case but the capability
was removed by (3203) and (3052) in response to ticket #1652.  This change
restores the capability. (CVS 3529)

FossilOrigin-Name: 7393c81b8cb9d4344ae744de9eabcb3af64f1db8
2006-12-16 16:25:15 +00:00
drh 154d4b2446 Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150
bytes of code space. (CVS 3432)

FossilOrigin-Name: 7e618db4579d752cc6d775c664c93e141217948f
2006-09-21 11:02:16 +00:00
drh fdd48a76a6 Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406)
FossilOrigin-Name: e4fe736cfbbdc081581911a01690576034877b72
2006-09-11 23:45:48 +00:00
drh 147d0ccc15 Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368)
FossilOrigin-Name: bc84cb54b0df09738fd90e48820dc3cdfa7828c2
2006-08-25 23:42:53 +00:00
drh 417ec6381f Change the table_info pragma to show the text of the default value expression,
not the result of evaluating the default value expression.
Ticket #1919. (CVS 3353)

FossilOrigin-Name: b4d53974c30d195c061cc7605a707d7d30c52740
2006-08-14 14:23:41 +00:00
drh f64afeb53f Fix a possible NULL-pointer deference following a malloc failure.
Error discovered by Klocwork. (CVS 3327)

FossilOrigin-Name: 368bcf264456f5506260797497bc8d8dc4897e0f
2006-07-11 10:42:36 +00:00
drh 6a03a1c5f7 For infix functions (LIKE, GLOB, REGEXP, and MATCH) treat the left
operand as the first argument for the purposes of virtual table
function overloading, even though the left operand is really the
the second argument. (CVS 3324)

FossilOrigin-Name: 6e98373ca11c9d476f4c6b1841c6e006b7a49f29
2006-07-08 18:34:59 +00:00
danielk1977 f1a381e7fc Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260)
FossilOrigin-Name: 9497c66e5533ec143d0efda4a419e4bdf922ae8c
2006-06-16 08:01:02 +00:00
drh 03bea70cd8 Add support for the MATCH operator. (CVS 3231)
FossilOrigin-Name: 815b84d5273b42978edcee0d4afe7f91a7933f4e
2006-06-13 15:37:26 +00:00
drh b9bb7c187e Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211)
FossilOrigin-Name: 898ec36b4102aaa03979f8f5c510936e57e2ae48
2006-06-11 23:41:55 +00:00
drh e09daa90ac Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210)
FossilOrigin-Name: 66370cb99bd93abb33e1e8433672da45e1795f78
2006-06-10 13:29:31 +00:00
drh 86dac2b6be Syntax errors override errors from the code generator, not the other
way around. (CVS 3192)

FossilOrigin-Name: 5031ffc665782e7b300c498fb8be168443505add
2006-05-25 12:17:31 +00:00
drh 8aa34ae0b1 Additional changes due to Coverity scans. (CVS 3130)
FossilOrigin-Name: a69f697d50124f2c0c654d56390ae83a4ac5e9e8
2006-03-13 12:54:09 +00:00
drh 187e4c6ac9 The parser now permits very large triggers - triggers with 10000 or more
statements. (CVS 3113)

FossilOrigin-Name: b4fa96d0e92182cd8792e88b4540b95912bb9f95
2006-02-27 22:22:27 +00:00
drh 8fc3345f29 Detect stack overflow in the parser and report an error. (CVS 3112)
FossilOrigin-Name: bd2c38f4670d1243284f2431b5e0712a6d1de1d7
2006-02-27 21:58:07 +00:00
drh 74161705f1 Remove unused parameters on internal APIs. Suppress warnings from
CodeWarrior. (CVS 3110)

FossilOrigin-Name: 4b22e4b847f8d5c29830baea541194ef3a0c4811
2006-02-24 02:53:49 +00:00
danielk1977 955de52c9c Add the column_origin_name() etc. APIs. (CVS 3069)
FossilOrigin-Name: 82f502cdc1fead3bf7e3190d5c9db3aee6919ed4
2006-02-10 02:27:42 +00:00