Commit Graph

267 Commits

Author SHA1 Message Date
danielk1977 78c2e6d837 Allow recently added keywords 'savepoint' and 'release' to be used as database object names. Just as they could be prior to 3.6.8. Ticket #3590. (CVS 6186)
FossilOrigin-Name: 54ab8326a1ea574b183f84c8465315e989a23ca4
2009-01-16 11:04:58 +00:00
danielk1977 fd7f045225 Add the savepoint feature. This feature is largely untested at this point. (CVS 6036)
FossilOrigin-Name: 34b56600ec0c5cd7b5faab265750252bc9850e3e
2008-12-17 17:30:26 +00:00
drh b27b7f5d3b More explicit type casting to silence VC++. (CVS 6006)
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +00:00
drh 128255fce6 Fix two unused-parameter warnings in the parser. (CVS 5990)
FossilOrigin-Name: cf419d0b01c0144b752f4283ba9668747339b218
2008-12-08 16:01:12 +00:00
drh fbdc7f69b3 Allow the entire FROM clause of a SELECT statement to be in parentheses. (CVS 5973)
FossilOrigin-Name: 72ebc8cbe00f77f7864146de7c0954c4f1c59b8d
2008-12-03 23:23:40 +00:00
danielk1977 f96a3778f9 Fix a bug in pragma table_info. Column default values specified as negative numbers (col DEFAULT -1) were being reported as NULL by the pragma. (CVS 5839)
FossilOrigin-Name: 0e448bc6096c7ee3b21dbd22dc4ca9470ae7ba31
2008-10-23 05:45:07 +00:00
drh ddecae7995 Fix to sqlite3DbMallocRaw() when SQLITE_OMIT_LOOKASIDE is defined so that
once it fails it continues to fail.  Add a comment explaining why this is
important. (CVS 5804)

FossilOrigin-Name: 63dd8be70d333c56171dfd254406abb1af685b0f
2008-10-11 17:35:16 +00:00
drh 8867e38aab Fix a OOM segfault in the BETWEEN operator parsing - discovered while
using SQLITE_OMIT_LOOKASIDE. Add SQLITE_OMIT_LOOKASIDE to test_config.c and
bypass lookaside.test when defined. (CVS 5803)

FossilOrigin-Name: 2a21d52c651ba113c472b6686dcf8ba009924305
2008-10-11 17:06:04 +00:00
shane 49ffdbf47e Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797)
FossilOrigin-Name: 282c6a46b25f4e4278fd4c8b0b1cde1de28d8f51
2008-10-10 18:25:45 +00:00
danielk1977 50af3e1d2d Change 'pragma foreign_key_list' to return some extra information. (CVS 5795)
FossilOrigin-Name: 3bb33cf59da49f13201c0226e964cda067a4e780
2008-10-10 17:47:21 +00:00
drh 931577f1cc Simplify the parser reduction code for the LIMIT clause on an UPDATE or
DELETE. (CVS 5792)

FossilOrigin-Name: 3de179630e812396ec29e77f7a06758472d0802f
2008-10-10 14:27:16 +00:00
shane 273f619b58 Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788)
FossilOrigin-Name: c10e8a3c7ab7f21c95f24d0aba590f5b18a4b028
2008-10-10 04:34:16 +00:00
shane 4281bd4204 Initial support for LIMIT clause on DELETEs and UPDATEs. Changes likely with more testing. The code can be omitted with the define SQLITE_OMIT_UPDATE_DELETE_LIMIT. (CVS 5774)
FossilOrigin-Name: 9c8b132e34bc6024bc9898182f8f93127ca52ac9
2008-10-07 05:27:11 +00:00
danielk1977 b1c685b0c8 Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772)
FossilOrigin-Name: 83a7e446b2d4846a6f92bd831a2adaa265f5a786
2008-10-06 16:18:39 +00:00
danielk1977 85574e31cb Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766)
FossilOrigin-Name: 98ca5580f5acd2e7b3ce512520ec0527f221505e
2008-10-06 05:32:18 +00:00
drh 7d10d5a6e1 Refactor the name resolution procedures in the code generator. (CVS 5569)
FossilOrigin-Name: daf730d1defa78fb8b80a78f9108ac35a13e09f6
2008-08-20 16:35:10 +00:00
drh 812389666c Disallow empty triggers. Ticket #3283. This does not present a backwards
compatibility problem because prior to this change, an empty trigger would
segfault. (CVS 5550)

FossilOrigin-Name: 571adab9d2215fac6ed375257a070b8ffa9d9808
2008-08-11 14:26:35 +00:00
drh e72e728b64 Back out part of (5546): Even though ON CONFLICT clauses on CHECK constraints
are no-ops, if a schema includes them, the database will be unreadable if
we do not at least parse and ignore the clause. (CVS 5548)

FossilOrigin-Name: efcaeb68f943daf135972ae045eff1ca157a7f22
2008-08-08 15:06:21 +00:00
drh 200a81dcb5 Disallow the ON CONFLICT clause on CHECK constraints. The syntax used to be
allowed but never worked, so this should not present compatibility problems.
Other internal grammar simplifications. (CVS 5546)

FossilOrigin-Name: 4cedc641ed39982ae8cbb9200aa1e2f37c878b73
2008-08-08 14:19:41 +00:00
shane 04e86f4d99 Omit calls to sqlite3Pragma() if SQLITE_OMIT_PARSER defined. Not technically needed, as the entire generated parse.c file should not be included. (CVS 5506)
FossilOrigin-Name: 10e0450896a8b92b160f2e670e8d5a909c1c67ba
2008-07-31 01:40:42 +00:00
drh 633e6d57d9 Implement the "lookaside" memory allocation cache. Use of this cache makes
the speed1.test script run about 15% faster.  Added new interfaces to
control the cache. (CVS 5488)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh e54a62ad85 Make sure expression spans are set correctly for "x.*" expressions in
the result set of a SELECT.  Ticket #3229. (CVS 5438)

FossilOrigin-Name: 17a9984e7668be388c4042c070718a02b284a336
2008-07-18 17:03:52 +00:00
drh a9671a22b3 Remove obsolete code from select.c, including the "affinity" parameter
to the sqlite3Select() module. (CVS 5380)

FossilOrigin-Name: cbd3c1585b7a8f8042aa1448fe1be87de056c41a
2008-07-08 23:40:20 +00:00
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