/ File History
Login

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

History of src/resolve.c

2019-12-13
12:14
Merge fixes from trunk. file: [da68e9e6] check-in: [9c471195] user: drh branch: mini-lookaside-take-2, size: 68496
11:42
Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. file: [86a7773d] check-in: [c1014e80] user: drh branch: trunk, size: 68258
00:49
Tie up the loose ends in the ExprList size reduction. file: [347c0624] check-in: [59d0f3af] user: drh branch: exprlist-size-reduction, size: 68485
2019-12-12
22:11
Work toward reducing the incremental size of an ExprList object to 24-byte per entry, from 32-bytes (on a 64-bit machine). This helps the new mini-lookaside allocator to run better by avoiding excessive reallocs. The current change mostly works, but still has a few loose ends to tie up. This check-in is merely a snapshot to save my work. file: [fc7bed8f] check-in: [fdda76cf] user: drh branch: exprlist-size-reduction, size: 68250
20:22
Change the name of the Expr.a.zName field to zEName, so that it has a name that is distinct from other fields and variables and is hence easier to grep for. file: [d7038034] check-in: [d3783357] user: drh branch: mini-lookaside-take-2, size: 68249
15:19
Factor out the conditional (which is only true for rare errors) from the notValid() function in resolve.c, for a performance improvement and size reduction. Also cause failures to set the Expr node to a NULL operator so that it does not cause problems later in case PRAGMA writable_schema=ON has been set. Test cases in TH3. file: [acc54d97] check-in: [c6af9f65] user: drh branch: trunk, size: 68247
2019-12-09
19:44
Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. file: [2a121813] check-in: [f065cf00] user: drh branch: trunk, size: 67079
18:22
The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. file: [5b36f3e5] check-in: [ed28aaa4] user: drh branch: trunk, size: 67073
17:14
Ensure that the SrcList_item.colUsed field is set correctly (set to have a 1 for all columns of the table) when a generated column appears in the USING clause of a join. file: [32b5adb2] check-in: [1923efb2] user: drh branch: trunk, size: 67273
2019-12-08
00:06
Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. file: [618bf4f5] check-in: [9d75e1cc] user: drh branch: trunk, size: 66851
2019-11-22
11:49
Fix a harmless compiler warning. file: [2f8fb48e] check-in: [34343c4b] user: drh branch: trunk, size: 66762
2019-11-21
19:37
Whenever a generated column is used, assume that all columns are used. file: [023397b5] check-in: [6601da58] user: drh branch: trunk, size: 66756
2019-10-30
18:50
Always disallow the use of non-deterministic functions in CHECK constraints, even date/time functions that use the 'now' or similar keywords. Provide improved error messages when this requirement is not met. Ticket [830277d9db6c3ba1] file: [cf2391c9] check-in: [2978b65e] user: drh branch: trunk, size: 66051
2019-10-23
15:47
Minor adjustments for clarity and test coverage. file: [9d6a3bdc] check-in: [30065716] user: drh branch: generated-columns, size: 65652
2019-10-16
12:18
Initial experimental code for generated column support. Non-functional. file: [21601466] check-in: [11d472c1] user: drh branch: generated-columns, size: 65662
2019-09-26
16:08
Test for an OOM condition in resolveAlias(). file: [e021be0c] check-in: [322eca7f] user: drh branch: trunk, size: 65380
15:53
Fix a window-functions problem that could occur if an ORDER BY clause contains an alias for a window-function that is not a top-level expression. file: [458fb2b0] check-in: [1cc6cf64] user: dan branch: trunk, size: 65291
2019-08-22
16:38
Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] file: [9891cf5f] check-in: [44578865] user: drh branch: trunk, size: 65202
2019-08-15
20:04
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. file: [b2733d39] check-in: [fc745845] user: drh branch: directonly, size: 65175
13:53
Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. file: [14ae3326] check-in: [4f5b2d93] user: dan branch: trunk, size: 64789
2019-08-08
19:40
Fix harmless compiler warnings. file: [d49679d5] check-in: [1eef4dde] user: drh branch: trunk, size: 65077
18:49
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed in the [a29f2a7d07beff64] check-in. file: [bf7cbb8e] check-in: [83450d10] user: drh branch: trunk, size: 65048
2019-08-05
19:34
The second option for [61c853857f40da49]: In this mode, columns of VIEWs and subqueries that are formed by expressions have affinity BLOB rather than affinity none, as has usually been the case for a while. But this mode fixes a couple of corner cases involving query flattening and the push-down optimization where that rule was violated. file: [38bce6ee] check-in: [470ac8d5] user: drh branch: tkt-61c853-B, size: 65425
18:01
Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other fields and variables named "affinity" and display affExpr it in sqlite3TreeViewExpr() output. file: [3ed5a3de] check-in: [a29f2a7d] user: drh branch: trunk, size: 65049
13:19
Fix a problem with renaming a table when a view or trigger within the schema uses a FILTER with an aggregate function that is not currently registered with the database. file: [1db9e08a] check-in: [2ac0e42f] user: dan branch: trunk, size: 65051
2019-08-01
10:58
Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". file: [6d57cfcb] check-in: [8168021f] user: dan branch: trunk, size: 65023
2019-07-22
19:01
Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. file: [edf29463] check-in: [e46b2afc] user: drh branch: trunk, size: 65003
16:33
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. file: [63f35311] check-in: [fd7316cd] user: dan branch: trunk, size: 65120
16:20
Remove Window objects from the corresponding Select.pWin list when they are deleted. file: [b65e59bb] check-in: [d23f3316] user: dan branch: winfunc-in-orderby, size: 65090
11:38
Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause. file: [844e5d12] check-in: [bd37ce3f] user: dan branch: trunk, size: 64856
2019-07-20
21:12
Make sure any window definitions in an ORDER BY clause are removed from the SELECT statement if the ORDER BY clause gets optimized out. file: [78066ab3] check-in: [23b11967] user: drh branch: winfunc-in-orderby, size: 65415
2019-07-19
14:32
Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered. file: [df149546] check-in: [ff290feb] user: dan branch: trunk, size: 64826
2019-07-13
17:45
Fix error handling for the case where a window function is passed the wrong number of arguments. file: [17d61645] check-in: [871796bb] user: dan branch: trunk, size: 64737
16:22
Rework the FILTER clause implementation to share more code with window functions. file: [6d96d5c1] check-in: [5dac8c38] user: dan branch: filter-clause, size: 64739
2019-07-10
20:16
Minor performance improvement in sqlite3ExprDeleteNN(). file: [138c9e9d] check-in: [bcc8b38a] user: dan branch: filter-clause, size: 64677
2019-07-08
12:44
Comment improvements. No changes to code. file: [24fab187] check-in: [b0629132] user: drh branch: tkt9b78184b-alt, size: 64446
2019-07-03
18:31
Add tests for the FILTER clause. And a bugfix. file: [3c0dc449] check-in: [28aa1702] user: dan branch: filter-clause, size: 64663
2019-07-02
11:56
Experimental implementation of FILTER clause for aggregate functions. file: [65514625] check-in: [1f1ae2d6] user: dan branch: filter-clause, size: 64662
2019-06-17
13:56
Improved interface to double-quoted string literal enabling/disabling. file: [93b7bc7c] check-in: [923cfd53] user: drh branch: new-dbconfig-options, size: 64313
2019-06-14
21:25
Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. file: [8fd2fca5] check-in: [1fad2092] user: drh branch: new-dbconfig-options, size: 64007
2019-06-12
13:49
Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1]. file: [f71303e7] check-in: [5c6146b5] user: dan branch: trunk, size: 63852
2019-06-11
21:02
The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] file: [38228d41] check-in: [614ecb0a] user: drh branch: trunk, size: 63830
2019-05-20
18:35
A minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the logic a little easier to follow. Also disallows the use of the double-quoted string hack in the query expression used for VACUUM INTO, which is not strictly required, but moves us toward the goal of disallowing the double-quoted string hack everywhere. file: [bae0a756] check-in: [3e1b55f3] user: drh branch: trunk, size: 63838
17:14
Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b]. file: [0b046cc3] check-in: [1685610e] user: dan branch: trunk, size: 63846
2019-04-29
11:27
Fix a stack overflow that could occur when renaming a table that has a trigger containing a window function invocation that itself contains a specific syntax error. file: [408632d9] check-in: [c621fc66] user: dan branch: trunk, size: 63683
2019-03-29
01:15
Recover a some of the performance lost by window function alias fix two check-ins back. file: [567888ee] check-in: [965cbcea] user: drh branch: trunk, size: 63632
2019-03-28
16:15
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. file: [f201b8f9] check-in: [1e16d3e8] user: dan branch: trunk, size: 63573
2019-03-22
13:56
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select. file: [f20cb5b9] check-in: [9aca86f9] user: dan branch: window-functions, size: 62986
2019-02-25
15:55
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. file: [dd7550ed] check-in: [a21ffcd8] user: drh branch: branch-3.27, size: 62901
2019-02-22
19:24
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6]. file: [09419ad5] check-in: [579b66ea] user: dan branch: trunk, size: 62939
2019-02-11
11:34
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds. file: [1588690e] check-in: [8824115a] user: dan branch: trunk, size: 62366
2019-01-23
19:50
Fix a problem with renaming a table within a schema that contains a composite query that uses a column alias as an ORDER BY term. file: [c8f20724] check-in: [2ca6b8f8] user: dan branch: trunk, size: 62328
16:59
Fix problems with sub-selects in WINDOW definitions. Also rename-column operations when the column being renamed appears in a WINDOW definition that is part of a VIEW or TRIGGER. file: [12fca5d0] check-in: [0387cb3a] user: dan branch: trunk, size: 62366
2019-01-16
20:48
Fix a problem with fix [b4b57413]. file: [a40867ce] check-in: [ca7b7aae] user: dan branch: trunk, size: 62072
14:58
Fix a problem with renaming a column that is used as part of an ORDER BY on a compound SELECT within a database view or trigger. file: [4bfb3927] check-in: [b4b57413] user: dan branch: trunk, size: 62069
2019-01-02
14:34
Raise an error if the argument to VACUUM INTO is an identifier. file: [5f2f987a] check-in: [6c6fb1c6] user: drh branch: trunk, size: 60969
2018-12-14
18:11
Fix harmless compiler warnings. file: [72fe8cae] check-in: [27221c69] user: drh branch: trunk, size: 60602
2018-12-10
20:01
Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. file: [abd65c51] check-in: [c96bf6cc] user: drh branch: trunk, size: 60641
2018-12-07
16:32
Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". file: [095d1d41] check-in: [0d8e1504] user: drh branch: trunk, size: 60640
2018-12-06
16:11
Issue a warning whenever a double-quoted string literal is used. file: [e0408228] check-in: [ac9ad504] user: drh branch: trunk, size: 60545
2018-12-02
01:15
Omit a line of code that has no affect on the outcome. file: [976e7879] check-in: [5d933aa6] user: drh branch: trunk, size: 59686
2018-11-26
18:09
Do not allow direct access to internal-use SQL functions such as sqlite_rename_column() and sqlite3_rename_table() except when the new SQLITE_TESTCTRL_INTERNAL_FUNCTIONS flag is set. file: [4cfc44de] check-in: [6e133054] user: drh branch: trunk, size: 59684
2018-11-20
16:02
Consolidate the two sqlite3SchemaToIndex() routines. file: [23c3d8c3] check-in: [dfab7170] user: dan branch: reuse-schema1, size: 59480
2018-11-17
19:15
Fix another name resolution problem occurring when two or more attached databases use the same Schema object. file: [d6580c08] check-in: [5328f899] user: dan branch: reuse-schema1, size: 59481
18:11
Fix further problems with the feature on this branch. file: [9364bbe6] check-in: [6d7a7e5f] user: dan branch: reuse-schema1, size: 59444
2018-09-20
20:43
Minor code simplification. file: [bc8c79e5] check-in: [22ae8a52] user: drh branch: trunk, size: 59349
19:02
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. file: [3f99bbea] check-in: [ad130bb8] user: drh branch: trunk, size: 59391
2018-09-19
20:14
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... file: [adfb08e3] check-in: [24b0f66a] user: drh branch: expr-simplify, size: 59565
18:17
A minor code simplification, saved in a branch for future reference. file: [122b208b] check-in: [5e458f4a] user: drh branch: minor-altertab-simplification, size: 59278
14:54
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. file: [1f8444d1] check-in: [147c61a6] user: drh branch: expr-simplify, size: 59569
2018-09-18
21:35
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. file: [301eadb8] check-in: [8849a463] user: drh branch: expr-simplify, size: 59394
2018-09-17
13:38
Minor modification to the fix on this branch to avoid adding extra conditional compilation macros. file: [4928a63b] check-in: [4d8be404] user: dan branch: tkt-b41031ea, size: 59288
00:15
Add assert()s to the new code in the previous check-in. file: [c32f4c94] check-in: [b12f23a5] user: drh branch: tkt-b41031ea, size: 59570
2018-09-16
23:27
First proposed fix for the ALTER TABLE problem described by ticket [b41031ea2b5372378cb3d2d] file: [c1bc3a26] check-in: [05a9d129] user: drh branch: tkt-b41031ea, size: 59406
2018-08-29
21:00
Extend RENAME TABLE to edit triggers and views. Still buggy. file: [352c6af1] check-in: [01308bae] user: dan branch: alter-table-rename-table, size: 59320
2018-08-25
03:29
Remove an unnecessary IN_RENAME_COLUMN macro from resolve.c. file: [11c177ef] check-in: [5858c0bd] user: drh branch: alter-table-rename-column, size: 59059
2018-08-24
20:10
Fix a problem with renaming a column that occurs as an "excluded.colname" construction in an UPSERT that is part of a trigger program. file: [c27c71e1] check-in: [bb2f7234] user: dan branch: alter-table-rename-column, size: 59080
16:04
Avoid incorrectly replacing tokens that refer to a column being renamed via an alias. For example, do not overwrite "xyz" when "a" is renamed in "CREATE VIEW v1 AS SELECT a AS xyz FROM tbl WHERE xyz=1" file: [04290975] check-in: [ad072a83] user: dan branch: alter-table-rename-column, size: 58896
2018-08-21
16:32
Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). file: [246af8a4] check-in: [b9ae9a0a] user: dan branch: alter-table-rename-column, size: 58788
2018-08-17
17:18
Ensure that CREATE VIEW, TRIGGER or INDEX statements can be edited by ALTER TABLE RENAME COLUMN even if they use collation-sequences or user-defined-functions that are not available. file: [c5879319] check-in: [540014ef] user: dan branch: edit-trigger-wrapper, size: 58787
2018-08-09
20:47
Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. file: [b51a48f3] check-in: [fa0fc01e] user: dan branch: alter-table-rename-column, size: 58647
2018-07-10
07:39
Fix a harmless warning about comment formatting in the previous check-in. Simplify the ORDER BY dereferencing logic so that it avoids unreachable branches. file: [79708866] check-in: [0f6ec605] user: drh branch: trunk, size: 58547
2018-07-02
17:14
Fix a segfault caused by having identical window functions in the select-list and ORDER BY clause of a SELECT statement. file: [1f965d00] check-in: [693b4350] user: dan branch: trunk, size: 58350
12:07
Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. file: [f2f5533a] check-in: [4f3c8a82] user: dan branch: trunk, size: 58074
2018-06-29
20:43
Further performance related tweaks for sqlite3RunParser(). file: [d8359c59] check-in: [5eb47765] user: dan branch: weak-fallback, size: 57852
2018-06-23
19:29
Fix problems with using window-functions in correlated sub-queries. file: [43b97be1] check-in: [3e23cfc8] user: dan branch: exp-window-functions, size: 57770
2018-06-22
20:51
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. file: [0934ce54] check-in: [5f04b016] user: dan branch: exp-window-functions, size: 57400
2018-06-11
20:50
Clarify the relationship between a Window object and its associated Expr. file: [a8cf3d61] check-in: [0cd55e98] user: dan branch: exp-window-functions, size: 57208
18:16
Fix handling of window frames containing negative number of rows. e.g. "ROWS x PRECEDING AND y PRECEDING" where (x<y). file: [03791a76] check-in: [b6d9c7ed] user: dan branch: exp-window-functions, size: 57321
2018-06-08
20:58
Add support for the WINDOW clause. file: [da9b85ec] check-in: [19c983b5] user: dan branch: exp-window-functions, size: 56924
2018-06-06
00:36
Attempt to optimize the resolveExprStep() routine by mapping Expr opcodes into a subset of opcodes that resolveExprStep() cares about and only calling the routine when those opcodes are encountered. Is slightly faster, but it seems like the very slight performance bump is not worth the added complexity. Saved on a dead-end branch for historical reference. file: [cddefde3] check-in: [bad4d7a0] user: drh branch: dead-end, size: 56510
2018-06-04
08:28
Merge latest trunk changes into this branch. file: [172f4c51] check-in: [83d6416a] user: dan branch: exp-window-functions, size: 56881
2018-06-02
21:04
Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). file: [6b62d342] check-in: [91c1cb7a] user: dan branch: exp-window-functions, size: 56760
11:31
Ensure that sqlite3AuthRead() is only call for TK_COLUMN and TK_TRIGGER expression nodes. This fixes a harmless assert() identified by OSSFuzz. Move the assert() into a position where it is tested even if the authorizer is disabled. file: [14602f46] check-in: [d0c3beef] user: drh branch: trunk, size: 56133
2018-05-17
19:24
Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. file: [446f60b2] check-in: [c9f0f140] user: dan branch: exp-window-functions, size: 56702
2018-05-16
20:58
Start of experimental implementation of SQL window functions. Does not yet work. file: [8feaf203] check-in: [3781e520] user: dan branch: exp-window-functions, size: 56569
2018-04-18
01:34
Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. file: [6415381a] check-in: [266a99f7] user: drh branch: upsert, size: 56012
2018-04-16
13:26
Remove the MySQL upsert syntax. As an optional alias to the insert table name in order to finish out PostgreSQL upsert syntax emulation. file: [f0efb32b] check-in: [810d9f63] user: drh branch: upsert, size: 55976
13:00
Add support for the "excluded.*" names in the UPDATE clause of an upsert. file: [16715d4f] check-in: [0203f34f] user: drh branch: upsert, size: 55948
10:47
Merge changes from trunk. file: [515ffc66] check-in: [54d96772] user: drh branch: upsert, size: 55151
10:34
Reduce the size of the NameContext object by grouping seldom-used fields into a union. file: [b3ace63b] check-in: [dba3095f] user: drh branch: trunk, size: 55150
2018-04-12
20:21
Fix another typo in a comment. file: [a72a7a06] check-in: [046bb6d2] user: drh branch: upsert, size: 54992
2018-02-26
21:26
Code simplifications. New test cases. file: [66c73fcb] check-in: [57508518] user: drh branch: is-true-operator, size: 54991
20:15
Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. file: [6f8a4506] check-in: [8002f87d] user: drh branch: is-true-operator, size: 55051
18:49
Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. file: [7e6a9702] check-in: [cf2abd59] user: drh branch: is-true-operator, size: 55144
03:20
Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and FALSE to act like constants if the names do not resolve to a column name. file: [e3555b15] check-in: [40314bc9] user: drh branch: is-true-operator, size: 55157
2017-11-14
23:48
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. file: [bbee7e31] check-in: [3925facd] user: drh branch: trunk, size: 54351
18:26
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]. file: [49f8e370] check-in: [b2679d3b] user: dan branch: branch-3.8.9, size: 52899
2017-11-10
20:13
Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. file: [5b1e89ba] check-in: [72be33f9] user: dan branch: update-delete-limit-fix, size: 54404
2017-11-09
04:13
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. file: [741f5dcd] check-in: [30aa941f] user: drh branch: branch-3.8.9, size: 53038
03:55
Disallow ORDER BY and LIMIT on UPDATE and DELETE of views and WITHOUT ROWID tables. This is a temporary fix for ticket [d4beea1633f1b88f] until a better solution can be found. file: [704978e5] check-in: [62fe56b5] user: drh branch: trunk, size: 54543
2017-10-21
13:29
Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always defined. file: [5a461643] check-in: [6ec82acd] user: drh branch: trunk, size: 54339
2017-07-12
17:08
The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. file: [4324a945] check-in: [54f55d3b] user: drh branch: trunk, size: 54397
2017-07-07
12:43
More aggressive use of EP_Leaf on expression nodes, to help prune searches. file: [6aa1fb12] check-in: [c1a1d68c] user: drh branch: trunk, size: 54535
2017-06-24
18:10
Consider the values bound to SQL variables when determining whether or not a partial index may be used. file: [d1e69759] check-in: [7b59c353] user: dan branch: partial-index-variables, size: 54500
2017-05-31
00:49
Size and performance optimizations to sqlite3ResolveExprNames(). file: [adf3ef98] check-in: [af8c0fed] user: drh branch: trunk, size: 54494
2017-05-29
14:26
Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. file: [ffb69e20] check-in: [6854a34e] user: drh branch: trunk, size: 54625
2017-03-07
03:40
More size and speed improvements in the expression name resolver. file: [3e518b96] check-in: [e0a3d39f] user: drh branch: trunk, size: 54663
03:25
Small size reduction and performance increase in the name resolver routine for expressions. file: [3fd6fdb3] check-in: [1a3554e1] user: drh branch: trunk, size: 54649
2017-01-19
21:20
If compiled with SQLITE_INLINE_MEMCPY, all memcpy() calls are replaced with in-line code. With that change, cachegrind shows which memcpy() calls are taking the most time. This is a performance-measurement hack only and is not for production use. file: [f9bc0de4] check-in: [9ed38521] user: drh branch: trunk, size: 54417
2016-11-11
15:49
Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. file: [bb070cf5] check-in: [fba5fddb] user: dan branch: trunk, size: 54457
2016-10-05
20:10
Fix harmless compiler warnings. file: [3fac1b27] check-in: [2dde3375] user: drh branch: trunk, size: 54007
2016-10-03
18:13
Allow deterministic functions in the WHERE clause of a partial index. file: [e918c643] check-in: [c6e9b942] user: drh branch: trunk, size: 54063
2016-09-16
11:53
Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. file: [3c3cf0dc] check-in: [a3e3b3e1] user: drh branch: trunk, size: 54112
2016-09-05
12:02
Catch vector size mismatch problems during name resolution to avoid later problems. file: [24f40fd0] check-in: [56562a03] user: drh branch: early-vector-size-check, size: 54144
2016-08-18
14:33
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to distinguish it from all of the other "zName" variables scattered throughout the code. file: [d67b9a5c] check-in: [92a22f01] user: drh branch: zDbSName, size: 53355
2016-08-04
01:47
Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. file: [0392c668] check-in: [4ada023c] user: drh branch: unknown-function, size: 53349
2016-07-27
19:33
Fix some problems with multi-column IN(SELECT...) processing. file: [d5516a38] check-in: [719a3b20] user: dan branch: rowvalue, size: 53468
2016-07-26
18:06
Fix where.c handling of "IN (SELECT ...)" expressions when the SELECT returns more than one result column. Also error handling for other row value constructor cases. file: [5c4d301a] check-in: [061b8006] user: dan branch: rowvalue, size: 54311
2016-07-09
20:23
Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. file: [9680caad] check-in: [b2204215] user: dan branch: rowvalue, size: 54306
2016-05-04
14:45
Only disable the one-pass DELETE optimization if the WHERE clause contains a correlated subquery. Uncorrelated subqueries are allowed. This is a refinement of check-in [3f221f592a9a1] that is the fix for ticket [dc6ebeda9396087]. file: [cca3aa77] check-in: [aae38969] user: drh branch: trunk, size: 53256
2016-04-14
19:29
Work toward improving analysis and code generation for DISTINCT and aggregate queries. file: [d3eaf8c2] check-in: [129083bd] user: drh branch: better-distinct-agg, size: 53344
2016-02-15
00:34
Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. file: [b8f7174e] check-in: [3201fbcc] user: drh branch: many-app-functions, size: 53216
2016-01-20
02:21
Remove an unnecessary memset() from the symbol name resolver. file: [9f7ce3a3] check-in: [da527dda] user: drh branch: trunk, size: 53226
2016-01-14
22:19
Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. file: [08dbe029] check-in: [0d1b3d7d] user: drh branch: trunk, size: 53192
2015-12-03
22:33
Fix typos in requirements text and update requirements marks. No changes to code. file: [a83b4110] check-in: [8534a46c] user: drh branch: trunk, size: 53188
2015-11-21
13:24
Do not allow table-valued function syntax on ordinary tables and views as those objects are not table-valued functions. Fix for ticket [73eba7ba5c7c0fc]. Problem found by libFuzzer. file: [f4c897ca] check-in: [ff5716b8] user: drh branch: trunk, size: 53252
2015-09-19
03:07
Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the same behavior exhibited by all prior releases.) file: [1954a0f0] check-in: [b1278301] user: drh branch: trunk, size: 53249
2015-09-05
22:36
Omit all use of Expr nodes for TK_AS, as those nodes no longer served a useful purpose and in fact interferred with the query planner. file: [3126f769] check-in: [7ab0b258] user: drh branch: trunk, size: 53191
2015-09-01
13:17
Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. file: [47c00ca0] check-in: [ff5137a6] user: drh branch: index-expr, size: 54583
2015-08-31
21:16
Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. file: [203146a9] check-in: [48713130] user: drh branch: index-expr, size: 54520
17:34
Make the distinction between truly deterministic functions and date/time functions which only return the same answer for a single query. Only truly deterministic functions are allowed in indexes. Add new expression index test cases. file: [3ec6456a] check-in: [c77554b5] user: drh branch: index-expr, size: 54632
2015-08-26
18:04
Merge enhancements from trunk. file: [e6dc5a54] check-in: [ec6ddb3d] user: drh branch: index-expr, size: 54243
14:01
Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. file: [f2ef2567] check-in: [c2f3bbad] user: drh branch: trunk, size: 54044
2015-08-25
16:57
Add code to maintain indexes with expression arguments across DELETE, INSERT, and UPDATE statements. Legacy tests pass, but the new code paths are still largely untested. The query planner currently makes no effort to use expression indexes. file: [c4691acf] check-in: [efaabdb7] user: drh branch: index-expr, size: 54241
00:27
Changes toward being able to process indexes on expressions. Not there yet - this check-in is just movement in that direction. Some tests are failing. file: [ad9404cf] check-in: [0ad0f8d7] user: drh branch: index-expr, size: 54237
2015-08-24
20:54
Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. file: [66b27400] check-in: [bdaf6646] user: drh branch: trunk, size: 54042
2015-08-20
23:28
Fix a couple C99-isms that cause compile errors on MSVC. file: [7a67cd2a] check-in: [bc577fe6] user: drh branch: trunk, size: 54185
23:21
Fix corner-case memory management issues in table-valued functions. Change virtual table handling so that if xDestroy is missing the table is eponymous only even if xCreate is present. file: [02e2c9ed] check-in: [774e6a14] user: drh branch: trunk, size: 54185
20:13
Correctly handle empty function argument lists on table-valued functions. file: [1103be49] check-in: [a7acc787] user: drh branch: trunk, size: 54190
2015-08-19
17:11
A list of arguments following a table name translates into equality constraints against hidden columns in that table. file: [bbb4874d] check-in: [40e12cfe] user: drh branch: table-valued-functions, size: 54163
15:20
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. file: [cd1c44c8] check-in: [b9193761] user: drh branch: table-valued-functions, size: 53549
2015-06-23
12:19
Test that the left and right sides of a compound SELECT operator have the same number of expressions in the expanded expression list before beginning to generate code. file: [2d475543] check-in: [4df852ce] user: dan branch: trunk, size: 53531
2015-05-27
13:06
CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. file: [84c57179] check-in: [0055df04] user: drh branch: no-rowid-in-cte, size: 53253
2015-05-07
00:09
Remove a faulty assert() statement. file: [99eabf7e] check-in: [5f2539da] user: drh branch: trunk, size: 53245
2015-04-23
13:37
Fix a faulty assert() in the "AS" alias resolution logic of the parser. file: [13109bc3] check-in: [b5e43602] user: drh branch: trunk, size: 53305
2015-04-17
19:41
In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. file: [53486a98] check-in: [b67bb16c] user: drh branch: trunk, size: 53287
18:52
Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. file: [1ab0bd18] check-in: [6c39ef73] user: drh branch: trunk, size: 53311
2015-04-15
06:45
Fix a faulty assert() statement in the name resolver associated with the optimization that converts compound selects with ORDER BY COLLATE into subqueries. file: [66cfe49a] check-in: [c72324ef] user: drh branch: trunk, size: 52942
05:57
Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. file: [03fe2a86] check-in: [9e1f837b] user: drh branch: trunk, size: 52959
04:51
When doing the (dubious) conversion of double-quoted identifier into string literal for MySQL compatibility, be sure to also clear the iTable value from the Expr entry to avoid an assert. file: [7bd67ded] check-in: [d7211b68] user: drh branch: trunk, size: 52858
2015-04-04
16:43
Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. file: [41aa91af] check-in: [427b50fb] user: dan branch: compound-order-by-fix, size: 52834
2015-02-09
14:07
Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". file: [f4d79e31] check-in: [4ef7cece] user: drh branch: trunk, size: 51645
10:20
Fix over-length source code lines in resolver.c. No logic changes. file: [4ebd1064] check-in: [c12edb85] user: drh branch: trunk, size: 51644
2014-12-04
16:29
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. file: [64e9f612] check-in: [5a80957b] user: drh branch: branch-3.8.7, size: 51567
16:27
If a table is the right operand of a LEFT JOIN, then any column of that table can be NULL even if that column has a NOT NULL constraint. Fix for ticket [6f2222d550f5b0ee7ed]. file: [f6c46d34] check-in: [6f6fcbe4] user: drh branch: trunk, size: 51583
2014-10-25
13:42
Increase the resolution of the second parameter to the likelihood() SQL function (the probability value) so that it can handle probabilities as small as 0.00000001. Formerly, it ran out of precision at 0.001. file: [4965007d] check-in: [0f08924f] user: drh branch: trunk, size: 51389
2014-10-24
19:28
Enhance the automatic index logic so that it creates a partial index when doing so gives the same answer for less work. UPDATE: This change introduced a bug described by ticket [2326c258d02ead33]. file: [57d5ad93] check-in: [d95d0313] user: drh branch: trunk, size: 51373
2014-09-15
14:46
Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. file: [a3466128] check-in: [0bdf1a08] user: drh branch: trunk, size: 51373
2014-09-06
16:39
Fix typos in comments. No code changes. file: [0d1621e4] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 51113
2014-08-11
15:54
Updates to evidence marks and requirements. No changes to code. file: [0ea356d3] check-in: [62d38308] user: drh branch: trunk, size: 51113
2014-08-08
18:26
Update requirements marks. No changes to code. file: [44e2e434] check-in: [7556bd9a] user: drh branch: trunk, size: 50874
2014-06-17
16:11
Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). file: [5fc110ba] check-in: [38965484] user: drh branch: trunk, size: 50874
2014-06-10
20:18
Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy applications that were exploiting the older buggy behavior in SQLite continue to work. file: [f0c6db38] check-in: [401a0ca3] user: drh branch: group-by-name-resolution, size: 51701
2014-05-06
15:28
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. file: [06b70638] check-in: [8ad0a123] user: drh branch: smaller-expr, size: 50958
2014-03-04
11:29
Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. file: [273d5f47] check-in: [5bcd0b1c] user: mistachkin branch: trunk, size: 50822
2014-02-12
14:43
Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. file: [ca8b99d8] check-in: [5d01426d] user: drh branch: trunk, size: 50791
2014-01-21
01:13
Fix a couple comment typos and one overly long line. No functional changes. file: [3e22bf60] check-in: [c57deced] user: mistachkin branch: level-pseudocolumn, size: 51565
00:19
Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. file: [f35795a7] check-in: [cc1cb321] user: drh branch: level-pseudocolumn, size: 51540
2014-01-15
19:42
Fixes so that SQLITE_OMIT_CTE builds work. file: [ae278d8c] check-in: [3908e2ea] user: dan branch: common-table-expr, size: 51104
18:12
When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. file: [41d0cf64] check-in: [61be2da0] user: dan branch: common-table-expr, size: 51073
2013-11-26
23:27
Make sure the update hook is not invoked for WITHOUT ROWID tables, as the documentation specifies. This bug was found while adding requirements marks, so a few extraneous requirements marks are included in this check-in. file: [7eda9097] check-in: [0978bac6] user: drh branch: trunk, size: 50804
2013-11-21
14:44
Remove the obsolete TK_CONST_FUNC token type. file: [a70e32ae] check-in: [9b4217f0] user: drh branch: trunk, size: 50766
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). file: [1568ba36] check-in: [1b0f779e] user: drh branch: trunk, size: 50834
2013-11-15
18:15
Changes to make the new constant expression factoring logic more general and more testable. file: [6fcceeb6] check-in: [d10fb49a] user: drh branch: expr-codegen-enhancement, size: 50745
2013-11-08
17:13
Fix harmless compiler warnings. file: [fc4673cc] check-in: [0077c077] user: drh branch: trunk, size: 50697
2013-10-23
17:39
Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. file: [e729889b] check-in: [36bcc9cb] user: drh branch: omit-rowid, size: 50716
2013-10-16
23:58
Fix a typo in a requirements mark comment. No changes to code. file: [572585a9] check-in: [e5a439cf] user: drh branch: trunk, size: 50532
2013-10-11
16:35
Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. file: [5f15b006] check-in: [5f01cd36] user: drh branch: trunk, size: 50532
2013-09-12
23:42
Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. file: [7459801d] check-in: [695aee46] user: drh branch: unlikely-func, size: 50285
17:29
Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. file: [062de789] check-in: [4c84d1b4] user: drh branch: unlikely-func, size: 50272
16:50
Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. file: [d336be12] check-in: [579a5125] user: drh branch: expr-tuning, size: 49246
2013-09-11
14:34
Additional unlikely() test cases. Logic tweaks to support test coverage. file: [0e5b31ef] check-in: [5d00cce7] user: drh branch: unlikely-func, size: 50237
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. file: [fde5b5c5] check-in: [29a359b8] user: drh branch: unlikely-func, size: 50226
03:53
Tweaks to the index selection logic. file: [140c25a1] check-in: [52d52688] user: drh branch: unlikely-func, size: 50214
2013-09-07
00:29
Continuing refinements of the logic to take WHERE clause terms not used for indexing into account when computing the number of output rows from each table. file: [594725ba] check-in: [b65dc534] user: drh branch: unlikely-func, size: 50213
2013-09-06
17:45
Enhance the plan solver to take into account the number of output rows when computing the set of paths to retain for the next cycle. file: [8a2b6b9a] check-in: [1a46a724] user: drh branch: unlikely-func, size: 50158
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. file: [748618c3] check-in: [036fc37a] user: drh branch: unlikely-func, size: 50159
2013-08-15
22:40
Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. file: [9d53899c] check-in: [f2d175f9] user: drh branch: trunk, size: 49259
20:24
Bare identifiers in ORDER BY clauses bind more tightly to output column name, but identifiers in expressions bind more tightly to input column names. This is a compromise between SQL92 and SQL99 behavior and is what PostgreSQL and MS-SQL do. Ticket [f617ea3125e9c]. file: [2a760f36] check-in: [c78b357c] user: drh branch: trunk, size: 49210
14:27
Clarification and typo fixes in comments related to name resolution. No changes to code. file: [94a08f37] check-in: [f30abdf9] user: drh branch: trunk, size: 48806
2013-08-02
14:18
Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. file: [17e67099] check-in: [2e8c845e] user: drh branch: partial-indices, size: 48801
2013-08-01
13:04
Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. file: [8b3c7a43] check-in: [8e07aa2a] user: drh branch: partial-indices, size: 48377
2013-07-31
19:05
Resolve names in CREATE INDEX WHERE clauses and detect errors. Disallow expressions that contain variables, subqueries, or functions. The expression is still not used for anything, however. still unused. file: [ada80e8d] check-in: [f2aa7842] user: drh branch: partial-indices, size: 48369
2013-05-16
01:02
Treat identifiers in the HAVING clause the same as in the WHERE clause. Only consider AS names from the result set to match if there are no other matches. Continuation of the fix for [2500cdb9be05]. This check-in fixes a bug found by SqlLogicTest during release testing for version 3.7.17. file: [89f9003e] check-in: [9ffff3d0] user: drh branch: trunk, size: 46155
2013-04-25
00:57
Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. file: [83cc2d94] check-in: [39b4e6ff] user: drh branch: trunk, size: 46155
2013-04-13
19:59
Only consider AS names from the result set as candidates for resolving identifiers in the WHERE clause if there are no other matches. In the ORDER BY clause, AS names take priority over any column names. Candidate fix for ticket [2500cdb9be]. file: [10a1b332] check-in: [ad53924d] user: drh branch: tkt-2500cdb9be, size: 46099
2013-02-26
12:57
When comparing names during name resolution, make sure the names match exactly and that one name isn't merely a prefix of the other. Fix for ticket [7a31705a7e6c95d51]. file: [9079da7d] check-in: [c2d5a23b] user: drh branch: trunk, size: 45949
2013-02-07
09:33
Fix harmless compiler warnings. file: [652ae6dc] check-in: [4a7b4ee0] user: drh branch: trunk, size: 45918
2013-01-08
12:48
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. file: [0bca3bf6] check-in: [cda79028] user: drh branch: trunk, size: 45928
2013-01-07
13:26
Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. This version causes a run-time error when processing STAT3 tables. file: [e41ccbe4] check-in: [0a1207c8] user: dan branch: mistake, size: 45910
2013-01-03
17:34
Further corner-case fixes to the name resolution logic. file: [521bdc0f] check-in: [20730bad] user: drh branch: name-resolution-fix, size: 45900
16:54
Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. file: [2b3ae4d8] check-in: [afe96a11] user: drh branch: name-resolution-fix, size: 45877
00:45
Now supports result sets of the form "TABLE.*" with nested FROM clauses. file: [e00f17ac] check-in: [4cf5ed7e] user: drh branch: name-resolution-fix, size: 45877
2012-12-19
02:36
Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. file: [3104a5e4] check-in: [7344e791] user: drh branch: name-resolution-fix, size: 45143
2012-12-18
16:07
Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. file: [52331299] check-in: [9b67c633] user: drh branch: trunk, size: 44466
2012-12-07
23:23
Improved error messages when column integers in an ORDER BY clause are out of range. file: [cdd546d6] check-in: [bd960d93] user: drh branch: ticket-71e333e7, size: 44466
22:18
Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. file: [5ed60691] check-in: [0aaf52a3] user: drh branch: ticket-71e333e7, size: 44464
21:02
Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. file: [34168dc9] check-in: [49654453] user: drh branch: ticket-71e333e7, size: 44738
18:38
Some errors in veryquick resolved. Many more to go. file: [fd2206ae] check-in: [972443b4] user: drh branch: ticket-71e333e7, size: 44137
14:02
Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. file: [c05083cb] check-in: [7fafab12] user: drh branch: ticket-71e333e7, size: 43705
2012-12-06
21:16
Remove the Expr.pColl field and compute the collating sequence as it is needed. This fixes the test script "shared9.test", though there is still a memory leak. And there are other problems. Consider this a work-in-progress. file: [6faf0f33] check-in: [fd011cb2] user: drh branch: ticket-71e333e7, size: 43661
2012-10-09
18:51
Attempt to suppress warnings generated by Coverity. file: [7b986a71] check-in: [7b1a6e6c] user: drh branch: trunk, size: 43887
2012-08-23
19:46
Add test cases and fix bugs associated with the previous check-in enhancements to nested aggregate subquery processing. file: [9e28280e] check-in: [00b1dc71] user: drh branch: nested-agg, size: 43887
16:18
Further improvements to the processing of nested aggregate queries. file: [e60d1f7c] check-in: [3c3ffa90] user: drh branch: nested-agg, size: 42583
2012-05-21
19:11
Convert the NameContext object from using u8 booleans to using individual bits in a single u8 as its booleans. This change might become a basis for a fix for [c2ad16f997ee9c]. file: [b3c70ab2] check-in: [72226096] user: drh branch: nested-agg, size: 42384
2012-04-27
01:09
Enhance the processing of ORDER BY clauses on compound queries to better match terms of the order by against expressions in the result set, in order to enable better query optimization. file: [748e7529] check-in: [a49e909c] user: drh branch: trunk, size: 42179
2012-04-07
00:09
Fix the application-defined function logic so that functions with a variable number of parameters can be replaced or deleted correctly. Also refactor some of the function-finder code for clarity of presentation. file: [969ec2bc] check-in: [09d5581c] user: drh branch: trunk, size: 42017
2011-12-10
23:18
Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. file: [3d3e80a9] check-in: [5061d85f] user: drh branch: trunk, size: 42017
2011-10-18
18:10
Improved handling of USING and NATURAL JOIN in 3-way and higher joins. Ticket [3338b3fa19ac4ab] file: [365ab1c8] check-in: [551ce407] user: drh branch: trunk, size: 41968
2011-07-08
16:10
Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. file: [36368f44] check-in: [9f14fa56] user: dan branch: trunk, size: 42089
2010-06-28
10:15
Currently, if SQLite cannot find a table or index referred to by a query, it reloads the database schema from disk to see if the table or index has been added since the schema was cached in memory. Extend this behaviour to columns (which may have been added using ALTER TABLE) and fix some obscure cases related to tables and indexes (INDEXED BY, DROP TABLE etc.). file: [1c0f32b6] check-in: [4932f228] user: dan branch: trunk, size: 41358
2010-04-08
17:35
Fix a typo in a comment. No changes to code. file: [ac5f1a71] check-in: [332cb551] user: drh branch: trunk, size: 41329
15:01
New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. file: [f17f6615] check-in: [e1aa48ac] user: drh branch: trunk, size: 41340
2010-02-25
02:32
Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. file: [8e51ac01] check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 41278
2010-02-22
19:32
Log all error messages if logging is enabled. file: [a1648d98] check-in: [a8076aed] user: drh branch: trunk, size: 41280
2010-01-07
15:17
Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] file: [56ecd508] check-in: [44bb1bfe] user: drh branch: trunk, size: 41036
2010-01-01
18:57
Add evidence marks associated with autoincrement. file: [69a45df2] check-in: [0e918c54] user: drh branch: trunk, size: 41034
2009-12-29
23:39
Within the special new.* and old.* tables of a trigger, recognize all the original table names even if those names overload the "rowid", "oid", or "_rowid_" special names. Ticket [34d2ae1c6d0]. file: [e8e08660] check-in: [1a0e5fa9] user: drh branch: trunk, size: 40973
2009-11-27
12:12
Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. file: [d052e5c4] check-in: [1b7c5250] user: dan branch: trunk, size: 40986
2009-11-23
14:39
Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. file: [c52d9e52] check-in: [a4380ab3] user: dan branch: trunk, size: 40826
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [aa3cb21e] check-in: [f6c045f6] user: drh branch: trunk, size: 40569
2009-11-04
13:17
Create a new datatype "ynVar" to hold "nVar" (number of variable) values. This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER is large enough. file: [f263d685] check-in: [24a4d520] user: drh branch: trunk, size: 40627
2009-11-03
19:42
Fix compiler warnings on MSVC build. file: [1166b41d] check-in: [01c4b5b8] user: shane branch: trunk, size: 40701
2009-10-19
15:52
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64]. file: [3ac31c71] check-in: [6fe63711] user: dan branch: trunk, size: 40620
2009-09-07
04:38
Warning cleanup from the MSVC compile. file: [94184330] check-in: [26cd015c] user: shane branch: trunk, size: 40020
2009-09-01
12:16
More fixes and comment updates. file: [e78029b0] check-in: [38a9327b] user: dan branch: trunk, size: 40015
2009-08-31
15:27
More fixes for test cases. file: [522d6804] check-in: [85d9f23b] user: dan branch: trunk, size: 39945
08:22
Fix some authorization callback problems. file: [5909b3e2] check-in: [8a746fbf] user: dan branch: trunk, size: 40094
2009-08-28
18:53
Changes to support recursive triggers. file: [92ef8a85] check-in: [9b9c1921] user: dan branch: trunk, size: 39907
2009-06-15
23:15
Additional updates to the symbol resolver and expression tree walker to facilitate test coverage. (CVS 6764) file: [4a61d03e] check-in: [a49c2d4b] user: drh branch: trunk, size: 39934
18:32
Updates to resolve.c to facilitate full coverage testing. (CVS 6762) file: [34c5b59d] check-in: [c50f0f28] user: drh branch: trunk, size: 39930
2009-06-01
16:53
Fix compiler warnings with MSVC build. (CVS 6699) file: [f86d3490] check-in: [07915885] user: shane branch: trunk, size: 39997
2009-05-29
14:39
Refinements in expression handling logic that have resulted from recent structural testing. (CVS 6690) file: [42065c05] check-in: [bd89f2c2] user: drh branch: trunk, size: 39956
2009-05-28
14:34
Fix a NULL pointer dereference following an OOM error in the column name resolver. (CVS 6685) file: [fc6fdd01] check-in: [3b461425] user: drh branch: trunk, size: 39936
12:49
Make sure the column name resolver does not try to duplicate Expr.u.zToken when the Expr.u.iValue union member is the element being used. (CVS 6684) file: [3e2df0a2] check-in: [376ecf0d] user: drh branch: trunk, size: 39910
01:00
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) file: [64e7ac82] check-in: [4ac2bdfb] user: drh branch: trunk, size: 39796
2009-05-27
10:31
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) file: [0c9faa46] check-in: [7cb1c3ba] user: drh branch: trunk, size: 39670
2009-05-05
15:46
Make sure the left-shift operator never overflows. (CVS 6605) file: [2ce8f8bc] check-in: [300da301] user: drh branch: trunk, size: 40194
2009-05-01
21:13
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) file: [d01b53d8] check-in: [12bcb03d] user: drh branch: trunk, size: 40110
2009-03-05
04:23
Added some asserts and a check for a null pointer dereference. (CVS 6337) file: [094e4445] check-in: [6b0cabd0] user: shane branch: trunk, size: 40100
2009-03-02
01:22
Fix a bug in the GROUP BY alias name resolution. The bug was by check-in (6305). Discovered by regression test on 64-bit linux. Test cases added so that the problems is detected on 32-bit systems. (CVS 6332) file: [ac4f914b] check-in: [fa000850] user: drh branch: trunk, size: 40042
2009-02-24
10:14
Reverse commit (6315) for now. (CVS 6317) file: [dea00513] check-in: [0e7c369c] user: danielk1977 branch: trunk, size: 39997
2009-02-23
17:33
Scan an index instead of a table for "SELECT count(*) FROM <tbl>" queries. Because an index is usually smaller than a table on disk, this saves some IO. (CVS 6315) file: [60a5f405] check-in: [294ba6f7] user: danielk1977 branch: trunk, size: 40062
2009-02-19
14:39
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) file: [b3aa625e] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 39997
2008-12-10
19:26
Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) file: [18dc9f0d] check-in: [c872d554] user: drh branch: trunk, size: 39896
18:03
More explicit type casting to silence VC++. (CVS 6006) file: [83d668f2] check-in: [14e6d19c] user: drh branch: trunk, size: 39874
2008-12-09
14:03
Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) file: [6dd09880] check-in: [0d7e150e] user: drh branch: trunk, size: 39870
13:04
A subquery in the result set of a SELECT should be able to look into outer queries to find variable references. But a subquery in the FROM clause should not be able to do this. Ticket #3530. (CVS 5998) file: [6c32f21b] check-in: [be03fa05] user: drh branch: trunk, size: 39879
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) file: [4af5391d] check-in: [8009220c] user: danielk1977 branch: trunk, size: 39874
2008-10-19
21:03
When a name in double quotes falls back to being a string literal, make sure it has no affinity. Ticket #3442. (CVS 5832) file: [266bb03d] check-in: [81cfee5c] user: drh branch: trunk, size: 39908
2008-10-11
16:47
Fix a memory leak on ORDER BY of a compound select caused by the resolver on a flattened query. Also fix a OOM segfault in WHERE clause processing. (CVS 5801) file: [86a6f7e4] check-in: [d2c252d6] user: drh branch: trunk, size: 39886
2008-10-10
04:34
Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) file: [d45e7b69] check-in: [c10e8a3c] user: shane branch: trunk, size: 39989
2008-10-06
15:18
Fix a typo in check-in (5769) (CVS 5770) file: [1971ff69] check-in: [24891902] user: drh branch: trunk, size: 39901
13:54
Expression nodes of type TK_ROW mean the rowid of the first table in the source list. (CVS 5769) file: [9aeb0719] check-in: [2f7db6c9] user: drh branch: trunk, size: 39898
2008-08-29
02:14
Avoid reevaluating WHERE and ORDER BY expressions that alias terms in the result set. Ticket #3343. Note that aliased GROUP BY expressions are still evaluated twice. (CVS 5637) file: [a6abf831] check-in: [ab0292ca] user: drh branch: trunk, size: 39247
2008-08-25
17:23
Fix bug in the premutation testing that was causing many permutations from begin skipped. There are now 16 errors reported by the permutation test. (CVS 5610) file: [74725e61] check-in: [4ad096bd] user: drh branch: trunk, size: 37461
12:14
Additional coverage testing in the new name resolver module. (CVS 5608) file: [f279cfe0] check-in: [0d61960a] user: drh branch: trunk, size: 37510
2008-08-22
17:34
Remove dead code. (CVS 5601) file: [3c9c0409] check-in: [6de9c084] user: drh branch: trunk, size: 37530
2008-08-20
16:35
Refactor the name resolution procedures in the code generator. (CVS 5569) file: [e688f240] check-in: [daf730d1] user: drh branch: trunk, size: 37910 Added