/ History for src/parse.y
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/parse.y

2020-09-01
11:20
[9ce4dfb7] part of check-in [84d54eb3] Lemon updates: (1) include the #defines for all tokens in the generated C file, so that the C-file can be stand-alone. (2) If the grammar begins with a %include {...} directive on line one, make that directive the header for the generated C file. (3) Enhance the lemon.html documentation. (check-in: [84d54eb3] user: drh branch: trunk, size: 64273)
2020-08-27
18:36
[2ca57a83] part of check-in [5ce34a95] Include the original text of the CHECK constraint in the error message for anonymous CHECK constraints. (check-in: [5ce34a95] user: drh branch: trunk, size: 64059)
2020-07-30
19:19
[b2a9db24] part of check-in [e8a66515] Merge latest trunk changes into this branch. (check-in: [e8a66515] user: dan branch: begin-concurrent, size: 64430)
2020-07-29
16:18
[ba36980b] part of check-in [a80ae2c9] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c9] user: drh branch: typos, size: 64033)
2020-07-18
18:44
[5bdb760a] part of check-in [4c0d208c] More harmless compiler warning fixes. (check-in: [4c0d208c] user: drh branch: trunk, size: 64032)
2020-07-14
19:51
[ecb9abdd] part of check-in [4f6d8d0e] Support UPDATE...FROM statements in trigger programs. (check-in: [4f6d8d0e] user: dan branch: update-from, size: 64029)
2020-07-13
18:04
[37558683] part of check-in [5ee3c27e] Merge latest trunk changes with this branch. (check-in: [5ee3c27e] user: dan branch: update-from, size: 64018)
2020-07-03
21:18
[b6b4b02f] part of check-in [b27bb4fe] Fix a compiler warning about an unused procedure in the parser. (check-in: [b27bb4fe] user: drh branch: trunk, size: 63952)
17:24
[9ea710b5] part of check-in [1f96a29d] If the amalgamation is built using OPT_FEATURE_FLAGS = -DSQLITE_UDL_CAPABLE_PARSER then it can be compiled with or without the -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT option and it works either way. (check-in: [1f96a29d] user: drh branch: trunk, size: 63905)
2020-06-19
15:24
[0e111f87] part of check-in [7a876209] Extend the refactoring into extensions. Clean up stray newlines. (check-in: [7a876209] user: drh branch: trunk, size: 63335)
2020-04-27
20:55
[5f2150bb] part of check-in [f353a1a6] Allow a FROM clause in UPDATE statements. (check-in: [f353a1a6] user: dan branch: update-from, size: 63402)
2020-04-09
18:29
[0724899b] part of check-in [92f71a88] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88] user: drh branch: begin-concurrent, size: 63734)
2020-04-01
17:10
[6dae1e90] part of check-in [7e666b60] Add support for the "ANALYZE WITH LIMIT=N" syntax. (check-in: [7e666b60] user: drh branch: analyze-with-limit, size: 63638)
2020-03-26
00:29
[c8eff386] part of check-in [27936e68] Reinstate the optimization that converts "x IN (y)" into "x==y". (check-in: [27936e68] user: drh branch: trunk, size: 63336)
2020-03-20
20:00
[dc452168] part of check-in [e7343ce7] Add the EXPLAIN TABLES syntax that uses SQLITE_STMTMODE_TABLELIST. Seems to work, but not well-tested. (check-in: [e7343ce7] user: drh branch: sqlite3_stmt_mode, size: 63402)
2020-03-19
21:17
[a6d71513] part of check-in [3cf7537b] Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: [3cf7537b] user: drh branch: sqlite3_stmt_mode, size: 63327)
2020-03-10
19:24
[85751838] part of check-in [5f60b527] Enhanced detection logic for preventing the use of static schema expressions by code generating routines. (check-in: [5f60b527] user: drh branch: trunk, size: 63287)
2020-02-04
20:08
[9bca3837] part of check-in [f253618a] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [f253618a] user: dan branch: begin-concurrent, size: 63652)
2020-01-28
18:09
[61ae75b1] part of check-in [8ac26a23] Reinstate the optimization of converting "a IN (C)" into "a=C" but only if C is a constant. If the RHS is a table column, the complications of managing affinity and collations become too involved to mess with. (check-in: [8ac26a23] user: drh branch: trunk, size: 63254)
2020-01-15
13:34
[20725f7d] part of check-in [95ba2f50] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50] user: drh branch: begin-concurrent, size: 63373)
2019-12-10
20:41
[c8d2de64] part of check-in [136cdefb] Enhance LEMON to provide the ability to mark a rules as one that will never reduce due to intervention of actions. Use this new capability to designate the EXPLAIN rule as NEVER-REDUCES. (check-in: [136cdefb] user: drh branch: trunk, size: 62975)
15:05
[33fbc05d] part of check-in [707a058a] Fix parser bugs: require a semicolon after an EXPLAIN command. (check-in: [707a058a] user: drh branch: trunk, size: 62954)
2019-11-02
13:45
[17c1ae26] part of check-in [167cd574] "STORED" is not actually a keyword. The parser looks for STORED as an ordinary identifier. (check-in: [167cd574] user: drh branch: trunk, size: 62949)
2019-10-30
13:00
[ea567d2a] part of check-in [13fe6978] New tokens ALWAYS, GENERATED, and STORED used by generated columns should all be fallback tokens. (check-in: [13fe6978] user: drh branch: trunk, size: 62956)
2019-10-28
04:20
[5f09d382] part of check-in [a1e1ba91] ALWAYS macro added for coverage. (check-in: [a1e1ba91] user: drh branch: trunk, size: 62885)
2019-10-24
23:43
[97d46c41] part of check-in [4ec57d88] Merge fixes from trunk. (check-in: [4ec57d88] user: drh branch: generated-columns, size: 62877)
2019-10-23
18:09
[72886e0c] part of check-in [978b2d20] When a vector comparison appears in the WHERE clause and the constraint side has a COLLATE clause on the first term of the vector, be sure to honor that COLLATE clause. Ticket [135c9da7513e5a97]. (check-in: [978b2d20] user: drh branch: trunk, size: 62662)
2019-10-16
19:31
[bc453ce8] part of check-in [7f9f90b1] Simple INSERT and SELECT operations working with VIRTUAL columns. (check-in: [7f9f90b1] user: drh branch: generated-columns, size: 62788)
12:18
[516984fb] part of check-in [11d472c1] Initial experimental code for generated column support. Non-functional. (check-in: [11d472c1] user: drh branch: generated-columns, size: 62789)
2019-10-09
17:06
[916f6f75] part of check-in [5ba8cee8] An alternative, experimental lookaside memory allocator that uses two different slot sizes. (check-in: [5ba8cee8] user: sperry branch: 2-size-lookaside, size: 62619)
2019-10-05
14:39
[19c8b65c] part of check-in [17ce1c49] Performance optimization to the lookaside-memory disabling mechanism. (check-in: [17ce1c49] user: drh branch: trunk, size: 62573)
2019-09-30
16:14
[601f2ac4] part of check-in [a003818f] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [a003818f] user: drh branch: begin-concurrent, size: 62959)
2019-09-23
12:38
[50bfcb34] part of check-in [f907395e] Omit the sqlite3IntTokens array constant for a code simplification. (check-in: [f907395e] user: drh branch: trunk, size: 62561)
2019-09-16
12:08
[ea6ec925] part of check-in [93b9ef3f] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f] user: drh branch: begin-concurrent, size: 62972)
2019-08-27
19:59
[6f284f74] part of check-in [94085fb3] Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e]. (check-in: [94085fb3] user: dan branch: trunk, size: 62574)
17:01
[152a7275] part of check-in [7f5168a7] Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20] (and ticket [e39d032577df6942]) as it causes difficult affinity problems as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault is no longer a factor due to countless other changes of the previous 5 years. (check-in: [7f5168a7] user: drh branch: trunk, size: 62348)
2019-08-23
21:11
[1e469e2b] part of check-in [12d2cf88] Attempt to parse the NULLS LAST clause more efficiently. A few cycles were saved, but at the expense of more code. And there is a bug was introduced somewhere. Not worth continuing down this line. (check-in: [12d2cf88] user: drh branch: dead-end, size: 63852)
20:33
[d127bf3f] part of check-in [d26fdfa3] Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup. (check-in: [d26fdfa3] user: dan branch: nulls-last, size: 63596)
2019-08-12
16:36
[61e979ce] part of check-in [07babb0f] Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index. (check-in: [07babb0f] user: dan branch: nulls-last, size: 63596)
2019-08-05
18:01
[6d03a24b] part of check-in [a29f2a7d] Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other fields and variables named "affinity" and display affExpr it in sqlite3TreeViewExpr() output. (check-in: [a29f2a7d] user: drh branch: trunk, size: 63370)
2019-07-16
19:44
[22889d25] part of check-in [9e664585] Add new assert() statements in an attempt to help static analyzers avoid false-positives. (check-in: [9e664585] user: drh branch: trunk, size: 63373)
2019-07-13
18:27
[8ec5ce13] part of check-in [85fd70fe] Fix a memory leak that could follow an OOM in the new FILTER code. (check-in: [85fd70fe] user: dan branch: trunk, size: 63353)
16:22
[ef494825] part of check-in [5dac8c38] Rework the FILTER clause implementation to share more code with window functions. (check-in: [5dac8c38] user: dan branch: filter-clause, size: 63306)
2019-07-11
18:43
[6f2e8ec7] part of check-in [be01b801] Change the parser on this branch to more closely match trunk. This saves a few more cycles. (check-in: [be01b801] user: dan branch: filter-clause, size: 63379)
2019-07-08
21:06
[eae942fc] part of check-in [7fff0803] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff0803] user: drh branch: begin-concurrent, size: 63472)
2019-07-02
11:56
[2902f393] part of check-in [1f1ae2d6] Experimental implementation of FILTER clause for aggregate functions. (check-in: [1f1ae2d6] user: dan branch: filter-clause, size: 63041)
2019-06-11
10:43
[026e3e6f] part of check-in [36ea13e0] Add the new sqlite3ExprUnmapAndDelete() function and use it in place of separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete(). (check-in: [36ea13e0] user: drh branch: trunk, size: 63074)
01:30
[9e13554d] part of check-in [211c8002] Remove a comment made obsolete by check-in [71643deb6bbad4b4]. No changes to code. (check-in: [211c8002] user: drh branch: trunk, size: 63070)
2019-06-10
19:17
[05480254] part of check-in [71643deb] Have ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" expressions, just as other queries do. Fix for [533010b8ca]. (check-in: [71643deb] user: dan branch: trunk, size: 63421)
15:34
[954e2624] part of check-in [567b1309] Handle renaming a column or table when the schema contains a (meaningless) index on the constant expression ('text' IN ()) or ('text' NOT IN()). Fix for [fd76310a]. (check-in: [567b1309] user: dan branch: trunk, size: 63529)
2019-05-18
19:49
[91f76f43] part of check-in [d91095ba] Avoid including the comment in the output of "PRAGMA table_info" in situations where there is a comment following a DEFAULT value within a CREATE TABLE statement. (check-in: [d91095ba] user: dan branch: trunk, size: 63115)
2019-05-14
21:51
[a0a373aa] part of check-in [5d3a6e18] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 63418)
2019-04-19
13:38
[22f64d8a] part of check-in [7713996a] Streamline the processing of the AND operator. Slightly smaller and faster. (check-in: [7713996a] user: drh branch: trunk, size: 63020)
2019-04-15
14:59
[8b610cda] part of check-in [7c328e88] Merge the latest enhancements from trunk. (check-in: [7c328e88] user: drh branch: begin-concurrent, size: 63420)
2019-04-05
21:17
[8de9b1da] part of check-in [c0381b0b] Remove some stale references to the addopcodes.tcl script from documentation. (check-in: [c0381b0b] user: drh branch: trunk, size: 63022)
20:56
[0d461b67] part of check-in [d2728192] Eliminate the tool/addopcodes.tcl script. The purpose of that script was to keep the number of parser codes below 256 in order to save parser table space. But we have long since blown through that ceiling so the addopcodes.tcl script was just needless complexity. There is no longer any reason to keep it around. (check-in: [d2728192] user: drh branch: trunk, size: 63189)
2019-04-02
18:12
[209b0e39] part of check-in [bce01d95] Small optimizations to the grammar for window functions save about 120 bytes of space in the parser tables. (check-in: [bce01d95] user: drh branch: trunk, size: 61689)
17:45
[db16b24c] part of check-in [10aedce3] Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function (which is the default setting for EXCLUDE) silently disables the xInverse optimization. This is a feature, but we will keep it undocumented for now in case we later decide it is a bad idea. (check-in: [10aedce3] user: drh branch: trunk, size: 61792)
2019-03-19
06:40
[a020386a] part of check-in [a6d61dfd] Ensure that all the new window-function keywords can still be used as SQL identifiers. (check-in: [a6d61dfd] user: dan branch: window-functions, size: 61788)
2019-03-16
20:29
[cff56367] part of check-in [cebe09e1] Fix problems with RANGE windows and string, blob and NULL values. (check-in: [cebe09e1] user: dan branch: window-functions, size: 61759)
2019-03-14
20:53
[a2a79da7] part of check-in [d03c7533] Parse EXCLUDE clauses in window frames. They do not yet work. (check-in: [d03c7533] user: dan branch: window-functions, size: 61763)
2019-03-08
20:02
[e5628381] part of check-in [954bf369] Finish consolidation of window frame code. Add untested support for GROUPS frames. (check-in: [954bf369] user: dan branch: window-functions, size: 61349)
15:30
[e53f9012] part of check-in [667cce3d] Merge all the latest enhancements from trunk. (check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 61276)
2019-02-16
17:27
[deae85a1] part of check-in [c155125f] Add support for chaining of WINDOW definitions. (check-in: [c155125f] user: dan branch: window-functions, size: 61301)
2019-01-31
02:42
[741a270b] part of check-in [1bb17c86] If the amalgamation file "sqlite3.c" is generated using the SQLITE_ENABLE_UPDATE_DELETE_LIMIT option, but then subsequently (mis-)compiled without that option, and then a particular syntax error could cause a memory leak, but for this fix. (check-in: [1bb17c86] user: drh branch: trunk, size: 60919)
2019-01-24
16:27
[9e5fc4c9] part of check-in [2d9cd067] Fix a problem with running ALTER TABLE on a schema that contains expressions of the type "col IN ()" (empty set on RHS of IN operator). (check-in: [2d9cd067] user: dan branch: trunk, size: 60780)
2019-01-17
15:40
[489673ac] part of check-in [df08d472] Revamp the SrcList allocator routines to be methods of Parse instead of being methods of the "sqlite3" object, so that they can leave better error messages when the SrcList object grows too large. (check-in: [df08d472] user: drh branch: trunk, size: 60735)
2019-01-11
13:32
[e801b38c] part of check-in [5547f39d] The keywords TRUE and FALSE should only act as boolean literal values if unquoted. (check-in: [5547f39d] user: drh branch: trunk, size: 60767)
2018-12-15
20:59
[8206217f] part of check-in [06bb80ee] Merge latest wal2 changes into this branch. (check-in: [06bb80ee] user: dan branch: begin-concurrent-wal2, size: 61190)
2018-12-08
00:43
[a3c0db59] part of check-in [af172b53] Allow the INTO clause of VACUUM to be a text-valued expression. (check-in: [af172b53] user: drh branch: vacuum-into, size: 60833)
2018-12-07
17:28
[3bf1b720] part of check-in [036e3320] Prototype implementation for the VACUUM INTO command. (check-in: [036e3320] user: drh branch: vacuum-into, size: 60782)
2018-12-05
13:44
[9281e994] part of check-in [47b73f6b] Merge enhancements from trunk, especially the enhanced sqlite3_normalized_sql() interface. (check-in: [47b73f6b] user: drh branch: begin-concurrent, size: 60995)
2018-12-04
01:18
[c4da3ae9] part of check-in [6770ed08] Attempt to make the parser a little faster by storing the ON and USING clause in a single OnUsing object. (check-in: [6770ed08] user: drh branch: on-using-opt, size: 60622)
2018-12-03
01:47
[5cf85c2b] part of check-in [58a51123] Fix a parser bug in the use of parentheses around table-valued functions. (check-in: [58a51123] user: drh branch: trunk, size: 60638)
2018-09-28
20:58
[9e69c380] part of check-in [86750c92] Merge latest trunk into this branch. (check-in: [86750c92] user: dan branch: begin-concurrent, size: 60801)
2018-09-20
19:02
[6840fe7c] part of check-in [ad130bb8] Combine the Expr.pTab and Expr.pWin fields into a union named "y". Add a new EP_WinFunc property that is only true if Expr.y.pWin is a valid pointer. This reduces the size of the Expr object by 8 bytes, reduces the overall amount of code, and shaves over 1 million cycles off of the speed test. (check-in: [ad130bb8] user: drh branch: trunk, size: 60444)
2018-09-19
20:14
[96a86b76] part of check-in [24b0f66a] Reduce the size of Expr to 64-bytes. This works somewhat, but there are test failures. More importantly, the size reduction from 80- to 64-bytes has not lowered the schema memory usage, but it has made the code a little bigger and a little slower. So the initial evidence is that this Expr refactoring experiment is not working... (check-in: [24b0f66a] user: drh branch: expr-simplify, size: 60268)
14:54
[cea885dd] part of check-in [147c61a6] Reduce the size of Expr from 80 to 72 bytes moving the pRight field inside the "x" union. This is an incremental check-in that still has issues. (check-in: [147c61a6] user: drh branch: expr-simplify, size: 60287)
2018-09-18
21:35
[15eeb0ea] part of check-in [8849a463] In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. (check-in: [8849a463] user: drh branch: expr-simplify, size: 60251)
2018-09-06
18:56
[4118dbf9] part of check-in [91aab32e] Fix a problem with ALTER TABLE when there are views or triggers in the schema that contain "<expr> IS NULL" expressions. (check-in: [91aab32e] user: dan branch: trunk, size: 60499)
2018-08-29
21:00
[b3ca0eba] part of check-in [01308bae] Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: [01308bae] user: dan branch: alter-table-rename-table, size: 60478)
2018-08-23
18:50
[adc9a1fb] part of check-in [772985f1] The Expr.iColumn field must also be initialized in tokenExpr(). (check-in: [772985f1] user: drh branch: alter-table-rename-column, size: 60234)
18:22
[766b6f1c] part of check-in [02a05a3b] Make sure the Expr.iTable field is initialized by tokenExpr(). (check-in: [02a05a3b] user: drh branch: alter-table-rename-column, size: 60212)
2018-08-21
16:32
[0182e56e] part of check-in [b9ae9a0a] Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). (check-in: [b9ae9a0a] user: dan branch: alter-table-rename-column, size: 60191)
08:29
[d13912c9] part of check-in [47997695] Minor changes to function tokenExpr() in order to claw back cycles lost to the rename-column change. (check-in: [47997695] user: dan branch: alter-table-rename-column, size: 60179)
2018-08-15
20:28
[57f53335] part of check-in [e272dc2b] Have ALTER TABLE RENAME COLUMN edit trigger programs. Only partly working. (check-in: [e272dc2b] user: dan branch: edit-trigger-wrapper, size: 59947)
2018-08-13
17:14
[1cdfb517] part of check-in [5fdb6b0a] Edit the WHEN and UPDATE OF clauses of trigger programs as part of ALTER TABLE RENAME COLUMN. (check-in: [5fdb6b0a] user: dan branch: edit-trigger-wrapper, size: 59959)
13:43
[035b397b] part of check-in [0b28dd5c] Fix issues with ALTER TABLE RENAME COLUMN associated with OOM errors. (check-in: [0b28dd5c] user: drh branch: alter-table-rename-column, size: 59967)
2018-08-10
14:23
[cec1d230] part of check-in [d48f7bbd] Fix a problem with renaming columns on tables with REFERENCES clauses that specify a large number of columns. (check-in: [d48f7bbd] user: dan branch: alter-table-rename-column, size: 59962)
2018-08-09
20:47
[b981ac46] part of check-in [fa0fc01e] Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. (check-in: [fa0fc01e] user: dan branch: alter-table-rename-column, size: 59957)
2018-07-27
23:33
[704c9462] part of check-in [02204f8b] Improvements to the parser to increase coverage. Fix the parser so that at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). (check-in: [02204f8b] user: drh branch: trunk, size: 59517)
22:14
[a3020c88] part of check-in [cfd1b005] Minor grammar changes that help the parser run faster by reducing the number of NUL rule reductions. (check-in: [cfd1b005] user: drh branch: trunk, size: 59903)
2018-07-12
19:28
[70e577a1] part of check-in [6a00a34e] Merge latest trunk changes into this branch. (check-in: [6a00a34e] user: dan branch: begin-concurrent, size: 59841)
2018-07-10
19:48
[3bd43415] part of check-in [a7cdc5bc] Identify Select objects within a single statement using small sequential integers rather than "0x%p". This is more readable and yields the same result on successive runs. (check-in: [a7cdc5bc] user: drh branch: trunk, size: 59484)
15:45
[2578339a] part of check-in [e9a3e864] Merge latest trunk changes into this branch. (check-in: [e9a3e864] user: dan branch: begin-concurrent, size: 60802)
2018-07-09
22:49
[2eee45f4] part of check-in [5023b1b8] Fixes for various harmless compiler warnings. (check-in: [5023b1b8] user: drh branch: trunk, size: 60445)
16:24
[a7e0fb37] part of check-in [a568f9c9] Simplification to the grammar rules for window functions. Fix a memory leak that can follow an OOM while parsing a comma-separated list of window definitions. (check-in: [a568f9c9] user: drh branch: trunk, size: 60439)
2018-07-06
13:48
[5bd22618] part of check-in [e51fdf66] Prevent "UNBOUNDED FOLLOWING" from being used as the starting boundary of a window-frame. And "UNBOUNDED PRECEDING" from being used as the ending boundary. (check-in: [e51fdf66] user: dan branch: trunk, size: 60456)
07:42
[58ea7c7b] part of check-in [d59bcc8e] Return an error if DISTINCT is used with a window-function (e.g. "count(DISTINCT <expr>) OVER (...)"). (check-in: [d59bcc8e] user: dan branch: trunk, size: 60134)
2018-06-30
18:54
[9b57f1d0] part of check-in [12d819e1] Have the tokenizer handle fallback for tokens "OVER" and "FILTER" in the same way as it does for "WINDOW". (check-in: [12d819e1] user: dan branch: weak-fallback, size: 60134)
2018-06-29
20:43
[5a53ee98] part of check-in [5eb47765] Further performance related tweaks for sqlite3RunParser(). (check-in: [5eb47765] user: dan branch: weak-fallback, size: 60137)
17:44
[216e0e95] part of check-in [022079cb] Instead of using a lemon %fallback directive, have the tokenizer try to figure out whether an instance of "WINDOW" should be TK_WINDOW or TK_ID. (check-in: [022079cb] user: dan branch: weak-fallback, size: 59767)
2018-06-28
20:05
[9b5eb0e6] part of check-in [7c4b879b] Modifications to parse.y to better support backwards compatibility for the "window" keyword. (check-in: [7c4b879b] user: dan branch: weak-fallback, size: 59866)
03:38
[9517b50d] part of check-in [c41d7079] Introduce the concept of "weak fallback" in the parser. A weak fallback only occurs if a syntax error would result otherwise. (check-in: [c41d7079] user: drh branch: weak-fallback, size: 59778)
2018-06-22
20:51
[4661ac13] part of check-in [5f04b016] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b016] user: dan branch: exp-window-functions, size: 59636)
2018-06-19
19:15
[4350d8b7] part of check-in [6ad0e64b] Merge latest trunk changes with this branch. (check-in: [6ad0e64b] user: dan branch: exp-window-functions, size: 59368)
11:15
[4a86c88d] part of check-in [320fa69e] Minor change to the input grammar to make the parser tables slightly smaller. (check-in: [320fa69e] user: drh branch: trunk, size: 56176)
2018-06-15
19:01
[3b5e69c8] part of check-in [fadd4dc1] Fix another problem in lead()/lag(). And some errors that could occur following OOM faults. (check-in: [fadd4dc1] user: dan branch: exp-window-functions, size: 59417)
2018-06-08
20:58
[788f41e7] part of check-in [19c983b5] Add support for the WINDOW clause. (check-in: [19c983b5] user: dan branch: exp-window-functions, size: 59355)
2018-06-06
17:03
[161e5d85] part of check-in [d7299bfe] Merge changes from trunk, including all the 3.24.0 changes plus some later enhancements. (check-in: [d7299bfe] user: drh branch: begin-concurrent, size: 56582)
2018-06-04
08:28
[9eaa457c] part of check-in [83d6416a] Merge latest trunk changes into this branch. (check-in: [83d6416a] user: dan branch: exp-window-functions, size: 58193)
2018-05-30
01:14
[0b814724] part of check-in [86ee267e] Fix the parser so that it builds with -DSQLITE_OMIT_CTE. (check-in: [86ee267e] user: drh branch: trunk, size: 56225)
2018-05-19
14:15
[9ae79a4f] part of check-in [19c2e4b2] Fix minor problems on this branch. (check-in: [19c2e4b2] user: dan branch: exp-window-functions, size: 58140)
2018-05-16
20:58
[5df899a4] part of check-in [3781e520] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e520] user: dan branch: exp-window-functions, size: 58093)
2018-05-14
17:12
[da3ecddd] part of check-in [32b3d110] Experimental syntax enhancement for an "INDEXED" keyword following a FROM-clause subquery that indicates that an automatic index on that subquery is suggested. (check-in: [32b3d110] user: drh branch: exp-indexed-clause, size: 56343)
2018-04-24
19:21
[87ff3ca6] part of check-in [b27bd799] Merge latest trunk changes into this branch. (check-in: [b27bd799] user: dan branch: begin-concurrent, size: 56529)
2018-04-21
13:51
[07784439] part of check-in [be47a6f5] Add the %extra_context directive to lemon, as an alternative to %extra_argument. Use this to improve the performance of the parser. (check-in: [be47a6f5] user: drh branch: trunk, size: 56172)
2018-04-19
11:45
[1095d04a] part of check-in [861a2e2a] Fix the table name aliasing on INSERT so that it occurs before the column list rather than afterwards, just as it does for PostgreSQL. Add table name aliasing to UPDATE and DELETE. (check-in: [861a2e2a] user: drh branch: trunk, size: 56145)
2018-04-17
21:59
[54195765] part of check-in [558865d5] Remove unreachable branches. 100% MC/DC in TH3 now. (check-in: [558865d5] user: drh branch: upsert, size: 55849)
2018-04-16
13:26
[06555966] part of check-in [810d9f63] Remove the MySQL upsert syntax. As an optional alias to the insert table name in order to finish out PostgreSQL upsert syntax emulation. (check-in: [810d9f63] user: drh branch: upsert, size: 55455)
13:00
[22da8d03] part of check-in [0203f34f] Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: [0203f34f] user: drh branch: upsert, size: 55383)
2018-04-13
13:06
[5fde091c] part of check-in [2c1b1987] Back off of the extended upsert syntax that allows multiple ON CONFLICT clauses. The syntax now is exactly as in PostgreSQL and MySQL. Add support for WHERE clauses on the conflict-target phrase, for partial indexes. (check-in: [2c1b1987] user: drh branch: upsert, size: 55379)
01:15
[f6d42ac9] part of check-in [80969643] Begin adding upsert logic. This is an incremental check-in. (check-in: [80969643] user: drh branch: upsert, size: 55466)
2018-04-12
17:28
[e2562b4d] part of check-in [e4396c54] Extend the upsert syntax to allow a WHERE clause on the UPDATE. (check-in: [e4396c54] user: drh branch: upsert, size: 55465)
15:43
[0345f039] part of check-in [c48f64d8] Update the upsert parsing so that it accepts conflict-target labels using the PostgreSQL syntax, and also accepts the MySQL "ON DUPLICATE KEY" syntax. (check-in: [c48f64d8] user: drh branch: upsert, size: 55417)
13:15
[d12dad9b] part of check-in [d83eaed5] Add the Upsert object for holding upsert clause information. (check-in: [d83eaed5] user: drh branch: upsert, size: 54953)
12:25
[306ece8a] part of check-in [9f6f1180] Merge changes from trunk. (check-in: [9f6f1180] user: drh branch: upsert, size: 56103)
2018-04-11
17:10
[e3c4116e] part of check-in [d7ec7b59] Help the parser run faster by avoiding the "explain ::= ." production. (check-in: [d7ec7b59] user: drh branch: trunk, size: 53900)
2018-04-09
20:36
[22ca6e5b] part of check-in [a2c443c0] Minor changes to the input grammar resulting in a faster and slightly smaller parser. (check-in: [a2c443c0] user: drh branch: trunk, size: 53899)
2018-04-07
15:04
[2779b5f1] part of check-in [5cc2a5a3] More complete parsing of UPSERT, including UPSERT within a trigger. The sqlite3Insert() logic to actually perform the UPSERT is not yet implemented, however. (check-in: [5cc2a5a3] user: drh branch: upsert, size: 55938)
2018-04-06
19:36
[b6f92771] part of check-in [9b22905b] Demonstration of how the parser can be augmented to recognize a PostgreSQL-style UPSERT. This check-in implements parsing only. (check-in: [9b22905b] user: drh branch: upsert, size: 54588)
2018-03-28
15:41
[a3ab9037] part of check-in [df52e89f] Update this branch with latest trunk changes. (check-in: [df52e89f] user: dan branch: server-process-edition, size: 53795)
2018-03-20
13:52
[5e4afc0c] part of check-in [b0c2f760] Merge all recent enhancements from trunk. (check-in: [b0c2f760] user: drh branch: begin-concurrent, size: 54092)
2018-03-19
22:28
[140bbc53] part of check-in [03e541f6] Minor improvements to ".selecttrace". No changes to non-debug code. (check-in: [03e541f6] user: drh branch: trunk, size: 53735)
2018-03-16
19:10
[927e2875] part of check-in [5f779ff6] Fix a parsing issue associated with a corrupt sqlite_master table. (check-in: [5f779ff6] user: mistachkin branch: corrupt-schema, size: 53896)
2018-03-02
17:40
[678b3afe] part of check-in [36801eff] Merge latest trunk changes into this branch. (check-in: [36801eff] user: dan branch: begin-concurrent, size: 54115)
2018-02-28
04:30
[3be4b2b5] part of check-in [48775ec6] Fix a potential NULL pointer deref following OOM in the new IS TRUE logic. (check-in: [48775ec6] user: drh branch: trunk, size: 53758)
2018-02-27
14:49
[97b31a67] part of check-in [6445519e] Clean up comments and variable names prior to merge. (check-in: [6445519e] user: drh branch: is-true-operator, size: 53739)
2018-02-26
21:26
[b875c74b] part of check-in [57508518] Code simplifications. New test cases. (check-in: [57508518] user: drh branch: is-true-operator, size: 53741)
20:15
[6319911f] part of check-in [8002f87d] Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. (check-in: [8002f87d] user: drh branch: is-true-operator, size: 53727)
2018-01-10
00:40
[4e750e1b] part of check-in [36b89d72] Compute the correct column name even if the column identifier is the very last token in the SQL statement. This fixes a problem introduced by check-in [0fdf97efe5df745510c6b] and reported by the community during beta-testing. (check-in: [36b89d72] user: drh branch: trunk, size: 53645)
2017-12-27
20:38
[44cbbc3e] part of check-in [fe3d2b97] Show the text of individual statements within a trigger, as they execute, as comments in the output from sqlite3_trace() and sqlite3_trace_v2(). (check-in: [fe3d2b97] user: drh branch: span-refactor, size: 53630)
2017-12-24
17:01
[2b0653fd] part of check-in [74a0181f] Grammar changes: the sclp non-terminal should always be followed by a scanpt. (check-in: [74a0181f] user: drh branch: span-refactor, size: 53584)
00:18
[1e29222b] part of check-in [3eab7bdc] Remove the ExprSpan object. Instead, keep track of the test of subphrases in the parse using the "scanpt" non-terminal. (check-in: [3eab7bdc] user: drh branch: span-refactor, size: 53577)
2017-11-14
23:48
[d79001da] part of check-in [3925facd] In the parse tree, combine LIMIT and OFFSET into a single expression rooted on a TK_LIMIT node, for a small code size reduction and performance increase, and a reduction in code complexity. (check-in: [3925facd] user: drh branch: trunk, size: 56309)
20:06
[839e0614] part of check-in [d90e5f34] Merge changes from trunk. This fixes the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. (check-in: [d90e5f34] user: dan branch: begin-concurrent, size: 57062)
18:26
[69d085ed] part of check-in [b2679d3b] Fix the SQLITE_ENABLE_UPDATE_DELETE_LIMIT functionality so that it works with views and WITHOUT ROWID tables. This is a modified cherrypick of [dae4a97a]. (check-in: [b2679d3b] user: dan branch: branch-3.8.9, size: 52866)
2017-11-10
20:13
[f5f02ef3] part of check-in [72be33f9] Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: [72be33f9] user: dan branch: update-delete-limit-fix, size: 56732)
15:42
[49eb13a5] part of check-in [35477a3d] Fix a problem with (DELETE...LIMIT) statements against WITHOUT ROWID tables with a single column PK. (check-in: [35477a3d] user: dan branch: update-delete-limit-fix, size: 56730)
2017-11-09
19:53
[5fbc16a4] part of check-in [584b88aa] Add SQLITE_ENABLE_UPDATE_DELETE_LIMIT for views and WITHOUT ROWID tables. (check-in: [584b88aa] user: dan branch: update-delete-limit-fix, size: 56816)
2017-09-22
20:18
[6fa01cad] part of check-in [8d2a1cca] Merge in all the trunk enhancements of the previous 7 months. The LIKE optimization has stopped working when there is an ESCAPE - that problem will be addressed in a subsequent check-in. (check-in: [8d2a1cca] user: drh branch: est_count_pragma, size: 57304)
2017-08-11
19:16
[bcd8c5d9] part of check-in [47e71695] Merge the latest enhancements from trunk. (check-in: [47e71695] user: drh branch: begin-concurrent, size: 57153)
2017-08-07
14:15
[58a2de13] part of check-in [17bc7ded] Update this branch with latest trunk changes. (check-in: [17bc7ded] user: dan branch: server-process-edition, size: 56883)
2017-08-02
11:04
[52ef3cec] part of check-in [1cad2926] Rearrange integer token values in the parser and logic in the resolveP2Values() routine for a small size reduction and performance increase. (check-in: [1cad2926] user: drh branch: trunk, size: 56823)
2017-07-20
17:47
[e4dbcc61] part of check-in [213c61cb] Merge all the latest trunk enhancements. (check-in: [213c61cb] user: drh branch: begin-concurrent, size: 56423)
2017-07-19
18:54
[3a1babd6] part of check-in [be0df0a6] Merge latest trunk changes with this branch. (check-in: [be0df0a6] user: dan branch: server-process-edition, size: 56153)
2017-07-12
17:26
[e384cb73] part of check-in [f951c8b7] Remove unnecessary EP_Leaf settings on the Expr object. (check-in: [f951c8b7] user: drh branch: trunk, size: 56093)
17:08
[213fda2a] part of check-in [54f55d3b] The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (check-in: [54f55d3b] user: drh branch: trunk, size: 56198)
2017-07-08
20:46
[f732ca9e] part of check-in [5a043aa8] Support read-only MVCC transactions in server-mode. Started using "BEGIN READONLY". (check-in: [5a043aa8] user: dan branch: server-process-edition, size: 56270)
2017-07-06
01:28
[71bf06b0] part of check-in [4da663d9] Slightly more compact implementation of the byte-code generator for the COMMIT and ROLLBACK commands. (check-in: [4da663d9] user: drh branch: trunk, size: 56210)
2017-06-28
14:26
[b13c9fc8] part of check-in [cc4810b2] Minor tweak to the SQL grammar to make the parser tables a few bytes smaller. (check-in: [cc4810b2] user: drh branch: trunk, size: 56271)
2017-05-15
17:34
[21660e52] part of check-in [14ea8400] Merge the latest changes from trunk. (check-in: [14ea8400] user: drh branch: begin-concurrent, size: 56636)
2017-04-14
19:03
[0513387c] part of check-in [3a5860d8] Add the TK_IF_NULL_ROW opcode to deal with non-NULL result columns in the result set of a view or subquery on the RHS of a LEFT JOIN that gets flattened. (check-in: [3a5860d8] user: drh branch: left-join-view, size: 56306)
2017-03-24
15:09
[f48aeacb] part of check-in [fd5676fe] Merge all recent enhancements from trunk. (check-in: [fd5676fe] user: drh branch: begin-concurrent, size: 56627)
2017-03-07
03:25
[48b03113] part of check-in [1a3554e1] Small size reduction and performance increase in the name resolver routine for expressions. (check-in: [1a3554e1] user: drh branch: trunk, size: 56306)
2017-02-20
14:30
[af883009] part of check-in [0d8a868a] Small grammar simplification. (check-in: [0d8a868a] user: drh branch: trunk, size: 56294)
2017-02-17
16:26
[d5695ae4] part of check-in [e93db237] Add the "PRAGMA analyze_as_needed" command. (check-in: [e93db237] user: drh branch: auto-analyze, size: 56329)
2017-02-16
14:02
[26827d62] part of check-in [325ccfa9] Merge recent enhancements from trunk. (check-in: [325ccfa9] user: drh branch: est_count_pragma, size: 56804)
2017-01-28
20:46
[591704fc] part of check-in [4fe879d4] In the amalgamation, allocate the parser engine object from stack rather than from heap, for improved performance. This only happens in the amalgamation, since otherwise the sqlite3RunParser() routine does not know the object size. (check-in: [4fe879d4] user: drh branch: trunk, size: 56323)
2017-01-09
06:33
[bb387a07] part of check-in [d0e212d0] Upgrade this branch to 3.16 plus the various fixes that appeared after its release. (check-in: [d0e212d0] user: dan branch: begin-concurrent, size: 56129)
2016-12-12
12:58
[5280d00e] part of check-in [dc006e08] Merge recent enhancements from trunk. (check-in: [dc006e08] user: drh branch: est_count_pragma, size: 56289)
2016-12-06
22:47
[29153738] part of check-in [2a81763e] Performance improvement and size reduction in the Expr node allocator function sqlite3PExpr(). (check-in: [2a81763e] user: drh branch: trunk, size: 55808)
2016-10-20
18:20
[07f68096] part of check-in [fd81d8a4] Add the ability for the PRAGMA statement to accept multiple arguments. Currently all arguments other than the first are ignored. (check-in: [fd81d8a4] user: drh branch: multi-arg-pragma, size: 56278)
2016-10-03
15:28
[0338f906] part of check-in [d15ae2e5] Avoid unnecessary strlen() calls in sqlite3ExprAssignVarNumber() by passing in the token length from the parser. (check-in: [d15ae2e5] user: drh branch: trunk, size: 55797)
2016-09-26
12:38
[6ad22b8f] part of check-in [fe89225e] Inline the relevent parts of sqlite3ExprAlloc() into spanExpr(), for a performance improvement. (check-in: [fe89225e] user: drh branch: trunk, size: 55777)
2016-09-24
17:42
[b556d432] part of check-in [795454a3] Omit the LikeOp object from the parser. Change more sqlite3PExpr() calls into sqlite3ExprAlloc() calls. (check-in: [795454a3] user: drh branch: trunk, size: 55221)
2016-09-23
21:36
[028b531b] part of check-in [8a6ea455] Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. (check-in: [8a6ea455] user: drh branch: trunk, size: 55499)
20:59
[2e0ac10d] part of check-in [afac0709] Use sqlite3ExprAlloc() instead of sqlite3PExpr() for leaf nodes in the expression tree, where appropriate. This is both smaller and faster. (check-in: [afac0709] user: drh branch: trunk, size: 55446)
2016-08-20
18:06
[0e0b6d46] part of check-in [9041ee4a] Fixes for problems following OOM errors. (check-in: [9041ee4a] user: drh branch: rowvalue, size: 55441)
00:51
[9895eddb] part of check-in [f320d47d] Add support for vector assignments in the SET clause of an UPDATE statement. (check-in: [f320d47d] user: drh branch: rowvalue, size: 55360)
2016-08-19
15:41
[3d02d64f] part of check-in [b1787236] Merge recent enhancements from trunk. (check-in: [b1787236] user: drh branch: rowvalue, size: 55133)
14:20
[ed6990c2] part of check-in [29d63059] Add the capability to VACUUM an attached database by specifying the schema name as an argument to the VACUUM command. Since version 2.0, VACUUM has accepted an argument which was silently ignored. Now it has meaning. (check-in: [29d63059] user: drh branch: vacuum-attached-db, size: 54909)
2016-08-18
15:36
[d240b151] part of check-in [b40b202c] Since the TK_VECTOR token is not actually used by the parser, make it an extra token code added by the tool/addopcodes.tcl script during parser build. (check-in: [b40b202c] user: drh branch: rowvalue, size: 55128)
2016-08-11
19:12
[e87265f2] part of check-in [d9f8918c] Merge version 3.14 plus some subsequent patches (including the page-cache performance patch) from trunk. (check-in: [d9f8918c] user: drh branch: begin-concurrent, size: 55225)
2016-07-26
18:15
[a7402dff] part of check-in [d4f3d52c] Merge latest trunk changes into this branch. (check-in: [d4f3d52c] user: dan branch: rowvalue, size: 55143)
2016-07-25
14:40
[99b676e6] part of check-in [38a48cfb] Add a new %ifdef to parse.y so that the build works with SQLITE_OMIT_SUBQUERY. (check-in: [38a48cfb] user: drh branch: trunk, size: 54904)
2016-07-09
20:23
[fa040d74] part of check-in [b2204215] Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: [b2204215] user: dan branch: rowvalue, size: 55087)
2016-07-02
12:33
[f374ab20] part of check-in [bead151e] Fix a problem in table-valued functions on the RHS of an IN operator that occurs following an OOM error. (check-in: [bead151e] user: drh branch: trunk, size: 54848)
12:08
[3660ab75] part of check-in [ac6000f0] Add support for table-valued functions on the RHS of an IN operator. (check-in: [ac6000f0] user: drh branch: trunk, size: 54833)
2016-06-29
06:19
[300a3038] part of check-in [ba1b441b] Add the ability to have a table-valued function on the RHS of an IN operator. (check-in: [ba1b441b] user: drh branch: prototype-int-array, size: 54918)
2016-05-31
21:18
[01b9f37c] part of check-in [49638f18] An experimental branch with code that allows virtual tables to be declared as WITHOUT ROWID tables. This might be useful for virtual tables that model external data sources that do not have a convenient way of computing a unique rowid. The current check-in almost works, but there are still serious issues. (check-in: [49638f18] user: drh branch: without-rowid-vtab, size: 54484)
2016-04-20
12:16
[2e1d371f] part of check-in [1f709fbf] Merge all recent enhancements from trunk. (check-in: [1f709fbf] user: drh branch: begin-concurrent, size: 54662)
2016-04-11
13:36
[10eb2f3f] part of check-in [099478fa] Remove the VdbeOp.opflags field and its associated initialization overhead. Update mkopcodeh.tcl to reorder opcode numbers to help the resolveP2Values() routine run faster. (check-in: [099478fa] user: drh branch: trunk, size: 54341)
01:43
[52cdeb4f] part of check-in [ef1966c2] Back off of the parser optimization in the previous check-in, slightly, to preserve some backwards compatibility regarding some undocumented behavior in the '#AAA' style query parameter. (check-in: [ef1966c2] user: drh branch: trunk, size: 54340)
01:26
[55670f9b] part of check-in [16df7128] Small size reduction and performance improvement in the parser. (check-in: [16df7128] user: drh branch: trunk, size: 54311)
01:06
[b6fcbc84] part of check-in [6a5cceee] Factor out the common operation of setting the Expr.x.pSelect field of an Expr object into a subroutine. (check-in: [6a5cceee] user: drh branch: trunk, size: 54323)
2016-03-17
18:41
[fc4d11e4] part of check-in [41335d88] An alternative method of encoding the wildcard in "SELECT *". This is an experiment. (check-in: [41335d88] user: drh branch: select-wildcard, size: 54961)
2016-03-16
19:34
[a74adac1] part of check-in [a7978ab6] Merge the latest enhancements from trunk. (check-in: [a7978ab6] user: drh branch: begin-concurrent, size: 55265)
2016-02-29
13:37
[5ea8c81c] part of check-in [519fd03b] Further simplifications to the grammar. (check-in: [519fd03b] user: drh branch: schema-storage, size: 54966)
2016-02-27
23:25
[3a29fc29] part of check-in [ad3ffe2e] Update the parser so that it pulls out the column name and type all in one go, rather than using separate reductions. (check-in: [ad3ffe2e] user: drh branch: schema-storage, size: 55212)
2016-02-17
12:34
[c3ce2c4a] part of check-in [417e7777] More agressive use of /*A-overwrites-X*/ in the parser. Fix an off-by-one error in parser stack overflow detection. (check-in: [417e7777] user: drh branch: parser-performance, size: 55249)
04:33
[8c2f7e7e] part of check-in [5cfe9545] Enhance Lemon so that if reduce code contains a comment of the form "/*A-overwrites-X*/" then a LHS label A is allowed to overwrite the RHS label X. (check-in: [5cfe9545] user: drh branch: parser-performance, size: 55023)
01:46
[b845cfc4] part of check-in [ef95a7d6] Further improvements to the Lemon-generated code for yy_reduce(). (check-in: [ef95a7d6] user: drh branch: parser-performance, size: 54724)
01:18
[eb7d241c] part of check-in [4bb94c7c] In Lemon, add the ability for the left-most RHS label to be the same as the LHS label, causing the LHS values to be written directly into the stack. (check-in: [4bb94c7c] user: drh branch: parser-performance, size: 54736)
2016-02-16
21:19
[36a367a6] part of check-in [a65d583c] Experimental changes to Lemon for improved parser performance. (check-in: [a65d583c] user: drh branch: parser-performance, size: 55461)
2016-02-05
14:34
[2d29daf0] part of check-in [332c8036] Merge PRAGMA synchronous=EXTRA and OOM performance enhancements from trunk. (check-in: [332c8036] user: drh branch: begin-concurrent, size: 55864)
01:55
[d7bff41d] part of check-in [c3ef0347] Improvements to the way that OOM errors are processed. (check-in: [c3ef0347] user: drh branch: oom-handling, size: 55528)
2016-02-02
02:53
[e6a091ae] part of check-in [347f6a80] Merge recent enhancements from trunk. (check-in: [347f6a80] user: drh branch: begin-concurrent, size: 55660)
2016-01-28
18:22
[426a91fb] part of check-in [5372f800] Modify the order of terms in an "if" condition to avoid implicitly comparing a dangling pointer to NULL following an OOM error. (check-in: [5372f800] user: dan branch: trunk, size: 55324)
2016-01-14
15:46
[2a2b07ab] part of check-in [fccc5f20] Merge the latest enhancements and fixes from trunk. (check-in: [fccc5f20] user: dan branch: begin-concurrent, size: 55660)
2016-01-07
17:09
[caad1e98] part of check-in [828958ff] Small performance and size optimization spotted while working on the shared-cache problem. (check-in: [828958ff] user: drh branch: trunk, size: 55324)
2015-11-20
13:49
[b0ad0241] part of check-in [41c8b8e3] Merge all the latest enhancements and fixes from trunk. (check-in: [41c8b8e3] user: drh branch: begin-concurrent, size: 55722)
2015-11-19
16:33
[23737e64] part of check-in [201ac6d4] Create the new TK_ASTERISK token to represent the "*" in "SELECT *". Formerly that operator was TK_ALL, which was also used for UNION ALL. Less confusion if they operator symbols are distinct. (check-in: [201ac6d4] user: drh branch: trunk, size: 55386)
2015-11-12
15:04
[aad5cc86] part of check-in [f84e3085] Fix a #define in parse.y that disabled unused code in the generated parser. (check-in: [f84e3085] user: drh branch: trunk, size: 55371)
2015-11-10
13:45
[8a364a7a] part of check-in [5dcd212b] Save a few bytes in the parser by using "int" instead of "u8" or "u16" for all small integer types. (check-in: [5dcd212b] user: drh branch: trunk, size: 55369)
00:02
[56cd095d] part of check-in [3c37c522] Remove an unused non-terminal from the grammar. (check-in: [3c37c522] user: drh branch: parser-enhancements, size: 55370)
2015-11-09
19:33
[89784cfb] part of check-in [0a72991f] Change the parser to use the standard "lempar.c" template over in the tool/ folder rather than the customized "lempar.c" found in src/. (check-in: [0a72991f] user: drh branch: parser-enhancements, size: 55390)
2015-10-30
17:17
[764d5b40] part of check-in [f2cde4cf] Merge the sqlite3_db_cacheflush() enhancements and other changes from trunk. (check-in: [f2cde4cf] user: drh branch: begin-concurrent, size: 55446)
2015-10-28
16:05
[11078cd8] part of check-in [00185418] Factor out adding NOT expression nodes in the parser into a subroutine. (check-in: [00185418] user: drh branch: trunk, size: 55110)
2015-09-07
18:23
[9e1777c6] part of check-in [531c3974] For the Lemon-generated parser, add a new action type SHIFTREDUCE and use it to further compress the parser tables and improve parser performance. (check-in: [531c3974] user: drh branch: lemon-update, size: 55060)
2015-09-04
16:39
[0dcce0ae] part of check-in [c0bf92ec] Remove the EXCLUSIVE and CONCURRENT tokens from the tokenizer. Let the BEGIN statement be followed by an ID, but throw a syntax error if the ID is anything other than EXCLUSIVE or CONCURRENT. (check-in: [c0bf92ec] user: drh branch: begin-concurrent, size: 55404)
2015-08-25
11:16
[1e645cac] part of check-in [3e7d6dd6] Merge latest trunk changes with this branch. (check-in: [3e7d6dd6] user: dan branch: begin-concurrent, size: 55111)
2015-08-24
20:21
[f599aa5e] part of check-in [bed42116] Enhances the parser so that it accepts arbitrary expressions for the arguments of an index, though the code generator still rejects everything other than simple column names. The sqlite3RestrictColumnListSyntax() routine is removed since that feature is now handled by the parser. (check-in: [bed42116] user: drh branch: trunk, size: 55068)
19:56
[dc3dda4b] part of check-in [ba1ab858] Change "BEGIN UNLOCKED" to "BEGIN CONCURRENT". (check-in: [ba1ab858] user: dan branch: begin-concurrent, size: 53751)
17:42
[07f2084f] part of check-in [d794b34d] Enhance the CREATE VIEW syntax so that the names of columns of the view can be specified after the view name. (check-in: [d794b34d] user: drh branch: trunk, size: 53667)
15:39
[b5e0a5f8] part of check-in [83cbc4d8] Disallow the use of COLLATE clauses and the ASC and DESC keywords within foreign key constraints and in the argument list to common table expressions. (check-in: [83cbc4d8] user: drh branch: trunk, size: 53667)
2015-08-21
16:22
[e9accdb2] part of check-in [deaf3b18] Merge trunk changes with this branch. (check-in: [deaf3b18] user: dan branch: begin-concurrent, size: 53749)
2015-08-19
17:11
[ad9af855] part of check-in [40e12cfe] A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: [40e12cfe] user: drh branch: table-valued-functions, size: 53708)
15:20
[2ed6efe3] part of check-in [b9193761] Minor refactor of the SrcList object so that it is able to hold the argument list to a table-valued-function in the FROM clause. (check-in: [b9193761] user: drh branch: table-valued-functions, size: 53491)
2015-07-27
19:31
[199145cd] part of check-in [80794216] Add an experimental "BEGIN UNLOCKED" command. (check-in: [80794216] user: dan branch: begin-concurrent, size: 53529)
2015-06-13
11:48
[d3388f70] part of check-in [0be44782] Add the IS DISTINCT FROM and IS NOT DISTINCT FROM operators. (check-in: [0be44782] user: drh branch: is-distinct-from, size: 53876)
2015-05-29
01:35
[6d60dda8] part of check-in [a29e117d] Using "SELECT ALL" instead of just "SELECT" on a query that uses a single unflattenable subquery or view in its FROM clause will force the subquery to be manifested into a temporary table rather than run incrementally using a co-routine. This is a stop-gap means of controlling the decision to manifest while we try to work out a better to make that decision automatically. (check-in: [a29e117d] user: drh branch: trunk, size: 53488)
2015-05-27
13:06
[44e16058] part of check-in [0055df04] CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (check-in: [0055df04] user: drh branch: no-rowid-in-cte, size: 53470)
2015-05-20
19:34
[ce1a34cd] part of check-in [fc1a4f29] Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. Cherrypick of [eddc05e7bb31]. (check-in: [fc1a4f29] user: dan branch: branch-3.8.6, size: 51925)
00:15
[af55d4fb] part of check-in [c403502c] Fix handling of queries with VALUES on the left and UNION ALL SELECT on the right and a LIMIT clause. (check-in: [c403502c] user: drh branch: trunk, size: 53450)
2015-04-16
23:04
[c4e0387b] part of check-in [cd6598f4] Restrict the scope of a local-use function in the parser. (check-in: [cd6598f4] user: drh branch: trunk, size: 53367)
20:27
[5944031b] part of check-in [8f391dff] Fix a couple of unreachable branches. (check-in: [8f391dff] user: drh branch: trunk, size: 53360)
14:13
[b5c16bc5] part of check-in [ec5a493a] Improvements to the way VALUES clauses are parsed. (check-in: [ec5a493a] user: drh branch: trunk, size: 53352)
2015-03-20
08:43
[1299c66e] part of check-in [eddc05e7] Fix a problem causing collation sequence names to be dequoted multiple times under some circumstances. (check-in: [eddc05e7] user: dan branch: trunk, size: 52957)
2015-02-09
16:09
[0f8e7d60] part of check-in [c053448a] Propagate the COLLATE operator upward through function calls. Initial fix for ticket [ca0d20b6cdddec5e8]. (check-in: [c053448a] user: drh branch: tkt-2f7170d7, size: 52948)
15:21
[d6507371] part of check-in [0b7d65e3] Disable the query flattener for aggregate subqueries if the parent query uses other subqueries in its result set or WHERE clause or ORDER BY clause. Preliminary fix for ticket [2f7170d73bf9abf8]. However it still contains a defect similar to the COLLATE problem of [ca0d20b6cddd]. (check-in: [0b7d65e3] user: drh branch: tkt-2f7170d7, size: 52900)
2015-01-05
19:16
[c5d0d964] part of check-in [9ce9e43a] Handle compound-select statements originating from VALUES clauses as a special case that does not use recursion. (check-in: [9ce9e43a] user: drh branch: many-VALUEs, size: 52852)
16:27
[075cad65] part of check-in [c9d65f73] Towards getting INSERT statements to except many VALUE terms (more than the limit imposed by SQLITE_LIMIT_COMPOUND_SELECT). This check-in segfaults on a stack overflow. And it is slow. (check-in: [c9d65f73] user: drh branch: many-VALUEs, size: 52745)
2014-10-02
21:52
[5dfead8a] part of check-in [ffe75736] Avoid a NULL pointer deference when processing the IS operator if the right-hand side is an illegal "#ID" style variable. Fix for ticket [8c32a33a53092c85a15b] (check-in: [ffe75736] user: drh branch: trunk, size: 52705)
2014-09-30
12:33
[ce149430] part of check-in [4ff51325] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: [4ff51325] user: drh branch: trunk, size: 52716)
2014-09-21
00:27
[b98772da] part of check-in [c0b61f70] Improved ".selecttrace" output. (check-in: [c0b61f70] user: drh branch: select-trace, size: 52835)
2014-09-20
18:18
[1976d28f] part of check-in [cbe0cf9d] Enable SELECT query planning tracing when compiled with SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST. (check-in: [cbe0cf9d] user: drh branch: select-trace, size: 52841)
2014-05-06
15:28
[b9adfa13] part of check-in [8ad0a123] Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. (check-in: [8ad0a123] user: drh branch: smaller-expr, size: 52085)
2014-03-20
19:04
[22d6a074] part of check-in [d5a1530b] Remove a testcase() that is now always true due to the "x IN (?)" optimization. Add an ALWAYS() around a conditional in the parser that cannot be false. (check-in: [d5a1530b] user: drh branch: trunk, size: 51916)
17:03
[fb3280d8] part of check-in [2ea4a9f7] The "x IN (?)" optimization in check-ins [2ff3b25f40] and [e68b427afb] is incorrect, as demonstrated by the in4-5.1 test case in this check-in. The "COLLATE binary" that was being added to the RHS of IN was overriding the implicit collating sequence of the LHS. This change defines the EP_Generic expression node property that blocks all affinity or collating sequence information in the expression subtree and adds that property to the expression taken from RHS of the IN operator. (check-in: [2ea4a9f7] user: drh branch: trunk, size: 51760)
15:14
[d2107545] part of check-in [b1435f26] Fix harmless compiler warnings. (check-in: [b1435f26] user: drh branch: trunk, size: 51473)
14:56
[c9189eca] part of check-in [2ff3b25f] Previous check-in is not quite correct. "x IN (?)" is not exactly the same as "x==?" do to collation and affinity issues. The correct converstion should be to "x==(+? COLLATE binary)". The current check-in fixes this problem and provides test cases. Ticket [e39d032577df69] (check-in: [2ff3b25f] user: drh branch: trunk, size: 51524)
13:26
[52d749e7] part of check-in [e68b427a] Convert expressions of the form "X IN (?)" with exactly one value on the RHS of the IN into equality tests: "X=?". Add test cases to verify that statements work correctly on this corner case. Fix for ticket [e39d032577df6942]. (check-in: [e68b427a] user: drh branch: trunk, size: 51333)
2014-02-19
01:31
[2613ca5d] part of check-in [85b355cf] Make sure a multi-row VALUES clause works correctly in a compound SELECT. (check-in: [85b355cf] user: drh branch: trunk, size: 50879)
2014-02-09
18:02
[cce844cc] part of check-in [67bfd59d] Use the WITH clause to help resolve names for SELECT statements on the left of a compound query. Proposed fix for ticket [31a19d11b97088296a]. (check-in: [67bfd59d] user: drh branch: trunk, size: 50640)
2014-01-22
18:31
[bd51bc17] part of check-in [dea2ca6a] Fix harmless compiler warnings. (check-in: [dea2ca6a] user: drh branch: trunk, size: 50210)
2014-01-17
14:59
[475896cb] part of check-in [6a549187] Fix some problems to do with WITH clauses and name resolution. (check-in: [6a549187] user: dan branch: common-table-expr, size: 50207)
2014-01-15
14:17
[824eeb75] part of check-in [9472f6d8] Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: [9472f6d8] user: dan branch: common-table-expr, size: 50187)
2014-01-13
16:36
[e5c4a23f] part of check-in [8839850c] Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: [8839850c] user: dan branch: common-table-expr, size: 50154)
15:12
[b433588d] part of check-in [a26f399b] Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: [a26f399b] user: dan branch: common-table-expr, size: 50091)
2014-01-11
19:19
[1e3fd22f] part of check-in [704d3931] Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: [704d3931] user: dan branch: common-table-expr, size: 49867)
13:22
[0ccd364d] part of check-in [da98b720] Parse common table expressions. But do not do anything with them (yet). (check-in: [da98b720] user: drh branch: common-table-expr, size: 49563)
03:54
[3c538453] part of check-in [cb5d1f83] Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: [cb5d1f83] user: drh branch: trunk, size: 49197)
2014-01-10
20:51
[60baa3ac] part of check-in [7f1e7ae3] Remove unused structure definition from parse.y. (check-in: [7f1e7ae3] user: drh branch: trunk, size: 49253)
20:46
[0a284e3f] part of check-in [c9ea7d19] Allow a VALUES clause to be used any place that a SELECT statement can be used. (check-in: [c9ea7d19] user: drh branch: trunk, size: 49349)
2014-01-06
18:32
[201902e2] part of check-in [4365ddd6] Start a new experimental branch for support of Oracle-style CONNECT BY syntax. (check-in: [4365ddd6] user: drh branch: connect-by, size: 51591)
2013-11-21
14:44
[acee1a99] part of check-in [9b4217f0] Remove the obsolete TK_CONST_FUNC token type. (check-in: [9b4217f0] user: drh branch: trunk, size: 50674)
2013-10-21
23:55
[eb49c2c7] part of check-in [4e69dd5f] Minor refactoring of the PRIMARY KEY parsing logic to facilitate enhancements. (check-in: [4e69dd5f] user: drh branch: omit-rowid, size: 50702)
02:14
[073a8294] part of check-in [131cc6e1] Simplification of the syntax: Merely append "WITHOUT rowid" to the end of the table definition. (check-in: [131cc6e1] user: drh branch: omit-rowid, size: 50850)
2013-10-19
23:31
[909868a9] part of check-in [0248ec5e] 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. (check-in: [0248ec5e] user: drh branch: omit-rowid, size: 50719)
2013-09-12
16:50
[a97566d6] part of check-in [579a5125] Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (check-in: [579a5125] user: drh branch: expr-tuning, size: 50581)
2013-08-05
22:05
[27c6b413] part of check-in [c589b2fe] Performance optimization: Avoid calling convertCompoundSelecctToSubquery() on queries that do not use the UNION, EXCEPT, or INTERSECT operators. (check-in: [c589b2fe] user: drh branch: trunk, size: 50503)
2013-08-01
03:36
[599bc633] part of check-in [6b73ae7c] Test cases and bug fixes for the partial index logic. (check-in: [6b73ae7c] user: drh branch: partial-indices, size: 50458)
2013-07-31
18:12
[a950b48d] part of check-in [6794b2dc] 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. (check-in: [6794b2dc] user: drh branch: partial-indices, size: 50521)
2013-05-28
12:11
[9acfcc83] part of check-in [a0d5cc93] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc93] user: drh branch: trunk, size: 50449)
2013-04-30
14:06
[97083655] part of check-in [1c795692] Make sure extra parentheses around subqueries in the FROM clause are harmless. Ticket [28c6e830f239ea5]. (check-in: [1c795692] user: drh branch: trunk, size: 50448)
2012-12-18
19:36
[5d5e1277] part of check-in [7fecced4] 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. (check-in: [7fecced4] user: drh branch: trunk, size: 50382)
13:12
[15fdc2c9] part of check-in [7e30c021] Remove old commented-out code from parse.y. Fix some over-length source lines in parse.y. No logical changes. (check-in: [7e30c021] user: drh branch: trunk, size: 49986)
2012-12-07
18:38
[c2b4a645] part of check-in [972443b4] Some errors in veryquick resolved. Many more to go. (check-in: [972443b4] user: drh branch: ticket-71e333e7, size: 50452)
2012-10-16
21:08
[bf81c919] part of check-in [8b4c3c5e] An optimization that converts "a IN (b)" into "a==b". Seems to work, but needs additional test cases. (check-in: [8b4c3c5e] user: drh branch: degenerate_IN, size: 51049)
2012-07-18
16:07
[6548920e] part of check-in [defd828e] Remove another branch from the DbMalloc() paths. (check-in: [defd828e] user: dan branch: calloc, size: 50586)
2012-05-12
18:29
[f29df90b] part of check-in [e536ac04] 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. (check-in: [e536ac04] user: drh branch: trunk, size: 50598)
2012-05-08
11:17
[de06f412] part of check-in [38bf90af] Further changes to constraint parsing to support legacy syntax. (check-in: [38bf90af] user: drh branch: trunk, size: 50623)
2012-05-07
19:21
[ad29af00] part of check-in [a1c014d8] 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] (check-in: [a1c014d8] user: drh branch: trunk, size: 50588)
2012-03-30
15:48
[eb054bb4] part of check-in [1b75f301] When a named CHECK constraint fails, include the name of the constraint in the error message. (check-in: [1b75f301] user: drh branch: trunk, size: 50492)
12:10
[537c8db1] part of check-in [cbdd8638] 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. (check-in: [cbdd8638] user: drh branch: trunk, size: 50551)
2012-03-07
19:13
[180976f4] part of check-in [9a0f90d9] If a CHECK constraint is named, report that name on the error message when the constraint fails. (check-in: [9a0f90d9] user: drh branch: named-check-constraints, size: 50643)
2012-02-10
17:38
[1ddd71ae] part of check-in [92131195] Disable the ability to have multiple values in the VALUES clause of an INSERT statement when SQLITE_OMIT_COMPOUND_SELECT is used. (check-in: [92131195] user: drh branch: trunk, size: 50544)
2012-01-28
19:44
[f36fb379] part of check-in [2b2a7d8d] Remove a couple of unnecessary nonterminals from the grammar. (check-in: [2b2a7d8d] user: drh branch: trunk, size: 50331)
19:41
[fcda1cc4] part of check-in [230983e8] Add support for IF NOT EXISTS on CREATE VIRTUAL TABLE. (check-in: [230983e8] user: drh branch: trunk, size: 50437)
15:22
[203ea330] part of check-in [eb3b6a0c] Add support for multiple rows of VALUES in an INSERT statement. (check-in: [eb3b6a0c] user: drh branch: trunk, size: 50403)
2011-12-06
19:44
[fabb2e70] part of check-in [79ae51c5] Begin adding the data-structure explaining subsystem. All is contained within (check-in: [79ae51c5] user: drh branch: tree-explain, size: 49315)
2011-11-29
15:40
[d02cc7bd] part of check-in [431556ca] Remove unused fields from the Parse object. Documentation and formatting improvements on data structure definitions. (check-in: [431556ca] user: drh branch: trunk, size: 49196)
2010-08-17
23:13
[07fdc757] part of check-in [220cca50] Cherrypick the changes for enhancement requests [e090183531fc27474] (use indices on LIKE with no wildcards) and [4711020446da7d93d993] (use nocase index for LIKE even if the column is binary) into the 3.6.23.1 release of the Apple-OSX branch. (check-in: [220cca50] user: drh branch: apple-osx-3623, size: 48658)
2010-07-22
17:49
[12b7ebd6] part of check-in [9f932655] 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]. (check-in: [9f932655] user: drh branch: trunk, size: 49248)
2010-07-19
02:30
[220a11ac] part of check-in [3e5975aa] Fix a parser bug that was causing the relative precedence of LIKE and < operators to be incorrect. (check-in: [3e5975aa] user: drh branch: trunk, size: 49227)
2010-07-15
11:14
[06a61a57] part of check-in [dea7d33b] Change a comment inside a block of code in parse.y from C++ to C style. (check-in: [dea7d33b] user: dan branch: trunk, size: 49038)
2010-07-14
18:24
[3d7f529e] part of check-in [c288ac64] 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] (check-in: [c288ac64] user: drh branch: trunk, size: 49038)
2009-12-09
21:43
[ace5c7a1] part of check-in [54b955c3] 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. (check-in: [54b955c3] user: drh branch: trunk, size: 48637)
2009-12-03
04:40
[b172fba9] part of check-in [e3aa0870] Fix a couple of compiler warnings under MSVC. (check-in: [e3aa0870] user: shaneh branch: trunk, size: 48560)
2009-11-12
03:46
[f785d814] part of check-in [cff1b36a] Suppress excess OP_Null opcodes caused by binary IS or IS NOT operators that are converted into unary ISNULL or NOTNULL operators. (check-in: [cff1b36a] user: drh branch: trunk, size: 48556)
2009-11-10
01:30
[0a36c62c] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 48241)
2009-10-21
13:48
[0204f0df] part of check-in [0441d28e] Add evidence marks to parse.y. Fix a broken evidence link in e_fkey.tcl. (check-in: [0441d28e] user: drh branch: trunk, size: 48305)
2009-09-23
08:43
[2b75a329] part of check-in [540c2d18] 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. (check-in: [540c2d18] user: dan branch: trunk, size: 48167)
02:29
[563ecc9e] part of check-in [98853f61] 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. (check-in: [98853f61] user: drh branch: trunk, size: 48167)
2009-09-22
20:08
[749f39fa] part of check-in [3fc938c9] 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. (check-in: [3fc938c9] user: drh branch: trunk, size: 47832)
2009-09-21
16:06
[030c85b2] part of check-in [fb6ceed3] Fix compilation with OMIT_TRIGGER defined. Ticket [1ff6d29030]. (check-in: [fb6ceed3] user: dan branch: trunk, size: 47848)
2009-09-19
17:00
[e2a89b59] part of check-in [d5d39981] Check in implementation of foreign key constraints. (check-in: [d5d39981] user: dan branch: trunk, size: 47844)
2009-08-10
03:57
[6c42631e] part of check-in [ee034cfc] Removed some warnings from the MSVC compile. (CVS 6965) (check-in: [ee034cfc] user: shane branch: trunk, size: 47861)
2009-07-03
15:37
[bcd46d43] part of check-in [c8bf40df] Make explicit the restrictions on UPDATE, DELETE, and INSERT statement syntax within triggers. Ticket #3947. (CVS 6840) (check-in: [c8bf40df] user: drh branch: trunk, size: 47857)
2009-07-01
14:56
[c48ce202] part of check-in [42f9d1e5] 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) (check-in: [42f9d1e5] user: danielk1977 branch: trunk, size: 46882)
2009-06-19
14:06
[b6e99f42] part of check-in [37ae5f5e] 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) (check-in: [37ae5f5e] user: drh branch: trunk, size: 46930)
2009-06-12
13:53
[bab89225] part of check-in [fe9c9177] 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) (check-in: [fe9c9177] user: drh branch: trunk, size: 46983)
12:04
[d4bade53] part of check-in [a17e3317] Enable the SQLITE_LIMIT_FUNCTION_ARG limiter. (CVS 6753) (check-in: [a17e3317] user: drh branch: trunk, size: 46898)
03:47
[90bcb72d] part of check-in [6197b492] An additional memory leak in the parser fixed. Ticket #3911. (CVS 6751) (check-in: [6197b492] user: drh branch: trunk, size: 46876)
02:27
[5d6ab030] part of check-in [457e0b24] Modifications to the parser to eliminate unreachable code. (CVS 6749) (check-in: [457e0b24] user: drh branch: trunk, size: 46820)
2009-05-28
01:00
[07690df9] part of check-in [4ac2bdfb] 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) (check-in: [4ac2bdfb] user: drh branch: trunk, size: 46690)
2009-05-27
10:31
[6b55e52f] part of check-in [7cb1c3ba] 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) (check-in: [7cb1c3ba] user: drh branch: trunk, size: 46690)
2009-05-11
18:22
[ba2fa210] part of check-in [93772bd7] Enhance the parser to allow nested parentheses in the module argument of a CREATE VIRTUAL TABLE statement. (CVS 6625) (check-in: [93772bd7] user: drh branch: trunk, size: 43057)
2009-05-01
21:13
[a0e8b8e5] part of check-in [12bcb03d] 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) (check-in: [12bcb03d] user: drh branch: trunk, size: 43068)
2009-04-06
14:16
[b7e4341b] part of check-in [ed99d2d9] Allow "default" to be a keyword used by PRAGMA statements. (CVS 6454) (check-in: [ed99d2d9] user: drh branch: trunk, size: 43039)
2009-04-03
01:43
[070215cf] part of check-in [286e8317] Fix the PRAGMA parser so that it can accept negative numbers in parentheses, like the syntax diagrams say it should be able to. (CVS 6444) (check-in: [286e8317] user: drh branch: trunk, size: 42992)
2009-03-24
15:08
[b9ba0946] part of check-in [ea74d8dc] Changes to insure that lookaside memory allocations are never used to hold schema content. Ticket #3743. (CVS 6377) (check-in: [ea74d8dc] user: drh branch: trunk, size: 42881)
2009-03-22
20:36
[30ae25cd] part of check-in [53149c9f] Allow the keyword INDEXED to be used as the name of a table or index or column - for backwards compatibility. (CVS 6370) (check-in: [53149c9f] user: drh branch: trunk, size: 42754)
2009-03-05
03:48
[c315b6f9] part of check-in [5477833e] Removed compiler warnings from MSVC builds. Ticket #3701. (CVS 6335) (check-in: [5477833e] user: shane branch: trunk, size: 42722)
2009-02-19
14:39
[5202dc71] part of check-in [d9f6ffbc] Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 42722)
2009-01-29
19:27
[4f4d16ae] part of check-in [6041ca87] Add test cases to make sure that keywords that we say can be used as identifiers really can be used as identifiers. These tests were inspired by ticket #3612, but they do not directly address ticket #3612. (CVS 6214) (check-in: [6041ca87] user: drh branch: trunk, size: 42538)
2009-01-16
11:04
[b214295a] part of check-in [54ab8326] 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) (check-in: [54ab8326] user: danielk1977 branch: trunk, size: 42525)
2008-12-17
17:30
[4d0e33a7] part of check-in [34b56600] Add the savepoint feature. This feature is largely untested at this point. (CVS 6036) (check-in: [34b56600] user: danielk1977 branch: trunk, size: 42507)
2008-12-10
18:03
[3dfd9415] part of check-in [14e6d19c] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c] user: drh branch: trunk, size: 42172)
2008-12-08
16:01
[1f4b7ad6] part of check-in [cf419d0b] Fix two unused-parameter warnings in the parser. (CVS 5990) (check-in: [cf419d0b] user: drh branch: trunk, size: 42119)
2008-12-03
23:23
[72397fe3] part of check-in [72ebc8cb] Allow the entire FROM clause of a SELECT statement to be in parentheses. (CVS 5973) (check-in: [72ebc8cb] user: drh branch: trunk, size: 41985)
2008-10-23
05:45
[2c4758b4] part of check-in [0e448bc6] 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) (check-in: [0e448bc6] user: danielk1977 branch: trunk, size: 41612)
2008-10-11
17:35
[f4620f42] part of check-in [63dd8be7] 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) (check-in: [63dd8be7] user: drh branch: trunk, size: 41567)
17:06
[e73dc413] part of check-in [2a21d52c] 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) (check-in: [2a21d52c] user: drh branch: trunk, size: 41608)
2008-10-10
18:25
[e8620c7e] part of check-in [282c6a46] Further simplifications of the code for the LIMIT clause on an UPDATE or DELETE. Added a few test cases to wherelimit.test. (CVS 5797) (check-in: [282c6a46] user: shane branch: trunk, size: 41569)
17:47
[8862ab33] part of check-in [3bb33cf5] Change 'pragma foreign_key_list' to return some extra information. (CVS 5795) (check-in: [3bb33cf5] user: danielk1977 branch: trunk, size: 41822)
14:27
[72fc66fd] part of check-in [3de17963] Simplify the parser reduction code for the LIMIT clause on an UPDATE or DELETE. (CVS 5792) (check-in: [3de17963] user: drh branch: trunk, size: 41813)
04:34
[ecabcd64] part of check-in [c10e8a3c] Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) (check-in: [c10e8a3c] user: shane branch: trunk, size: 41992)
2008-10-07
05:27
[85d57c1d] part of check-in [9c8b132e] 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) (check-in: [9c8b132e] user: shane branch: trunk, size: 41984)
2008-10-06
16:18
[d8edf095] part of check-in [83a7e446] Allow INDEXED BY and NOT INDEXED to be used in UPDATE and DELETE statements. (CVS 5772) (check-in: [83a7e446] user: danielk1977 branch: trunk, size: 40816)
05:32
[c69312df] part of check-in [98ca5580] Allow INDEXED BY and NOT INDEXED clauses in SELECT statements. (CVS 5766) (check-in: [98ca5580] user: danielk1977 branch: trunk, size: 40666)
2008-08-20
16:35
[d0f76d2c] part of check-in [daf730d1] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1] user: drh branch: trunk, size: 39949)
2008-08-11
14:26
[84003422] part of check-in [571adab9] 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) (check-in: [571adab9] user: drh branch: trunk, size: 39960)
2008-08-08
15:06
[95d377a7] part of check-in [efcaeb68] 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) (check-in: [efcaeb68] user: drh branch: trunk, size: 39841)
14:19
[3bd91b93] part of check-in [4cedc641] 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) (check-in: [4cedc641] user: drh branch: trunk, size: 39834)
2008-07-31
01:40
[d962e544] part of check-in [10e04508] 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) (check-in: [10e04508] user: shane branch: trunk, size: 39919)
2008-07-28
19:34
[5ce0b04d] part of check-in [e48f9697] 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) (check-in: [e48f9697] user: drh branch: trunk, size: 39864)
2008-07-18
17:03
[d1316f1b] part of check-in [17a9984e] Make sure expression spans are set correctly for "x.*" expressions in the result set of a SELECT. Ticket #3229. (CVS 5438) (check-in: [17a9984e] user: drh branch: trunk, size: 39288)
2008-07-08
23:40
[097bff73] part of check-in [cbd3c158] Remove obsolete code from select.c, including the "affinity" parameter to the sqlite3Select() module. (CVS 5380) (check-in: [cbd3c158] user: drh branch: trunk, size: 39284)
2008-06-05
16:47
[8c2c3145] part of check-in [16d4c53a] 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) (check-in: [16d4c53a] user: danielk1977 branch: trunk, size: 39295)
2008-04-17
20:59
[fc4bd35c] part of check-in [4a72a7bb] Continuing progress on the journal_mode pragma. It still does not work. (CVS 5027) (check-in: [4a72a7bb] user: drh branch: trunk, size: 39239)
2008-03-29
12:50
[bc1b1cc6] part of check-in [bf28f1c2] add two missing initializer values (CVS 4937) (check-in: [bf28f1c2] user: rse branch: trunk, size: 39154)
2008-03-20
16:30
[b0ee84d9] part of check-in [4c4be4c3] Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: [4c4be4c3] user: drh branch: trunk, size: 39148)
2008-01-22
23:37
[00f2698c] part of check-in [c82033fa] Improved test coverage for the tokenizer and sqlite3_complete() interface. Fix bugs in parsing blob literals and SQL variables beginning with $. (CVS 4743) (check-in: [c82033fa] user: drh branch: trunk, size: 39204)
14:50
[bcc6092d] part of check-in [83ca4fc7] 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) (check-in: [83ca4fc7] user: drh branch: trunk, size: 39243)
01:48
[0a0878dd] part of check-in [2a0bc1e1] 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) (check-in: [2a0bc1e1] user: drh branch: trunk, size: 39272)
2008-01-02
16:27
[2ae06e8d] part of check-in [86dcdfe6] Combine the eDest and iParm arguments to sqlite3Select() into a single type - "SelectDest". (CVS 4657) (check-in: [86dcdfe6] user: danielk1977 branch: trunk, size: 39282)
2007-11-17
22:23
[a780b33e] part of check-in [b48a4bfd] 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) (check-in: [b48a4bfd] user: drh branch: trunk, size: 39242)
2007-11-12
09:50
[9640f5b9] part of check-in [06749ac7] Allow collation sequence names to be quoted. Ticket #2744. (CVS 4537) (check-in: [06749ac7] user: danielk1977 branch: trunk, size: 39151)
2007-08-21
10:44
[2d2ce439] part of check-in [fbbd5bda] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda] user: drh branch: trunk, size: 39215)
2007-08-16
10:09
[c03529c3] part of check-in [77b16713] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b16713] user: danielk1977 branch: trunk, size: 39242)
04:30
[4934dc7e] part of check-in [deb7ecd6] 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) (check-in: [deb7ecd6] user: drh branch: trunk, size: 39225)
2007-06-20
12:18
[ad2ce256] part of check-in [9581e7a4] Disallow empty GROUP BY clauses. Ticket #2431. (CVS 4099) (check-in: [9581e7a4] user: drh branch: trunk, size: 38394)
2007-06-15
17:03
[2ed1d91f] part of check-in [d0b6e9a0] Fix a memory leak in the parser that can occur following a malloc failure. (CVS 4071) (check-in: [d0b6e9a0] user: drh branch: trunk, size: 38411)
2007-05-30
10:36
[e3d8e3f7] part of check-in [7522d2fb] Add some extra tests for malloc failure during expression parsing and execution using fuzzily generated SQL. (CVS 4043) (check-in: [7522d2fb] user: danielk1977 branch: trunk, size: 38382)
2007-05-15
16:51
[e276a0c3] part of check-in [f84d9dab] 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) (check-in: [f84d9dab] user: drh branch: trunk, size: 38369)
00:09
[5d4d60e7] part of check-in [d07cdd3c] Make sure the parser aborts quickly following a syntax error. (CVS 3996) (check-in: [d07cdd3c] user: drh branch: trunk, size: 38400)
2007-05-11
01:44
[8451c5b0] part of check-in [d12a8924] Additional parsing bugs fixed. (CVS 3981) (check-in: [d12a8924] user: drh branch: trunk, size: 38369)
2007-05-10
10:46
[39b25cc7] part of check-in [2c9c94a2] Add code to enforce the MAX_EXPR_DEPTH limit. (CVS 3968) (check-in: [2c9c94a2] user: danielk1977 branch: trunk, size: 38437)
2007-05-08
17:54
[fe7efcbf] part of check-in [eeee6b71] Add a few more tests to sqllimit1.test. (CVS 3954) (check-in: [eeee6b71] user: danielk1977 branch: trunk, size: 38253)
13:58
[efbca804] part of check-in [c59d4360] Add more code to enforce the limits specified in limits.h. (CVS 3946) (check-in: [c59d4360] user: drh branch: trunk, size: 38036)
2007-05-04
18:30
[a5bdc301] part of check-in [b13e497a] 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) (check-in: [b13e497a] user: drh branch: trunk, size: 37860)
16:14
[502cec81] part of check-in [ed713f9c] Optional parameter in the INCREMENTAL VACUUM statement specifies how many pages to vacuum from the database. (CVS 3919) (check-in: [ed713f9c] user: drh branch: trunk, size: 38059)
14:14
[c4ee802a] part of check-in [9d7a2e2b] Make "incremental" a fallback token so that you can set "auto_vacuum=incremental" without having to quote the "incremental". (CVS 3917) (check-in: [9d7a2e2b] user: drh branch: trunk, size: 37972)
2007-04-26
14:42
[a3940369] part of check-in [f6a6d2b8] Add largely untested code for the incremental vacuum function. (CVS 3876) (check-in: [f6a6d2b8] user: danielk1977 branch: trunk, size: 37968)
2007-04-06
15:02
[b6cfbadb] part of check-in [479b3d96] Binary file I/O infrastructure added and used to increase test coverage for detection of corrupt database files. (CVS 3822) (check-in: [479b3d96] user: drh branch: trunk, size: 37860)
11:26
[6112045e] part of check-in [8e2559b4] 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) (check-in: [8e2559b4] user: drh branch: trunk, size: 37425)
2007-03-27
14:44
[207ab042] part of check-in [cbebfb89] 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) (check-in: [cbebfb89] user: drh branch: trunk, size: 37683)
2007-02-02
12:44
[bcfe366c] part of check-in [9740aa95] 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) (check-in: [9740aa95] user: drh branch: trunk, size: 37656)
2007-02-01
23:02
[ebf4253e] part of check-in [85cca7cd] 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) (check-in: [85cca7cd] user: drh branch: trunk, size: 37648)
2007-01-27
02:38
[31ea08df] part of check-in [ab6322bf] 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) (check-in: [ab6322bf] user: drh branch: trunk, size: 37600)
2006-12-20
02:15
[2f571c5f] part of check-in [893d58c2] Allow constraint names on DEFAULT values in a table definition. Ticket #2109. (CVS 3535) (check-in: [893d58c2] user: drh branch: trunk, size: 37581)
2006-12-16
16:25
[9b3d1c0f] part of check-in [7393c81b] 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) (check-in: [7393c81b] user: drh branch: trunk, size: 37576)
2006-09-21
11:02
[8c79a1de] part of check-in [7e618db4] Be more aggressive with the SQLITE_OMIT_VACUUM macro. Saves about 150 bytes of code space. (CVS 3432) (check-in: [7e618db4] user: drh branch: trunk, size: 38045)
2006-09-11
23:45
[3279443a] part of check-in [e4fe736c] Add support for IF EXISTS on CREATE/DROP TRIGGER/VIEW. Ticket #1899. (CVS 3406) (check-in: [e4fe736c] user: drh branch: trunk, size: 37870)
2006-08-25
23:42
[b26898e5] part of check-in [bc84cb54] Add support for INSERT INTO ... DEFAULT VALUES. Tickets #299, #1940. (CVS 3368) (check-in: [bc84cb54] user: drh branch: trunk, size: 37803)
2006-08-14
14:23
[ec897a96] part of check-in [b4d53974] 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) (check-in: [b4d53974] user: drh branch: trunk, size: 37678)
2006-07-11
10:42
[ecac6660] part of check-in [368bcf26] Fix a possible NULL-pointer deference following a malloc failure. Error discovered by Klocwork. (CVS 3327) (check-in: [368bcf26] user: drh branch: trunk, size: 37651)
2006-07-08
18:35
[438e0f94] part of check-in [6e98373c] 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) (check-in: [6e98373c] user: drh branch: trunk, size: 37630)
2006-06-16
08:01
[e0831a26] part of check-in [9497c66e] Add some tests (and fixes) for virtual tables and the authorization callback. Still more to come. (CVS 3260) (check-in: [9497c66e] user: danielk1977 branch: trunk, size: 37602)
2006-06-13
15:37
[14ce6fb2] part of check-in [815b84d5] Add support for the MATCH operator. (CVS 3231) (check-in: [815b84d5] user: drh branch: trunk, size: 37592)
2006-06-11
23:41
[05cd1419] part of check-in [898ec36b] Progress toward CREATE VIRTUAL TABLE. Still not even close to working... (CVS 3211) (check-in: [898ec36b] user: drh branch: trunk, size: 37466)
2006-06-10
13:29
[79c32462] part of check-in [66370cb9] Basic parsing of CREATE VIRTUAL TABLE statements. (CVS 3210) (check-in: [66370cb9] user: drh branch: trunk, size: 36957)
2006-05-25
12:17
[50ab45ec] part of check-in [5031ffc6] Syntax errors override errors from the code generator, not the other way around. (CVS 3192) (check-in: [5031ffc6] user: drh branch: trunk, size: 36582)
2006-03-13
12:54
[ee1887ce] part of check-in [a69f697d] Additional changes due to Coverity scans. (CVS 3130) (check-in: [a69f697d] user: drh branch: trunk, size: 36527)
2006-02-27
22:22
[c2daaa24] part of check-in [b4fa96d0] The parser now permits very large triggers - triggers with 10000 or more statements. (CVS 3113) (check-in: [b4fa96d0] user: drh branch: trunk, size: 36474)
21:58
[969fa5dd] part of check-in [bd2c38f4] Detect stack overflow in the parser and report an error. (CVS 3112) (check-in: [bd2c38f4] user: drh branch: trunk, size: 36414)
2006-02-24
02:53
[52b8cdcc] part of check-in [4b22e4b8] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b8] user: drh branch: trunk, size: 36342)
2006-02-10
02:27
[6d666d60] part of check-in [82f502cd] Add the column_origin_name() etc. APIs. (CVS 3069) (check-in: [82f502cd] user: danielk1977 branch: trunk, size: 36360)
2006-01-30
23:04
[ce7182bf] part of check-in [669bcf5a] Remove support for the non-standard ON CONFLICT clause on CREATE INDEX. Ticket #1486. The ON CONFLICT clause has never worked on CREATE INDEX so removing it should not break anything. (CVS 3042) (check-in: [669bcf5a] user: drh branch: trunk, size: 36351)
2006-01-23
13:22
[4285cd2d] part of check-in [1f42a338] Do not name variables "operator" because some compilers do not realize that "operator" is not a reserved word in ANSI-C. Ticket #1625. (CVS 2997) (check-in: [1f42a338] user: drh branch: trunk, size: 36422)
2006-01-07
14:02
[83df51fe] part of check-in [6593199a] Fix some memory leaks caused by obscure syntax errors in SQL. (CVS 2882) (check-in: [6593199a] user: danielk1977 branch: trunk, size: 36426)
2006-01-04
15:54
[58258759] part of check-in [551cdd6c] Add support for CREATE INDEX IF NOT EXISTS and DROP INDEX IF EXISTS. (CVS 2855) (check-in: [551cdd6c] user: drh branch: trunk, size: 36183)
2005-12-29
23:33
[fea607bd] part of check-in [0bd9e35f] Add support for CREATE TABLE IF NOT EXISTS. (CVS 2847) (check-in: [0bd9e35f] user: drh branch: trunk, size: 36150)
01:11
[13343510] part of check-in [a4c547de] Add support for DROP TABLE IF EXISTS. (CVS 2843) (check-in: [a4c547de] user: drh branch: trunk, size: 36023)
2005-12-16
01:06
[142a4b34] part of check-in [cd110aa2] Initial infrastructure for recognizing DESC indices and being able to read and write older databases that specify DESC indices but do not really use them. Nothing is close to working yet. (CVS 2822) (check-in: [cd110aa2] user: drh branch: trunk, size: 35893)
2005-12-09
20:02
[d0b1f9a4] part of check-in [83a59151] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a59151] user: drh branch: trunk, size: 35759)
2005-12-06
17:19
[87080d89] part of check-in [5e04ec69] Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803) (check-in: [5e04ec69] user: danielk1977 branch: trunk, size: 35732)
2005-11-24
22:22
[e4d57c2f] part of check-in [2dfc9863] Reduce the number of distinct token symbols in the parser so that the parser can store tokens in a single byte and thus be smaller in size. (CVS 2776) (check-in: [2dfc9863] user: drh branch: trunk, size: 35826)
2005-11-14
22:29
[9399852d] part of check-in [ce06c123] Create separate affinities for INTEGER and REAL. (CVS 2766) (check-in: [ce06c123] user: drh branch: trunk, size: 36252)
2005-11-06
04:06
[6322f4b2] part of check-in [f39974eb] About 0.5KiB of additional compression in the parser tables. (CVS 2764) (check-in: [f39974eb] user: drh branch: trunk, size: 36126)
2005-11-03
02:03
[1d5afb97] part of check-in [db27afc4] Disallow subqueries in CHECK constraints. (CVS 2756) (check-in: [db27afc4] user: drh branch: trunk, size: 37286)
00:41
[416bc5ed] part of check-in [2313d912] First cut at supporting CHECK constraints. Everything appears to work, but much more testing is needed as well as documentation. (CVS 2754) (check-in: [2313d912] user: drh branch: trunk, size: 37239)
2005-09-16
02:38
[5602d5cb] part of check-in [4686d649] Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: [4686d649] user: drh branch: trunk, size: 37224)
2005-09-11
11:56
[3bceaece] part of check-in [2f397bd8] COUNT(DISTINCT x) is now fully functional, though it could benefit from additional testing. (CVS 2688) (check-in: [2f397bd8] user: drh branch: trunk, size: 37027)
2005-09-10
16:46
[c97d885c] part of check-in [986efb7b] Add the experimental EXPLAIN QUERY PLAN diagnostic capability. (CVS 2685) (check-in: [986efb7b] user: drh branch: trunk, size: 37131)
2005-09-09
01:33
[13c3d16e] part of check-in [4d62e36f] Infrastructure for the DISTINCT keyword in aggregate functions. But it does not work yet. If you try to use it you get an error message. (CVS 2680) (check-in: [4d62e36f] user: drh branch: trunk, size: 37042)
2005-09-07
21:22
[4c0cf6b0] part of check-in [17039ec3] Rewrite the aggregate handling logic so that it runs in O(1) space. This is the first cut at the code. Many regression tests fail. (CVS 2662) (check-in: [17039ec3] user: drh branch: trunk, size: 36882)
2005-07-08
12:13
[d57cdd2a] part of check-in [05b6ac9a] Add infrastructure for the ANALYZE command. Does not yet actually do anything. (CVS 2537) (check-in: [05b6ac9a] user: drh branch: trunk, size: 36871)
2005-06-30
17:04
[6caf6855] part of check-in [d273766e] Allow the DEFAULT value of a column to be obtained by calling a function that has constant arguments, such as julianday('now'). (CVS 2534) (check-in: [d273766e] user: drh branch: trunk, size: 36617)
2005-06-25
18:42
[562246a7] part of check-in [17631785] Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: [17631785] user: drh branch: trunk, size: 36544)
2005-05-23
17:26
[72cd7553] part of check-in [42a626ac] The REGEXP operator is recognized. It tries to invoke a function named regexp() which does not exist in the native build. But users who want to can add an appropriate regexp() function using sqlite3_create_function(). (CVS 2478) (check-in: [42a626ac] user: drh branch: trunk, size: 35443)
2005-04-22
02:38
[3e314b3a] part of check-in [88b39436] Remove some vestigal code. Add the experimental sqlite3_transfer_bindings() API. (CVS 2446) (check-in: [88b39436] user: drh branch: trunk, size: 35556)
2005-03-29
03:10
[1770b867] part of check-in [c41d5544] Add the SQLITE_OMIT_TEMPDB compile time macro. (CVS 2427) (check-in: [c41d5544] user: danielk1977 branch: trunk, size: 35564)
2005-03-17
05:03
[10c0ace9] part of check-in [94185dd4] Add the ALTER TABLE ... ADD COLUMN command. (CVS 2393) (check-in: [94185dd4] user: danielk1977 branch: trunk, size: 35530)
2005-03-16
12:15
[5c8336e7] part of check-in [9a358fc3] Fix some memory leaks that can occur if a memory allocation fails. (CVS 2388) (check-in: [9a358fc3] user: danielk1977 branch: trunk, size: 35112)
2005-03-09
12:26
[0b613526] part of check-in [9d5abc1d] Support for a future ALTER TABLE command to add columns with default values. (CVS 2367) (check-in: [9d5abc1d] user: danielk1977 branch: trunk, size: 34945)
2005-02-14
06:38
[450fc9c4] part of check-in [41d2214b] Tighten up the CREATE INDEX syntax accepted by the parser. (CVS 2329) (check-in: [41d2214b] user: danielk1977 branch: trunk, size: 34945)
2005-02-05
12:48
[ee046c1e] part of check-in [515e5033] Allow expressions (including variables) in LIMIT and OFFSET clauses. Ticket #1096. (CVS 2316) (check-in: [515e5033] user: danielk1977 branch: trunk, size: 34926)
2005-02-04
04:07
[7a4965d6] part of check-in [2eb90870] Remove code for SQL cursors. (CVS 2312) (check-in: [2eb90870] user: danielk1977 branch: trunk, size: 34809)
2005-01-29
08:32
[959948ee] part of check-in [b1b50f31] Modify sub-query handling. Tickets #1083 and #1084. (CVS 2286) (check-in: [b1b50f31] user: danielk1977 branch: trunk, size: 36270)
2005-01-21
03:12
[5f2c197f] part of check-in [bb0254ab] Modify test scripts to work when SQLITE_OMIT_SUBQUERY (along with other OMIT macros) is defined. (CVS 2251) (check-in: [bb0254ab] user: danielk1977 branch: trunk, size: 36273)
2005-01-20
13:36
[301d07db] part of check-in [d30fdf0f] Added the SQLITE_OMIT_SUBQUERY compile-time option and the EXISTS operator. Regression tests are currently failing with an assertion fault. (CVS 2245) (check-in: [d30fdf0f] user: drh branch: trunk, size: 36247)
02:14
[276efb30] part of check-in [2d3ab1ab] Turn SQLITE_OMIT_CURSOR on by default. (CVS 2240) (check-in: [2d3ab1ab] user: drh branch: trunk, size: 35869)
2005-01-19
23:24
[a1084470] part of check-in [d8b2a7e0] Continued refactoring of the name resolution logic and query optimizer. (CVS 2236) (check-in: [d8b2a7e0] user: drh branch: trunk, size: 35865)
2004-11-22
19:12
[ceba179b] part of check-in [fc8c1393] Add initial infrastructure for cursors. In where.c, optimize out clauses of the form "ORDER BY rowid" if a table scan is being performed. Do a reverse table scan if "ORDER BY rowid DESC" is present. (CVS 2141) (check-in: [fc8c1393] user: drh branch: trunk, size: 35862)
2004-11-17
16:41
[0a4bdfd7] part of check-in [49268c2b] Add the ESCAPE clause to the LIKE operator. Not fully tested yet. (CVS 2107) (check-in: [49268c2b] user: danielk1977 branch: trunk, size: 34413)
2004-11-13
15:59
[3282026b] part of check-in [dcbc0c22] More compile-time options for removing components. (CVS 2098) (check-in: [dcbc0c22] user: drh branch: trunk, size: 34199)
03:48
[7978be17] part of check-in [10c712a2] Autoincrement is now working and has regression tests. (CVS 2095) (check-in: [10c712a2] user: drh branch: trunk, size: 34143)
2004-11-12
13:42
[b64ebeb9] part of check-in [a1b2cc63] Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092) (check-in: [a1b2cc63] user: danielk1977 branch: trunk, size: 34611)
03:56
[91a01b5f] part of check-in [8fde833c] Autoincrement code installed. Simple smoke-testing only. No regression tests developed yet. (CVS 2091) (check-in: [8fde833c] user: drh branch: trunk, size: 34391)
2004-11-09
16:13
[02e0d88a] part of check-in [f81b9c1c] Have "DEFAULT CURRENT_TIME" & co. work even if SQLITE_OMIT_DATETIME_FUNCS is defined. (CVS 2083) (check-in: [f81b9c1c] user: danielk1977 branch: trunk, size: 33946)
12:44
[0af8d009] part of check-in [0d27c8ff] Port the "DEFAULT CURRENT_TIME" etc. functionality from an earlier fork of sqlite. (CVS 2082) (check-in: [0d27c8ff] user: danielk1977 branch: trunk, size: 33946)
2004-11-05
23:46
[84567268] part of check-in [11dba47e] First cut at a REINDEX command. Basic testing only. No documentation. (CVS 2072) (check-in: [11dba47e] user: drh branch: trunk, size: 33486)
05:10
[97247c0a] part of check-in [ac2d5a60] More use of sqlite3NestedParse. This version of the code does not work. (CVS 2060) (check-in: [ac2d5a60] user: drh branch: trunk, size: 33240)
00:43
[e7f4e87a] part of check-in [10c3d883] Incremental check-in of changes that will ultimately lead to a working autoincrement. (CVS 2056) (check-in: [10c3d883] user: drh branch: trunk, size: 33172)
2004-11-03
13:59
[4a274506] part of check-in [a82980fd] More work on optionally removing unused features at compile-time. (CVS 2049) (check-in: [a82980fd] user: drh branch: trunk, size: 32987)
03:59
[625750bf] part of check-in [007aec11] The makefile now runs mkkeywordhash.c. Keywords that are unused are omitted from the keyword hash table. (CVS 2045) (check-in: [007aec11] user: drh branch: trunk, size: 32987)
2004-10-31
02:22
[08f4971f] part of check-in [be661acf] Insert #ifdefs that can optionally remove features at compiletime resulting in a database engine with a smaller footprint. (CVS 2034) (check-in: [be661acf] user: drh branch: trunk, size: 32932)
2004-10-07
03:06
[8d97a91c] part of check-in [618dee12] Additional parser optimizations. (CVS 2010) (check-in: [618dee12] user: drh branch: trunk, size: 32581)
2004-10-06
14:39
[329d1bca] part of check-in [8e2ae244] Size optimization in the parser. (CVS 2004) (check-in: [8e2ae244] user: drh branch: trunk, size: 33384)
2004-10-05
02:41
[e03d7d7f] part of check-in [81ff8107] Add support for DEFERRED, IMMEDIATE, and EXCLUSIVE transactions. (CVS 2000) (check-in: [81ff8107] user: drh branch: trunk, size: 33745)
2004-10-04
13:38
[3616bdde] part of check-in [e8e972ba] More changes to take advantage of the TK_ and OP_ alignments to avoid unnecessary translations. (CVS 1999) (check-in: [e8e972ba] user: drh branch: trunk, size: 33524)
13:19
[eb4920f6] part of check-in [4c817e3f] Save about 800 bytes of code space by aligning TK_ and OP_ constants so that we do not have to translate between them. (CVS 1998) (check-in: [4c817e3f] user: drh branch: trunk, size: 33524)
2004-09-30
14:22
[96823135] part of check-in [85ad1871] Correctly parser column typenames that contain more than one identifier. Ticket #934. (CVS 1990) (check-in: [85ad1871] user: drh branch: trunk, size: 33215)
2004-09-25
15:29
[52ca09ee] part of check-in [54ee1664] Remove unused CLUSTER keyword from the parser. (CVS 1986) (check-in: [54ee1664] user: drh branch: trunk, size: 33225)
13:12
[93edda0f] part of check-in [cb631a13] Code simplifications and size reductions. (CVS 1983) (check-in: [cb631a13] user: drh branch: trunk, size: 33233)
2004-09-07
16:19
[9389af67] part of check-in [435b3f30] Wildcards with the same name map into the same variable number. New api sqlite3_bind_parameter_index() added to map wildcard names into wildcard index numbers. Support for "?nnn" wildcards. (CVS 1945) (check-in: [435b3f30] user: drh branch: trunk, size: 33233)
2004-08-25
04:07
[581a2ce0] part of check-in [fd584d1c] Host parameter names conform to SQL-2003. (CVS 1902) (check-in: [fd584d1c] user: drh branch: trunk, size: 33243)
2004-08-20
16:02
[8b4cab19] part of check-in [d3be0b7c] Add support for named wildcards in SQL statements. (CVS 1897) (check-in: [d3be0b7c] user: drh branch: trunk, size: 33387)
2004-08-19
15:12
[7b71425a] part of check-in [28215096] Enhance lemon so that a @X instead of just X in the code expands to the major token value rather than the minor token value. Use this to make the parser a few hundred bytes smaller. (CVS 1895) (check-in: [28215096] user: drh branch: trunk, size: 33186)
2004-08-01
00:10
[589b1a39] part of check-in [b56afe64] Add the ".import" command to the command-line shell. (CVS 1873) (check-in: [b56afe64] user: drh branch: trunk, size: 33210)
2004-07-22
15:02
[0bcc53bb] part of check-in [b0a3becd] Fix bugs associated with the codec. (CVS 1846) (check-in: [b0a3becd] user: drh branch: trunk, size: 33241)
2004-07-20
14:06
[1c22ccb2] part of check-in [3c5aa850] Lemon collapses common destructors and reduce actions into a single case. (CVS 1837) (check-in: [3c5aa850] user: drh branch: trunk, size: 32980)
2004-06-30
09:49
[51c8e696] part of check-in [152e9940] Coverage tests for vacuum.c (CVS 1776) (check-in: [152e9940] user: danielk1977 branch: trunk, size: 32991)
2004-06-26
06:37
[e19e066e] part of check-in [212de3ce] Remove default_synchronous and temp_store pragmas. Allow the safety-level and cache-size to be set for attached databases. (CVS 1735) (check-in: [212de3ce] user: danielk1977 branch: trunk, size: 32983)
2004-06-09
09:55
[09743867] part of check-in [c634e71f] Some progress on user-defined collation sequences. (CVS 1544) (check-in: [c634e71f] user: danielk1977 branch: trunk, size: 32962)
00:48
[19972fba] part of check-in [10861964] Start all transactions and verify all schema cookies near the beginning of of each vdbe program. (CVS 1543) (check-in: [10861964] user: drh branch: trunk, size: 32632)
2004-05-31
08:55
[27c1ce09] part of check-in [9029274b] Remove the <ON CONFLICT> clause from BEGIN (CVS 1501) (check-in: [9029274b] user: danielk1977 branch: trunk, size: 32632)
2004-05-29
10:23
[facaa7d0] part of check-in [4feb4b9a] Fix vacuum so that it works with blobs. (CVS 1490) (check-in: [4feb4b9a] user: danielk1977 branch: trunk, size: 32644)
02:37
[fbb23787] part of check-in [4060a37d] Allow CREATE and DROP TRIGGER on attached databases. (CVS 1488) (check-in: [4060a37d] user: danielk1977 branch: trunk, size: 32621)
2004-05-28
12:33
[9d3be712] part of check-in [ad879a95] Allow CREATE and DROP VIEW on attached databases. (CVS 1485) (check-in: [ad879a95] user: danielk1977 branch: trunk, size: 32568)
12:11
[32d6d4b2] part of check-in [2fb3708e] Allow DROP TABLE and DROP INDEX on attached databases. (CVS 1484) (check-in: [2fb3708e] user: danielk1977 branch: trunk, size: 32521)
11:37
[1ab0393a] part of check-in [4984a130] Allow CREATE TABLE and CREATE INDEX on attached databases. (CVS 1483) (check-in: [4984a130] user: danielk1977 branch: trunk, size: 32487)
2004-05-27
17:22
[63d39b6f] part of check-in [287f8673] Remove the COPY command. (CVS 1477) (check-in: [287f8673] user: drh branch: trunk, size: 32513)
09:28
[1a39b219] part of check-in [67a140cf] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf] user: danielk1977 branch: trunk, size: 32875)
2004-05-20
23:37
[56771886] part of check-in [b032b646] Fix a bug that prevented sorting by index. Down to 162 failed tests. (CVS 1421) (check-in: [b032b646] user: drh branch: trunk, size: 32800)
22:16
[7c8eb3a3] part of check-in [a6cb09d7] Add internal support for collating sequences. This breaks 244 tests. (CVS 1420) (check-in: [a6cb09d7] user: drh branch: trunk, size: 32784)
12:41
[4ed66f12] part of check-in [8411718f] Fix problems with types and the recognition of BLOB as having no affinity. (CVS 1418) (check-in: [8411718f] user: drh branch: trunk, size: 32837)
2004-05-18
10:06
[d2e22665] part of check-in [ad4a9641] Fix many problems with manifest types and column affinity. Most things are working now. (CVS 1393) (check-in: [ad4a9641] user: danielk1977 branch: trunk, size: 32813)
2004-05-08
08:23
[d0258aa3] part of check-in [8af6474c] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c] user: danielk1977 branch: trunk, size: 32810)
2004-02-22
18:40
[023720cb] part of check-in [69aac043] Use sqliteErrorMsg instead of sqliteSetString whereever practical. (CVS 1264) (check-in: [69aac043] user: drh branch: trunk, size: 32550)
16:27
[b990b584] part of check-in [d372c16e] Rearrange the grammar some so that tokens that are used together appear together in the grammar file. This reduces the size of the parser tables and some of the jump tables in switch statements. (CVS 1262) (check-in: [d372c16e] user: drh branch: trunk, size: 32635)
2004-02-14
23:59
[226bbdba] part of check-in [2dbc4593] Eliminate obsolete code associated with the older callback functionality. (CVS 1243) (check-in: [2dbc4593] user: drh branch: trunk, size: 32377)
2004-02-12
18:46
[1e311dc6] part of check-in [800c11f4] Add hooks on each attached database connection for storing auxiliary information. Add the USING clause to ATTACH. (CVS 1232) (check-in: [800c11f4] user: drh branch: trunk, size: 32430)
17:28
[eb3af3b6] part of check-in [a6b862a9] All REPLACE INTO syntax inside of triggers. Ticket #610. (CVS 1231) (check-in: [a6b862a9] user: drh branch: trunk, size: 32300)
2004-01-24
20:18
[7a121554] part of check-in [3626f6d4] Add the ability to group FROM terms using parentheses. Names of columns in a join no longer include the table name. (CVS 1197) (check-in: [3626f6d4] user: drh branch: trunk, size: 32306)
2004-01-15
03:30
[e41722d1] part of check-in [01874d25] Allow "expr IN table" as a shorthand for "expr IN (SELECT * FROM table)" (CVS 1180) (check-in: [01874d25] user: drh branch: trunk, size: 32027)
2003-12-06
21:43
[c65aa6c5] part of check-in [656c9038] Always use "(char*)0" to terminate the argument list of sqliteSetString(). This is needed for 64-bit systems that use a 32-bit integer by default. (CVS 1126) (check-in: [656c9038] user: drh branch: trunk, size: 31373)
2003-11-27
00:48
[1c72ca2a] part of check-in [72bf73b2] Disallow temporary indices on persistent tables. (CVS 1122) (check-in: [72bf73b2] user: drh branch: trunk, size: 31366)
2003-09-30
01:54
[ec5d0d0a] part of check-in [95b27ebd] All LIKE and GLOB operators to use function notation. "A LIKE B" can be expressed as "LIKE(B,A)". (CVS 1108) (check-in: [95b27ebd] user: drh branch: trunk, size: 31379)
2003-09-27
13:39
[8ef7f4e0] part of check-in [824430b3] Remove support for the Oracle8 outer join syntax. (CVS 1106) (check-in: [824430b3] user: drh branch: trunk, size: 31370)
2003-09-06
22:18
[121daf21] part of check-in [990bb118] Update Makefile.in for the new vdbeaux.c file. Remove the experimental "sqlite_instantiate()" routine and replace it with "sqlite_bind()" which is more like ODBC and JDBC. (CVS 1095) (check-in: [990bb118] user: drh branch: trunk, size: 31509)
01:10
[5cd707f0] part of check-in [912f47c7] The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (check-in: [912f47c7] user: drh branch: trunk, size: 31467)
2003-07-16
02:19
[16aed0e3] part of check-in [e6a752bf] Allow negative values for LIMIT and OFFSET. Add tests for negative LIMITs and OFFSETs. Make the OFFSET work even if LIMIT is 0 or negative. (CVS 1052) (check-in: [e6a752bf] user: drh branch: trunk, size: 31396)
2003-05-17
19:04
[917250e5] part of check-in [c8c823b0] Prevent an infinite loop when deleting a table that has a TEMP trigger. (CVS 984) (check-in: [c8c823b0] user: drh branch: trunk, size: 31320)
2003-04-29
17:19
[39b5240c] part of check-in [1a0c5420] Allow the ASC or DESC keyword to appear after a column name in a CREATE INDEX statement. SQLite indices are aways ASC (ascending) regardless of which keyword is used. (CVS 943) (check-in: [1a0c5420] user: drh branch: trunk, size: 31322)
2003-04-21
18:48
[15ae47e7] part of check-in [58ddd587] Add support for TEMPORARY triggers. Such triggers can write temporary or permanent tables. (CVS 926) (check-in: [58ddd587] user: drh branch: trunk, size: 31322)
2003-04-17
22:57
[ad40843a] part of check-in [1e5e00fb] Fix triggers to work in an ATTACHed database. Ticket #295. (CVS 915) (check-in: [1e5e00fb] user: drh branch: trunk, size: 31167)
2003-03-31
00:30
[3be47fa1] part of check-in [c7c5e927] The ATTACH and DETACH statements are now coded but are still mostly untested. (CVS 890) (check-in: [c7c5e927] user: drh branch: trunk, size: 31166)
2003-03-27
12:51
[243cfc27] part of check-in [d2fb2bb5] Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) (check-in: [d2fb2bb5] user: drh branch: trunk, size: 31091)
2003-03-20
01:16
[7a9f333e] part of check-in [a5d8fc95] Record the database name in addition to the table name for DELETE, INSERT, and UPDATE statements. (CVS 879) (check-in: [a5d8fc95] user: drh branch: trunk, size: 30575)
2003-02-20
00:44
[4c4b2ff3] part of check-in [6ef91a36] Fix the parsing of the LIMIT clause when the limit and offset are separated by a comma. The offset comes before the limit in that case. Ticket #245. (CVS 872) (check-in: [6ef91a36] user: drh branch: trunk, size: 30016)
2003-01-29
18:46
[cdaed500] part of check-in [ccc82f1a] Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: [ccc82f1a] user: drh branch: trunk, size: 29928)
2003-01-28
23:13
[aea0819c] part of check-in [065fa818] First code for the new callback-free API. All regression tests pass but the new API is mostly untested and is unlikely to work. (CVS 852) (check-in: [065fa818] user: drh branch: trunk, size: 29902)
2003-01-18
20:11
[a4fbfbe3] part of check-in [71cc292d] Fix datatype reporting and collating sequence selection so that it works correctly on views and with the UNION, EXCEPT, and INTERCEPT operators. (CVS 839) (check-in: [71cc292d] user: drh branch: trunk, size: 29711)
2003-01-13
23:27
[58655a50] part of check-in [45de93f9] Revise the sqlite_set_authorizer API to provide more detailed information about the SQL statement being authorized. Only partially tested so far. (CVS 830) (check-in: [45de93f9] user: drh branch: trunk, size: 29715)
2003-01-07
02:47
[427a1788] part of check-in [a362981b] More optimizations. (CVS 816) (check-in: [a362981b] user: drh branch: trunk, size: 29713)
2002-10-27
19:35
[469c9636] part of check-in [31df3690] Minimal support for oracle8 outer join syntax. (CVS 771) (check-in: [31df3690] user: drh branch: trunk, size: 29696)
2002-10-22
23:38
[e37e66aa] part of check-in [3b68aa25] Correctly handle column names and string constants in parentheses. Fix for ticket #179. (CVS 770) (check-in: [3b68aa25] user: drh branch: trunk, size: 29557)
2002-08-31
18:53
[818b03a7] part of check-in [170711ca] Parse foreign key constraints and populate internal data structures appropriately. Constraints are still not enforced. (CVS 738) (check-in: [170711ca] user: drh branch: trunk, size: 29659)
2002-08-24
18:24
[1b180e14] part of check-in [22d8726e] Change the way token memory is allocated in an effort to fix ticket #136. There is now a memory leak when using views of views. (CVS 725) (check-in: [22d8726e] user: drh branch: trunk, size: 28323)
2002-08-18
22:41
[5de87bb0] part of check-in [39bd52d3] This COLLATE keyword was not being parsed correctly inside CREATE TABLE statements - it was being included as part of the datatype. This fixes the problem. (CVS 722) (check-in: [39bd52d3] user: drh branch: trunk, size: 28087)
2002-08-11
20:10
[66e7da55] part of check-in [ce4b943b] Fix for ticket #9: Add the ability to read little-endian database files from a big-endian machine and vice versa. (CVS 704) (check-in: [ce4b943b] user: drh branch: trunk, size: 28095)
2002-07-15
18:55
[5307e1a7] part of check-in [7e918c8b] Fix for ticket #102: Honor the ORDER BY clause in subqueries. (CVS 677) (check-in: [7e918c8b] user: drh branch: trunk, size: 28072)
2002-07-08
22:03
[9267b768] part of check-in [87cd10c1] Add support for TEMPORARY views. The code is here but it is mostly untested. (CVS 668) (check-in: [87cd10c1] user: drh branch: trunk, size: 28157)
2002-07-05
21:42
[35437ac2] part of check-in [b4737a16] All the code is now in place for SQLite to distinguish between NUMERIC and TEXT datatypes. Still need to turn on the new code and test it. (CVS 659) (check-in: [b4737a16] user: drh branch: trunk, size: 28146)
2002-07-01
12:27
[dcaf2196] part of check-in [1f8a73b1] Fix for tickets #90 and #89: Make the AS keyword optional again. (CVS 654) (check-in: [1f8a73b1] user: drh branch: trunk, size: 28133)
2002-06-25
01:09
[c75ea258] part of check-in [9c1432bf] Added support for the "sqlite_temp_master" table. Increased the version number to 2.5.2. (CVS 640) (check-in: [9c1432bf] user: drh branch: trunk, size: 27892)
2002-06-17
17:07
[2285d896] part of check-in [05783a9d] Add preliminary logic for the eventual move to having separate TEXT and NUMTEXT datatypes. Also change the version number to 2.5.0 in preparation for an interim release. (CVS 625) (check-in: [05783a9d] user: drh branch: trunk, size: 27828)
2002-06-11
02:25
[42920305] part of check-in [d4a2fb10] Add RAISE() function, which allows more advanced flow-control in trigger programs (ticket #55) (CVS 614) (check-in: [d4a2fb10] user: danielk1977 branch: trunk, size: 27559)
2002-06-06
19:04
[3b4989cb] part of check-in [c0cb3a01] Additional grammar cleanup resulting from the %fallback directive. (CVS 606) (check-in: [c0cb3a01] user: drh branch: trunk, size: 26902)
18:54
[e8c65150] part of check-in [7ac5bd29] Added the %fallback directive to the lemon parser generator and used this in the parser to make the parse tables much smaller. This reduced the size of the library by 15K. (CVS 605) (check-in: [7ac5bd29] user: drh branch: trunk, size: 28045)
2002-06-02
18:19
[68c0ab3d] part of check-in [6fdcee3c] Add the ability to parse FOREIGN KEYs. Foreign keys are still ignored, but at least they now do not cause a syntax error. (CVS 603) (check-in: [6fdcee3c] user: drh branch: trunk, size: 27699)
2002-05-24
16:14
[c681da70] part of check-in [e238643e] Add support for the full SQL join syntax. This is just a parser enhancement. We now recognize all kinds of joins, but we don't actually do anything with them yet. (CVS 586) (check-in: [e238643e] user: drh branch: trunk, size: 26577)
02:04
[8053fead] part of check-in [a167b71d] Split the IdList structure into IdList and SrcList. SrcList is used to represent a FROM clause and IdList is used for everything else. This change allows SrcList to grow to support outer joins without burdening the other uses of IdList. (CVS 584) (check-in: [a167b71d] user: drh branch: trunk, size: 25261)
2002-05-23
00:30
[3f2f7334] part of check-in [275ba356] Do not allow triggers on the SQLITE_MASTER table. (CVS 579) (check-in: [275ba356] user: drh branch: trunk, size: 24767)
2002-05-21
11:38
[964a7cc9] part of check-in [37dbdd55] Additional code cleanup resulting from a review of the new trigger code. (CVS 572) (check-in: [37dbdd55] user: drh branch: trunk, size: 24733)
2002-05-15
14:17
[12d6f6c0] part of check-in [f45c4b76] Fix for ticket #41: Better handling of CREATE TRIGGER in the sqlite_complete() function. (CVS 567) (check-in: [f45c4b76] user: drh branch: trunk, size: 24600)
08:30
[16478953] part of check-in [794bf67b] Added FOR EACH ROW triggers functionality (CVS 562) (check-in: [794bf67b] user: danielk1977 branch: trunk, size: 24575)
2002-05-08
21:46
[83850a81] part of check-in [1b0ee944] Fix for ticket #35: Ignore any ORDER BY clause on a subquery in a FROM clause. (CVS 557) (check-in: [1b0ee944] user: drh branch: trunk, size: 22264)
2002-04-20
14:24
[0ce56f1c] part of check-in [51572bf7] Fix for ticket #1: Implement the GLOB and LIKE operators as functions that can be overridden. This way, a developer can change the LIKE operator to be case sensitive, for example. (CVS 537) (check-in: [51572bf7] user: drh branch: trunk, size: 22094)
2002-04-06
13:57
[9a8a2311] part of check-in [28ce42f7] Make the FROM clause on a SELECT optional. If omitted, the result of the SELECT is a single row consisting of the values in the expression list. (CVS 520) (check-in: [28ce42f7] user: drh branch: trunk, size: 21985)
2002-04-04
02:10
[d63f93b6] part of check-in [c2320eab] Fix for bug #2: Add support for TABLE.* in SELECT statements. (CVS 518) (check-in: [c2320eab] user: drh branch: trunk, size: 21907)
2002-03-30
15:26
[a0943e27] part of check-in [d2bdc0fe] Fix for bug #3: Allow VIEW as a column name. Also allow COPY. (CVS 507) (check-in: [d2bdc0fe] user: drh branch: trunk, size: 21697)
2002-03-24
13:13
[e6f300a3] part of check-in [836b59d0] Added support for CASE expressions - patches from Dan Kennedy. (CVS 437) (check-in: [836b59d0] user: drh branch: trunk, size: 21629)
2002-03-13
18:54
[9a8be2ee] part of check-in [c0e3f1c5] Fix bug in anonymous subquery in a join. Parser requires a semicolon or end-of-input before executing. (CVS 429) (check-in: [c0e3f1c5] user: drh branch: trunk, size: 20835)
2002-03-05
01:11
[f7483ccf] part of check-in [414da4af] Add the ability to turn of calls to fsync() using the "synchronous" pragma. Increased the default cache size from 100 to 2000 and made the "cache_size" pragma persistent. (CVS 418) (check-in: [414da4af] user: drh branch: trunk, size: 20826)
2002-03-03
23:06
[25b794bf] part of check-in [81307762] More bugs fixed for views. (CVS 416) (check-in: [81307762] user: drh branch: trunk, size: 20826)
2002-03-02
17:04
[d62960cd] part of check-in [d5d3e79c] Subquery flattening is implemented and passes all regression tests. We still need to add addition tests to the suite to further exercise the flattener, however. (CVS 408) (check-in: [d5d3e79c] user: drh branch: trunk, size: 20821)
2002-02-23
02:32
[fc460cda] part of check-in [39fed2df] Code to implement CREATE VIEW is in place. A quick smoke test shows that it works, but there are probably still many bugs. (CVS 387) (check-in: [39fed2df] user: drh branch: trunk, size: 20812)
2002-02-18
22:49
[b8227891] part of check-in [553579f9] Bug fix: CREATE TABLE, followed by DROP TABLE within the same transaction is working now. (CVS 378) (check-in: [553579f9] user: drh branch: trunk, size: 20582)
18:30
[722bc0b6] part of check-in [78a50971] Add support for CREATE TABLE AS. (CVS 377) (check-in: [78a50971] user: drh branch: trunk, size: 20534)
13:56
[39c336ff] part of check-in [ec1f3fae] Allow general expressions in the VALUES clause of an INSERT statement. (CVS 376) (check-in: [ec1f3fae] user: drh branch: trunk, size: 20514)
01:17
[f7a6d812] part of check-in [89ffa9ff] Add support for subqueries in the FROM clause of a SELECT. Still need to add tests for this feature. (CVS 372) (check-in: [89ffa9ff] user: drh branch: trunk, size: 21215)
2002-02-03
17:37
[734ba1e0] part of check-in [7c65029e] Put in PRAGMA SANITY_CHECK in place of VACUUM. (CVS 365) (check-in: [7c65029e] user: drh branch: trunk, size: 20947)
00:56
[f081d7d4] part of check-in [0115518f] Five-algorithm conflict resolution appears to be working. (CVS 363) (check-in: [0115518f] user: drh branch: trunk, size: 20874)
2002-02-02
15:01
[88856227] part of check-in [aaa53e11] Checkpoint code added to the pager. Regression tests work but the new APIs have not been tested yet. (CVS 361) (check-in: [aaa53e11] user: drh branch: trunk, size: 21088)
2002-01-31
15:54
[90e9fc91] part of check-in [d0e7cf4a] Change to five conflict resolution algorithms: ROLLBACK, ABORT, FAIL, IGNORE, and REPLACE. This checkin is code only. Documentation and tests are still needed. Also, ABORT is not fully implemented. (CVS 360) (check-in: [d0e7cf4a] user: drh branch: trunk, size: 20752)
2002-01-30
16:17
[e80f1cf6] part of check-in [cf1538d7] Added ON CONFLICT support to COPY. Updates to documentation. Bug fixes. (CVS 359) (check-in: [cf1538d7] user: drh branch: trunk, size: 20582)
2002-01-29
18:41
[fd79a092] part of check-in [e00a9ff8] Beginning to insert the infrastructure for ON CONFLICT clauses. (CVS 355) (check-in: [e00a9ff8] user: drh branch: trunk, size: 20554)
2002-01-06
17:07
[f3fc4fb5] part of check-in [9b0be4fc] Comment updates most. Also some small changes to the VDBE. (CVS 339) (check-in: [9b0be4fc] user: drh branch: trunk, size: 19528)
2001-12-22
14:49
[f050644e] part of check-in [29cab124] Bug fixing in the new integer primary key code. (CVS 334) (check-in: [29cab124] user: drh branch: trunk, size: 19494)
2001-12-21
14:30
[c62f32e3] part of check-in [236a54d2] Added support for the INTEGER PRIMARY KEY column type. (CVS 333) (check-in: [236a54d2] user: drh branch: trunk, size: 19494)
2001-12-16
20:05
[23ff6728] part of check-in [ffbdd43f] Added the ability to say things like "SELECT rowid, * FROM table1;" (CVS 332) (check-in: [ffbdd43f] user: drh branch: trunk, size: 19509)
2001-11-06
04:00
[5295f393] part of check-in [eb07768a] Implement indices that occur in sort order and the LIMIT...OFFSET clause of SELECT statements. (CVS 301) (check-in: [eb07768a] user: drh branch: trunk, size: 19420)
2001-10-13
02:59
[148e4cd1] part of check-in [75e90cf0] 2.0.3 (CVS 287) (check-in: [75e90cf0] user: drh branch: trunk, size: 18964)
2001-10-12
17:30
[2275a832] part of check-in [0a7848b6] Fix an assertion failure when the disk fills up. Add tests for a full disk situation. (CVS 285) (check-in: [0a7848b6] user: drh branch: trunk, size: 18964)
2001-10-08
13:22
[e88f1efe] part of check-in [9368c62e] Support for temporary tables added. Still need more testing. (CVS 279) (check-in: [9368c62e] user: drh branch: trunk, size: 18335)
2001-10-06
16:33
[fcd34526] part of check-in [b63b3f36] Adding table column query capability to support ODBC. (CVS 278) (check-in: [b63b3f36] user: drh branch: trunk, size: 18177)
2001-10-01
14:29
[5ead6fe1] part of check-in [20382325] The .dump output uses INSERT instead of COPY now. Expression syntax of the form "expr NOT NULL" is now supported. (CVS 276) (check-in: [20382325] user: drh branch: trunk, size: 16999)
2001-09-27
15:11
[7a61488c] part of check-in [116fdad0] Fixed the support of UNIQUE and PRIMARY KEY. (CVS 268) (check-in: [116fdad0] user: drh branch: trunk, size: 16783)
03:22
[a136e0a2] part of check-in [34c42967] Added basic support for enforcement of UNIQUE on indices and primary keys. Support for addition constraints is to follow. (CVS 267) (check-in: [34c42967] user: drh branch: trunk, size: 16667)
2001-09-16
00:13
[2bcf47bb] part of check-in [4e926efe] Disclaimed copyright. Preparing for release 2.0. (CVS 250) (check-in: [4e926efe] user: drh branch: trunk, size: 16595)
2001-09-14
18:54
[8b30e072] part of check-in [5e372460] Added a PRAGMA statement. Took out the special comment parsing. (CVS 245) (check-in: [5e372460] user: drh branch: trunk, size: 17150)
2001-04-11
14:28
[8fc09694] part of check-in [86b30cd0] better handling of out-of-memory errors (CVS 207) (check-in: [86b30cd0] user: drh branch: trunk, size: 16567)
2001-04-04
11:48
[1ba81d3b] part of check-in [35a8feed] Added transaction support (CVS 196) (check-in: [35a8feed] user: drh branch: trunk, size: 16481)
2001-01-04
14:20
[25ee4d8e] part of check-in [d49e10fb] :-) (CVS 171) (check-in: [d49e10fb] user: drh branch: trunk, size: 15399)
2000-08-01
09:56
[5d199034] part of check-in [bffca90f] fix parser stack overflow (CVS 119) (check-in: [bffca90f] user: drh branch: trunk, size: 15398)
2000-07-29
13:06
[754653f0] part of check-in [3bf434d9] better column labels in select results (CVS 110) (check-in: [3bf434d9] user: drh branch: trunk, size: 15398)
2000-06-21
13:59
[86e268c2] part of check-in [e1bf96a4] :-) (CVS 104) (check-in: [e1bf96a4] user: drh branch: trunk, size: 14848)
2000-06-19
19:09
[974ed077] part of check-in [8cce4d27] :-) (CVS 102) (check-in: [8cce4d27] user: drh branch: trunk, size: 14831)
2000-06-16
20:51
[766844e4] part of check-in [1d4fe559] :-) (CVS 100) (check-in: [1d4fe559] user: drh branch: trunk, size: 14820)
2000-06-09
14:14
[6a3085fd] part of check-in [d573b431] :-) (CVS 91) (check-in: [d573b431] user: drh branch: trunk, size: 14732)
2000-06-08
16:26
[03d246c2] part of check-in [33355b2d] :-) (CVS 82) (check-in: [33355b2d] user: drh branch: trunk, size: 14740)
15:10
[389687d2] part of check-in [61c381e7] :-) (CVS 81) (check-in: [61c381e7] user: drh branch: trunk, size: 14796)
13:36
[e6c61f20] part of check-in [bf98cf82] remove all memory leaks (CVS 80) (check-in: [bf98cf82] user: drh branch: trunk, size: 14882)
2000-06-07
23:51
[bb2126c8] part of check-in [2ffeb850] :-) (CVS 74) (check-in: [2ffeb850] user: drh branch: trunk, size: 14934)
14:42
[4a2e6b14] part of check-in [5d773b5d] :-) (CVS 1697) (check-in: [5d773b5d] user: drh branch: trunk, size: 14926)
2000-06-06
21:56
[8b632f4c] part of check-in [f4d9089c] :-) (CVS 62) (check-in: [f4d9089c] user: drh branch: trunk, size: 14817)
17:27
[210c888c] part of check-in [db88a0c2] GROUP BY and HAVING installed (CVS 58) (check-in: [db88a0c2] user: drh branch: trunk, size: 14390)
13:54
[51ef63a4] part of check-in [54d19818] added IN and BETWEEN operators (CVS 57) (check-in: [54d19818] user: drh branch: trunk, size: 14029)
01:50
[9c459212] part of check-in [bd8b2645] :-) (CVS 55) (check-in: [bd8b2645] user: drh branch: trunk, size: 13276)
2000-06-05
18:54
[79b40324] part of check-in [c02268bd] :-) (CVS 52) (check-in: [c02268bd] user: drh branch: trunk, size: 12888)
16:01
[020e5da7] part of check-in [ce45dea9] separate Select structure (CVS 51) (check-in: [ce45dea9] user: drh branch: trunk, size: 12796)
2000-06-03
19:19
[9ec48660] part of check-in [729d6586] :-) (CVS 47) (check-in: [729d6586] user: drh branch: trunk, size: 12366)
18:06
[64d9e480] part of check-in [27c06786] added default values (CVS 46) (check-in: [27c06786] user: drh branch: trunk, size: 12280)
2000-05-31
20:00
[16322c46] part of check-in [1f0c4ffd] added DISTINCT on select (CVS 27) (check-in: [1f0c4ffd] user: drh branch: trunk, size: 11256)
18:20
[038e0f0f] part of check-in [35a8f523] :-) (CVS 25) (check-in: [35a8f523] user: drh branch: trunk, size: 11129)
15:34
[bdfcd0a3] part of check-in [dee7a8be] added aggregate functions like count(*) (CVS 21) (check-in: [dee7a8be] user: drh branch: trunk, size: 11345)
02:27
[05de7dec] part of check-in [01d85b35] :-) (CVS 20) (check-in: [01d85b35] user: drh branch: trunk, size: 11356)
2000-05-30
16:27
[50ca06d4] part of check-in [8d66c735] :-) (CVS 15) (check-in: [8d66c735] user: drh branch: trunk, size: 11087)
2000-05-29
20:41
[265c8596] part of check-in [1517f852] :-) (CVS 6) (check-in: [1517f852] user: drh branch: trunk, size: 10851) Added