/ All files named "src/resolve.c"
Login

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

History for src/resolve.c

2020-11-08
20:44
[1948a92c] part of check-in [76d2eb86] Use NEVER and ALWAYS macros to confirm that the return value from sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases. (check-in: [76d2eb86] user: drh branch: trunk, size: 70772)
2020-08-24
10:52
[97b91fb2] part of check-in [493a2594] Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472]. (check-in: [493a2594] user: dan branch: trunk, size: 70703)
2020-08-10
14:18
[d74715ac] part of check-in [9d670a31] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a31] user: drh branch: trunk, size: 70673)
2020-07-29
16:18
[974acbf9] 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: 70649)
2020-07-15
18:30
[2dd6821a] part of check-in [13224cbd] Fix problems that could occur if a table with the same name as the table being updated appeared in the FROM clause of an UPDATE statement. (check-in: [13224cbd] user: dan branch: update-from, size: 70650)
2020-07-13
20:10
[04f4710d] part of check-in [47c87af3] Add test cases and fixes for UPDATE...FROM statements that modify primary key columns. (check-in: [47c87af3] user: dan branch: update-from, size: 70719)
18:04
[dcc9a5cb] part of check-in [5ee3c27e] Merge latest trunk changes with this branch. (check-in: [5ee3c27e] user: dan branch: update-from, size: 70847)
2020-06-29
20:26
[79cee371] part of check-in [fa9d93cf] Fix generated columns so that they play well with upsert. See the forum post by "iffycan" for details. (check-in: [fa9d93cf] user: drh branch: trunk, size: 70847)
20:20
[a7436081] part of check-in [e96c2ac9] Change the magic number used to identify the "excluded" pseudo-table in an UPSERT statement into a #define constant. (check-in: [e96c2ac9] user: drh branch: trunk, size: 70795)
2020-06-06
20:48
[1b0c7fc3] part of check-in [05418b2a] Merge multiple changes from trunk to address concerns with window-function parse-tree rewriting. (check-in: [05418b2a] user: drh branch: branch-3.32-early-winfunc-rewrite, size: 71161)
14:44
[e074c76c] part of check-in [2cddb24e] When rewriting the parse-tree for window functions, ensure that the inserted subqueries have an accurate SF_Aggregate bit set. This change also coincidentally fixes ticket [0899cf62f597d7e7], even thought that was not the issue we were working on at the time. (check-in: [2cddb24e] user: drh branch: early-winfunc-rewrite-dev, size: 71419)
14:29
[91504130] part of check-in [c96914ea] Fix an assert() failure that could occur if an ORDER BY expression attached to a compound query contains a subquery that (a) is itself a compound query, (b) uses window functions and (c) has an ORDER BY clause that includes another sub-query. (check-in: [c96914ea] user: dan branch: early-winfunc-rewrite-dev, size: 71420)
2020-06-05
21:36
[29a6737f] part of check-in [7e8060cf] Improved tracing of window function parse tree rewrites. (check-in: [7e8060cf] user: drh branch: early-winfunc-rewrite-dev, size: 71200)
14:25
[66f149f3] part of check-in [13ffedab] ALWAYS() and NEVER() macros added due to unreachable branches arising from the previous check-in. (check-in: [13ffedab] user: drh branch: early-winfunc-rewrite, size: 70942)
14:10
[ab7add32] part of check-in [fe702aa0] Move the parse tree rewrite for window functions earlier in the process, before sqlite3ExprAnalyzeAggregates() has run. Add new assert()s to verify that aggregate analysis always remains valid until the end of SELECT processing. (check-in: [fe702aa0] user: drh branch: early-winfunc-rewrite, size: 70932)
2020-05-24
03:38
[c2008519] part of check-in [ad7bb70a] When rewriting a query for window functions, if the rewrite changes the depth of TK_AGG_FUNCTION nodes, be sure to adjust the Expr.op2 field appropriately. Fix for ticket [7a5279a25c57adf1] (check-in: [ad7bb70a] user: drh branch: trunk, size: 70642)
2020-04-29
20:11
[05471a18] part of check-in [b717dc3c] Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement. (check-in: [b717dc3c] user: dan branch: update-from, size: 70570)
2020-04-06
20:35
[d36a2b16] part of check-in [7e170e67] Performance improvement in sqlite3ResolveExprNameList(). (check-in: [7e170e67] user: drh branch: trunk, size: 70570)
18:16
[4071f257] part of check-in [1e4b6a93] Performance improvement for column name lookup. (check-in: [1e4b6a93] user: drh branch: trunk, size: 69478)
2020-04-04
11:58
[bbaa078e] part of check-in [921448f0] Remove a NEVER() that could be true in sqlite3MatchEName(). (check-in: [921448f0] user: drh branch: trunk, size: 69340)
2020-04-03
13:39
[534927e6] part of check-in [b6467491] Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. Also, in the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: [b6467491] user: drh branch: branch-3.31, size: 68945)
11:52
[5c3b3b18] part of check-in [68429388] Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. (check-in: [68429388] user: dan branch: trunk, size: 69347)
2020-03-21
23:10
[903a70c4] part of check-in [5d14a1c4] Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: [5d14a1c4] user: drh branch: trunk, size: 69321)
15:10
[05298152] part of check-in [a85c63da] Consolidate some code on this branch. (check-in: [a85c63da] user: dan branch: main-alias-fix, size: 69188)
2020-03-20
20:54
[fb21c093] part of check-in [75c85ca3] Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias. (check-in: [75c85ca3] user: dan branch: main-alias-fix, size: 69220)
2020-03-19
21:17
[ad43b2ed] 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: 68947)
2020-02-19
15:39
[38e3a563] part of check-in [5aeb5a2d] Fix a potential NULL pointer dereference following OOM. Problem discovered by dbsqlfuzz. Test case in TH3. (check-in: [5aeb5a2d] user: drh branch: trunk, size: 68929)
2020-01-18
21:34
[f0781c9e] part of check-in [8c8ce526] Allow non-deterministic function in CHECK constraints. It turns out that PostgreSQL, MySQL, and SQLServer all allow this. We should not be the the exception. Ticket [830277d9db6c3ba1] (check-in: [8c8ce526] user: drh branch: trunk, size: 68919)
2020-01-09
01:20
[1139e315] part of check-in [8878c407] Fix a problem that restricted edgy functions in TEMP tables. New test cases added. (check-in: [8878c407] user: drh branch: new-security-options, size: 68679)
2020-01-08
20:37
[06abaef6] part of check-in [30882ca8] Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON" (check-in: [30882ca8] user: drh branch: new-security-options, size: 68482)
17:28
[5200d014] part of check-in [1da802d5] Check for whether or not it is safe to use non-innocuous functions as the function is being coded, not when its name is resolved. (check-in: [1da802d5] user: drh branch: new-security-options, size: 68294)
2020-01-07
16:09
[894397f3] part of check-in [f5fcf1fb] Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA. (check-in: [f5fcf1fb] user: drh branch: new-security-options, size: 68921)
2020-01-06
15:25
[f35aa580] part of check-in [411e8ec2] Refactor names of flags for improved legibility. (check-in: [411e8ec2] user: drh branch: new-security-options, size: 68920)
2020-01-04
20:58
[d3688648] part of check-in [65d7d39a] Refactor the names of the new controls for restricting what actions the schema can take behind the application's back. (check-in: [65d7d39a] user: drh branch: new-security-options, size: 68848)
2020-01-03
21:57
[c15dbf93] part of check-in [1c266cb3] Invert the SQLITE_FUNC_SAFE bit to be SQLITE_FUNC_UNSAFE. The external bit is still SQLITE_INNOCUOUS. It gets inverted as the appdef function is registered. (check-in: [1c266cb3] user: drh branch: new-security-options, size: 68848)
20:57
[70eda312] part of check-in [9ee79b25] When UNSAFE_IN_VIEW is disabled, only allow functions in views that are tagged with SQLITE_INNOCUOUS. (check-in: [9ee79b25] user: drh branch: new-security-options, size: 68804)
15:22
[3868d75d] part of check-in [002406df] Merge fixes from trunk. (check-in: [002406df] user: drh branch: new-security-options, size: 68922)
14:27
[31dc2083] part of check-in [9d791116] Fix a possible NULL pointer dereference caused by using a "VALUES(...)" as a component of a compound SELECT with non-integer ORDER BY clause terms. (check-in: [9d791116] user: dan branch: trunk, size: 68471)
2020-01-02
23:50
[241c32d6] part of check-in [091403a6] Merge enhancements from trunk. (check-in: [091403a6] user: drh branch: new-security-options, size: 68995)
22:23
[93829526] part of check-in [34b87774] NEVER() and ALWAYS() macros tagging unreachable branches. (check-in: [34b87774] user: drh branch: two-size-lookaside, size: 68544)
21:41
[6cc3ce3d] part of check-in [bd57e6d9] Merge the latest enhancements from trunk. (check-in: [bd57e6d9] user: drh branch: two-size-lookaside, size: 68547)
2020-01-01
15:43
[17c74d7c] part of check-in [473892a8] New test-only SQL functions: implies_nonnull_row(), expr_compare(), and expr_implies_expr(). The SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is modified to toggle internal function access on and off for a single database connection. (check-in: [473892a8] user: drh branch: trunk, size: 68309)
2019-12-31
22:52
[8513df17] part of check-in [96a2db26] Experimental branch with new sqlite3_db_config() options that could possible enhance security for applications reading potentially compromised database files. (check-in: [96a2db26] user: drh branch: new-security-options, size: 68748)
14:49
[a76b7ac9] part of check-in [39d55579] Merge recent enhancements from trunk. (check-in: [39d55579] user: drh branch: two-size-lookaside, size: 68535)
2019-12-27
19:46
[e231da7d] part of check-in [e3b5fc05] Fix a problem involving window function aliases being referenced from sub-selects. (check-in: [e3b5fc05] user: dan branch: trunk, size: 68297)
2019-12-13
12:14
[da68e9e6] part of check-in [9c471195] Merge fixes from trunk. (check-in: [9c471195] user: drh branch: two-size-lookaside, size: 68496)
11:42
[86a7773d] part of check-in [c1014e80] Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. (check-in: [c1014e80] user: drh branch: trunk, size: 68258)
00:49
[347c0624] part of check-in [59d0f3af] Tie up the loose ends in the ExprList size reduction. (check-in: [59d0f3af] user: drh branch: exprlist-size-reduction, size: 68485)
2019-12-12
22:11
[fc7bed8f] part of check-in [fdda76cf] 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. (check-in: [fdda76cf] user: drh branch: exprlist-size-reduction, size: 68250)
20:22
[d7038034] part of check-in [d3783357] 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. (check-in: [d3783357] user: drh branch: two-size-lookaside, size: 68249)
15:19
[acc54d97] part of check-in [c6af9f65] 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. (check-in: [c6af9f65] user: drh branch: trunk, size: 68247)
2019-12-09
19:44
[2a121813] part of check-in [f065cf00] Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. (check-in: [f065cf00] user: drh branch: trunk, size: 67079)
18:22
[5b36f3e5] part of check-in [ed28aaa4] The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. (check-in: [ed28aaa4] user: drh branch: trunk, size: 67073)
17:14
[32b5adb2] part of check-in [1923efb2] 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. (check-in: [1923efb2] user: drh branch: trunk, size: 67273)
2019-12-08
00:06
[618bf4f5] part of check-in [9d75e1cc] Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. (check-in: [9d75e1cc] user: drh branch: trunk, size: 66851)
2019-11-22
11:49
[2f8fb48e] part of check-in [34343c4b] Fix a harmless compiler warning. (check-in: [34343c4b] user: drh branch: trunk, size: 66762)
2019-11-21
19:37
[023397b5] part of check-in [6601da58] Whenever a generated column is used, assume that all columns are used. (check-in: [6601da58] user: drh branch: trunk, size: 66756)
2019-10-30
18:50
[cf2391c9] part of check-in [2978b65e] 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] (check-in: [2978b65e] user: drh branch: trunk, size: 66051)
2019-10-23
15:47
[9d6a3bdc] part of check-in [30065716] Minor adjustments for clarity and test coverage. (check-in: [30065716] user: drh branch: generated-columns, size: 65652)
2019-10-16
12:18
[21601466] part of check-in [11d472c1] Initial experimental code for generated column support. Non-functional. (check-in: [11d472c1] user: drh branch: generated-columns, size: 65662)
2019-09-26
16:08
[e021be0c] part of check-in [322eca7f] Test for an OOM condition in resolveAlias(). (check-in: [322eca7f] user: drh branch: trunk, size: 65380)
15:53
[458fb2b0] part of check-in [1cc6cf64] 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. (check-in: [1cc6cf64] user: dan branch: trunk, size: 65291)
2019-08-22
16:38
[9891cf5f] part of check-in [44578865] Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] (check-in: [44578865] user: drh branch: trunk, size: 65202)
2019-08-15
20:04
[b2733d39] part of check-in [fc745845] Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. (check-in: [fc745845] user: drh branch: directonly, size: 65175)
13:53
[14ae3326] part of check-in [4f5b2d93] Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. (check-in: [4f5b2d93] user: dan branch: trunk, size: 64789)
2019-08-08
19:40
[d49679d5] part of check-in [1eef4dde] Fix harmless compiler warnings. (check-in: [1eef4dde] user: drh branch: trunk, size: 65077)
18:49
[bf7cbb8e] part of check-in [83450d10] Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed in the [a29f2a7d07beff64] check-in. (check-in: [83450d10] user: drh branch: trunk, size: 65048)
2019-08-05
19:34
[38bce6ee] part of check-in [470ac8d5] 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. (check-in: [470ac8d5] user: drh branch: tkt-61c853-B, size: 65425)
18:01
[3ed5a3de] 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: 65049)
13:19
[1db9e08a] part of check-in [2ac0e42f] 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. (check-in: [2ac0e42f] user: dan branch: trunk, size: 65051)
2019-08-01
10:58
[6d57cfcb] part of check-in [8168021f] Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". (check-in: [8168021f] user: dan branch: trunk, size: 65023)
2019-07-22
19:01
[edf29463] part of check-in [e46b2afc] Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. (check-in: [e46b2afc] user: drh branch: trunk, size: 65003)
16:33
[63f35311] part of check-in [fd7316cd] 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. (check-in: [fd7316cd] user: dan branch: trunk, size: 65120)
16:20
[b65e59bb] part of check-in [d23f3316] Remove Window objects from the corresponding Select.pWin list when they are deleted. (check-in: [d23f3316] user: dan branch: winfunc-in-orderby, size: 65090)
11:38
[844e5d12] part of check-in [bd37ce3f] Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause. (check-in: [bd37ce3f] user: dan branch: trunk, size: 64856)
2019-07-20
21:12
[78066ab3] part of check-in [23b11967] Make sure any window definitions in an ORDER BY clause are removed from the SELECT statement if the ORDER BY clause gets optimized out. (check-in: [23b11967] user: drh branch: winfunc-in-orderby, size: 65415)
2019-07-19
14:32
[df149546] part of check-in [ff290feb] Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered. (check-in: [ff290feb] user: dan branch: trunk, size: 64826)
2019-07-13
17:45
[17d61645] part of check-in [871796bb] Fix error handling for the case where a window function is passed the wrong number of arguments. (check-in: [871796bb] user: dan branch: trunk, size: 64737)
16:22
[6d96d5c1] 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: 64739)
2019-07-10
20:16
[138c9e9d] part of check-in [bcc8b38a] Minor performance improvement in sqlite3ExprDeleteNN(). (check-in: [bcc8b38a] user: dan branch: filter-clause, size: 64677)
2019-07-08
12:44
[24fab187] part of check-in [b0629132] Comment improvements. No changes to code. (check-in: [b0629132] user: drh branch: tkt9b78184b-alt, size: 64446)
2019-07-03
18:31
[3c0dc449] part of check-in [28aa1702] Add tests for the FILTER clause. And a bugfix. (check-in: [28aa1702] user: dan branch: filter-clause, size: 64663)
2019-07-02
11:56
[65514625] part of check-in [1f1ae2d6] Experimental implementation of FILTER clause for aggregate functions. (check-in: [1f1ae2d6] user: dan branch: filter-clause, size: 64662)
2019-06-17
13:56
[93b7bc7c] part of check-in [923cfd53] Improved interface to double-quoted string literal enabling/disabling. (check-in: [923cfd53] user: drh branch: new-dbconfig-options, size: 64313)
2019-06-14
21:25
[8fd2fca5] part of check-in [1fad2092] Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. (check-in: [1fad2092] user: drh branch: new-dbconfig-options, size: 64007)
2019-06-12
13:49
[f71303e7] part of check-in [5c6146b5] Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1]. (check-in: [5c6146b5] user: dan branch: trunk, size: 63852)
2019-06-11
21:02
[38228d41] part of check-in [614ecb0a] The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] (check-in: [614ecb0a] user: drh branch: trunk, size: 63830)
2019-05-20
18:35
[bae0a756] part of check-in [3e1b55f3] 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. (check-in: [3e1b55f3] user: drh branch: trunk, size: 63838)
17:14
[0b046cc3] part of check-in [1685610e] 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]. (check-in: [1685610e] user: dan branch: trunk, size: 63846)
2019-04-29
11:27
[408632d9] part of check-in [c621fc66] 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. (check-in: [c621fc66] user: dan branch: trunk, size: 63683)
2019-03-29
01:15
[567888ee] part of check-in [965cbcea] Recover a some of the performance lost by window function alias fix two check-ins back. (check-in: [965cbcea] user: drh branch: trunk, size: 63632)
2019-03-28
16:15
[f201b8f9] part of check-in [1e16d3e8] Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. (check-in: [1e16d3e8] user: dan branch: trunk, size: 63573)
2019-03-22
13:56
[f20cb5b9] part of check-in [9aca86f9] 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. (check-in: [9aca86f9] user: dan branch: window-functions, size: 62986)
2019-02-25
15:55
[dd7550ed] part of check-in [a21ffcd8] 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. (check-in: [a21ffcd8] user: drh branch: branch-3.27, size: 62901)
2019-02-22
19:24
[09419ad5] part of check-in [579b66ea] 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]. (check-in: [579b66ea] user: dan branch: trunk, size: 62939)
2019-02-11
11:34
[1588690e] part of check-in [8824115a] Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds. (check-in: [8824115a] user: dan branch: trunk, size: 62366)
2019-01-23
19:50
[c8f20724] part of check-in [2ca6b8f8] 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. (check-in: [2ca6b8f8] user: dan branch: trunk, size: 62328)
16:59
[12fca5d0] part of check-in [0387cb3a] 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. (check-in: [0387cb3a] user: dan branch: trunk, size: 62366)
2019-01-16
20:48
[a40867ce] part of check-in [ca7b7aae] Fix a problem with fix [b4b57413]. (check-in: [ca7b7aae] user: dan branch: trunk, size: 62072)
14:58
[4bfb3927] part of check-in [b4b57413] 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. (check-in: [b4b57413] user: dan branch: trunk, size: 62069)
2019-01-02
14:34
[5f2f987a] part of check-in [6c6fb1c6] Raise an error if the argument to VACUUM INTO is an identifier. (check-in: [6c6fb1c6] user: drh branch: trunk, size: 60969)
2018-12-14
18:11
[72fe8cae] part of check-in [27221c69] Fix harmless compiler warnings. (check-in: [27221c69] user: drh branch: trunk, size: 60602)
2018-12-10
20:01
[abd65c51] part of check-in [c96bf6cc] Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: [c96bf6cc] user: drh branch: trunk, size: 60641)
2018-12-07
16:32
[095d1d41] part of check-in [0d8e1504] Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: [0d8e1504] user: drh branch: trunk, size: 60640)
2018-12-06
16:11
[e0408228] part of check-in [ac9ad504] Issue a warning whenever a double-quoted string literal is used. (check-in: [ac9ad504] user: drh branch: trunk, size: 60545)
2018-12-02
01:15
[976e7879] part of check-in [5d933aa6] Omit a line of code that has no affect on the outcome. (check-in: [5d933aa6] user: drh branch: trunk, size: 59686)
2018-11-26
18:09
[4cfc44de] part of check-in [6e133054] 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. (check-in: [6e133054] user: drh branch: trunk, size: 59684)
2018-11-20
16:02
[23c3d8c3] part of check-in [dfab7170] Consolidate the two sqlite3SchemaToIndex() routines. (check-in: [dfab7170] user: dan branch: reuse-schema1, size: 59480)
2018-11-17
19:15
[d6580c08] part of check-in [5328f899] Fix another name resolution problem occurring when two or more attached databases use the same Schema object. (check-in: [5328f899] user: dan branch: reuse-schema1, size: 59481)
18:11
[9364bbe6] part of check-in [6d7a7e5f] Fix further problems with the feature on this branch. (check-in: [6d7a7e5f] user: dan branch: reuse-schema1, size: 59444)
2018-09-20
20:43
[bc8c79e5] part of check-in [22ae8a52] Minor code simplification. (check-in: [22ae8a52] user: drh branch: trunk, size: 59349)
19:02
[3f99bbea] 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: 59391)
2018-09-19
20:14
[adfb08e3] 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: 59565)
18:17
[122b208b] part of check-in [5e458f4a] A minor code simplification, saved in a branch for future reference. (check-in: [5e458f4a] user: drh branch: minor-altertab-simplification, size: 59278)
14:54
[1f8444d1] 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: 59569)
2018-09-18
21:35
[301eadb8] 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: 59394)
2018-09-17
13:38
[4928a63b] part of check-in [4d8be404] Minor modification to the fix on this branch to avoid adding extra conditional compilation macros. (check-in: [4d8be404] user: dan branch: tkt-b41031ea, size: 59288)
00:15
[c32f4c94] part of check-in [b12f23a5] Add assert()s to the new code in the previous check-in. (check-in: [b12f23a5] user: drh branch: tkt-b41031ea, size: 59570)
2018-09-16
23:27
[c1bc3a26] part of check-in [05a9d129] First proposed fix for the ALTER TABLE problem described by ticket [b41031ea2b5372378cb3d2d] (check-in: [05a9d129] user: drh branch: tkt-b41031ea, size: 59406)
2018-08-29
21:00
[352c6af1] 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: 59320)
2018-08-25
03:29
[11c177ef] part of check-in [5858c0bd] Remove an unnecessary IN_RENAME_COLUMN macro from resolve.c. (check-in: [5858c0bd] user: drh branch: alter-table-rename-column, size: 59059)
2018-08-24
20:10
[c27c71e1] part of check-in [bb2f7234] Fix a problem with renaming a column that occurs as an "excluded.colname" construction in an UPSERT that is part of a trigger program. (check-in: [bb2f7234] user: dan branch: alter-table-rename-column, size: 59080)
16:04
[04290975] part of check-in [ad072a83] 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" (check-in: [ad072a83] user: dan branch: alter-table-rename-column, size: 58896)
2018-08-21
16:32
[246af8a4] 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: 58788)
2018-08-17
17:18
[c5879319] part of check-in [540014ef] 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. (check-in: [540014ef] user: dan branch: edit-trigger-wrapper, size: 58787)
2018-08-09
20:47
[b51a48f3] 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: 58647)
2018-07-10
07:39
[79708866] part of check-in [0f6ec605] Fix a harmless warning about comment formatting in the previous check-in. Simplify the ORDER BY dereferencing logic so that it avoids unreachable branches. (check-in: [0f6ec605] user: drh branch: trunk, size: 58547)
2018-07-02
17:14
[1f965d00] part of check-in [693b4350] Fix a segfault caused by having identical window functions in the select-list and ORDER BY clause of a SELECT statement. (check-in: [693b4350] user: dan branch: trunk, size: 58350)
12:07
[f2f5533a] part of check-in [4f3c8a82] Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. (check-in: [4f3c8a82] user: dan branch: trunk, size: 58074)
2018-06-29
20:43
[d8359c59] part of check-in [5eb47765] Further performance related tweaks for sqlite3RunParser(). (check-in: [5eb47765] user: dan branch: weak-fallback, size: 57852)
2018-06-23
19:29
[43b97be1] part of check-in [3e23cfc8] Fix problems with using window-functions in correlated sub-queries. (check-in: [3e23cfc8] user: dan branch: exp-window-functions, size: 57770)
2018-06-22
20:51
[0934ce54] 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: 57400)
2018-06-11
20:50
[a8cf3d61] part of check-in [0cd55e98] Clarify the relationship between a Window object and its associated Expr. (check-in: [0cd55e98] user: dan branch: exp-window-functions, size: 57208)
18:16
[03791a76] part of check-in [b6d9c7ed] Fix handling of window frames containing negative number of rows. e.g. "ROWS x PRECEDING AND y PRECEDING" where (x<y). (check-in: [b6d9c7ed] user: dan branch: exp-window-functions, size: 57321)
2018-06-08
20:58
[da9b85ec] part of check-in [19c983b5] Add support for the WINDOW clause. (check-in: [19c983b5] user: dan branch: exp-window-functions, size: 56924)
2018-06-06
00:36
[cddefde3] part of check-in [bad4d7a0] 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. (check-in: [bad4d7a0] user: drh branch: dead-end, size: 56510)
2018-06-04
08:28
[172f4c51] part of check-in [83d6416a] Merge latest trunk changes into this branch. (check-in: [83d6416a] user: dan branch: exp-window-functions, size: 56881)
2018-06-02
21:04
[6b62d342] part of check-in [91c1cb7a] Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). (check-in: [91c1cb7a] user: dan branch: exp-window-functions, size: 56760)
11:31
[14602f46] part of check-in [d0c3beef] 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. (check-in: [d0c3beef] user: drh branch: trunk, size: 56133)
2018-05-17
19:24
[446f60b2] part of check-in [c9f0f140] Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. (check-in: [c9f0f140] user: dan branch: exp-window-functions, size: 56702)
2018-05-16
20:58
[8feaf203] 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: 56569)
2018-04-18
01:34
[6415381a] part of check-in [266a99f7] Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: [266a99f7] user: drh branch: upsert, size: 56012)
2018-04-16
13:26
[f0efb32b] 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: 55976)
13:00
[16715d4f] 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: 55948)
10:47
[515ffc66] part of check-in [54d96772] Merge changes from trunk. (check-in: [54d96772] user: drh branch: upsert, size: 55151)
10:34
[b3ace63b] part of check-in [dba3095f] Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: [dba3095f] user: drh branch: trunk, size: 55150)
2018-04-12
20:21
[a72a7a06] part of check-in [046bb6d2] Fix another typo in a comment. (check-in: [046bb6d2] user: drh branch: upsert, size: 54992)
2018-02-26
21:26
[66c73fcb] part of check-in [57508518] Code simplifications. New test cases. (check-in: [57508518] user: drh branch: is-true-operator, size: 54991)
20:15
[6f8a4506] 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: 55051)
18:49
[7e6a9702] part of check-in [cf2abd59] Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. (check-in: [cf2abd59] user: drh branch: is-true-operator, size: 55144)
03:20
[e3555b15] part of check-in [40314bc9] 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. (check-in: [40314bc9] user: drh branch: is-true-operator, size: 55157)
2017-11-14
23:48
[bbee7e31] 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: 54351)
18:26
[49f8e370] 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: 52899)
2017-11-10
20:13
[5b1e89ba] 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: 54404)
2017-11-09
04:13
[741f5dcd] part of check-in [30aa941f] 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. (check-in: [30aa941f] user: drh branch: branch-3.8.9, size: 53038)
03:55
[704978e5] part of check-in [62fe56b5] 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. (check-in: [62fe56b5] user: drh branch: trunk, size: 54543)
2017-10-21
13:29
[5a461643] part of check-in [6ec82acd] Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always defined. (check-in: [6ec82acd] user: drh branch: trunk, size: 54339)
2017-07-12
17:08
[4324a945] 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: 54397)
2017-07-07
12:43
[6aa1fb12] part of check-in [c1a1d68c] More aggressive use of EP_Leaf on expression nodes, to help prune searches. (check-in: [c1a1d68c] user: drh branch: trunk, size: 54535)
2017-06-24
18:10
[d1e69759] part of check-in [7b59c353] Consider the values bound to SQL variables when determining whether or not a partial index may be used. (check-in: [7b59c353] user: dan branch: partial-index-variables, size: 54500)
2017-05-31
00:49
[adf3ef98] part of check-in [af8c0fed] Size and performance optimizations to sqlite3ResolveExprNames(). (check-in: [af8c0fed] user: drh branch: trunk, size: 54494)
2017-05-29
14:26
[ffb69e20] part of check-in [6854a34e] Optimizations to the Walker object and its methods to make the code a little smaller and to help it run a little faster. (check-in: [6854a34e] user: drh branch: trunk, size: 54625)
2017-03-07
03:40
[3e518b96] part of check-in [e0a3d39f] More size and speed improvements in the expression name resolver. (check-in: [e0a3d39f] user: drh branch: trunk, size: 54663)
03:25
[3fd6fdb3] 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: 54649)
2017-01-19
21:20
[f9bc0de4] part of check-in [9ed38521] 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. (check-in: [9ed38521] user: drh branch: trunk, size: 54417)
2016-11-11
15:49
[bb070cf5] part of check-in [fba5fddb] Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: [fba5fddb] user: dan branch: trunk, size: 54457)
2016-10-05
20:10
[3fac1b27] part of check-in [2dde3375] Fix harmless compiler warnings. (check-in: [2dde3375] user: drh branch: trunk, size: 54007)
2016-10-03
18:13
[e918c643] part of check-in [c6e9b942] Allow deterministic functions in the WHERE clause of a partial index. (check-in: [c6e9b942] user: drh branch: trunk, size: 54063)
2016-09-16
11:53
[3c3cf0dc] part of check-in [a3e3b3e1] Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. (check-in: [a3e3b3e1] user: drh branch: trunk, size: 54112)
2016-09-05
12:02
[24f40fd0] part of check-in [56562a03] Catch vector size mismatch problems during name resolution to avoid later problems. (check-in: [56562a03] user: drh branch: early-vector-size-check, size: 54144)
2016-08-18
14:33
[d67b9a5c] part of check-in [92a22f01] 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. (check-in: [92a22f01] user: drh branch: zDbSName, size: 53355)
2016-08-04
01:47
[0392c668] part of check-in [4ada023c] Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. (check-in: [4ada023c] user: drh branch: unknown-function, size: 53349)
2016-07-27
19:33
[d5516a38] part of check-in [719a3b20] Fix some problems with multi-column IN(SELECT...) processing. (check-in: [719a3b20] user: dan branch: rowvalue, size: 53468)
2016-07-26
18:06
[5c4d301a] part of check-in [061b8006] 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. (check-in: [061b8006] user: dan branch: rowvalue, size: 54311)
2016-07-09
20:23
[9680caad] 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: 54306)
2016-05-04
14:45
[cca3aa77] part of check-in [aae38969] 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]. (check-in: [aae38969] user: drh branch: trunk, size: 53256)
2016-04-14
19:29
[d3eaf8c2] part of check-in [129083bd] Work toward improving analysis and code generation for DISTINCT and aggregate queries. (check-in: [129083bd] user: drh branch: better-distinct-agg, size: 53344)
2016-02-15
00:34
[b8f7174e] part of check-in [3201fbcc] 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. (check-in: [3201fbcc] user: drh branch: many-app-functions, size: 53216)
2016-01-20
02:21
[9f7ce3a3] part of check-in [da527dda] Remove an unnecessary memset() from the symbol name resolver. (check-in: [da527dda] user: drh branch: trunk, size: 53226)
2016-01-14
22:19
[08dbe029] part of check-in [0d1b3d7d] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d] user: drh branch: trunk, size: 53192)
2015-12-03
22:33
[a83b4110] part of check-in [8534a46c] Fix typos in requirements text and update requirements marks. No changes to code. (check-in: [8534a46c] user: drh branch: trunk, size: 53188)
2015-11-21
13:24
[f4c897ca] part of check-in [ff5716b8] 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. (check-in: [ff5716b8] user: drh branch: trunk, size: 53252)
2015-09-19
03:07
[1954a0f0] part of check-in [b1278301] Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the same behavior exhibited by all prior releases.) (check-in: [b1278301] user: drh branch: trunk, size: 53249)
2015-09-05
22:36
[3126f769] part of check-in [7ab0b258] 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. (check-in: [7ab0b258] user: drh branch: trunk, size: 53191)
2015-09-01
13:17
[47c00ca0] part of check-in [ff5137a6] Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. (check-in: [ff5137a6] user: drh branch: index-expr, size: 54583)
2015-08-31
21:16
[203146a9] part of check-in [48713130] Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: [48713130] user: drh branch: index-expr, size: 54520)
17:34
[3ec6456a] part of check-in [c77554b5] 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. (check-in: [c77554b5] user: drh branch: index-expr, size: 54632)
2015-08-26
18:04
[e6dc5a54] part of check-in [ec6ddb3d] Merge enhancements from trunk. (check-in: [ec6ddb3d] user: drh branch: index-expr, size: 54243)
14:01
[f2ef2567] part of check-in [c2f3bbad] Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. (check-in: [c2f3bbad] user: drh branch: trunk, size: 54044)
2015-08-25
16:57
[c4691acf] part of check-in [efaabdb7] 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. (check-in: [efaabdb7] user: drh branch: index-expr, size: 54241)
00:27
[ad9404cf] part of check-in [0ad0f8d7] 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. (check-in: [0ad0f8d7] user: drh branch: index-expr, size: 54237)
2015-08-24
20:54
[66b27400] part of check-in [bdaf6646] Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. (check-in: [bdaf6646] user: drh branch: trunk, size: 54042)
2015-08-20
23:28
[7a67cd2a] part of check-in [bc577fe6] Fix a couple C99-isms that cause compile errors on MSVC. (check-in: [bc577fe6] user: drh branch: trunk, size: 54185)
23:21
[02e2c9ed] part of check-in [774e6a14] 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. (check-in: [774e6a14] user: drh branch: trunk, size: 54185)
20:13
[1103be49] part of check-in [a7acc787] Correctly handle empty function argument lists on table-valued functions. (check-in: [a7acc787] user: drh branch: trunk, size: 54190)
2015-08-19
17:11
[bbb4874d] 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: 54163)
15:20
[cd1c44c8] 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: 53549)
2015-06-23
12:19
[2d475543] part of check-in [4df852ce] 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. (check-in: [4df852ce] user: dan branch: trunk, size: 53531)
2015-05-27
13:06
[84c57179] 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: 53253)
2015-05-07
00:09
[99eabf7e] part of check-in [5f2539da] Remove a faulty assert() statement. (check-in: [5f2539da] user: drh branch: trunk, size: 53245)
2015-04-23
13:37
[13109bc3] part of check-in [b5e43602] Fix a faulty assert() in the "AS" alias resolution logic of the parser. (check-in: [b5e43602] user: drh branch: trunk, size: 53305)
2015-04-17
19:41
[53486a98] part of check-in [b67bb16c] In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. (check-in: [b67bb16c] user: drh branch: trunk, size: 53287)
18:52
[1ab0bd18] part of check-in [6c39ef73] Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. (check-in: [6c39ef73] user: drh branch: trunk, size: 53311)
2015-04-15
06:45
[66cfe49a] part of check-in [c72324ef] Fix a faulty assert() statement in the name resolver associated with the optimization that converts compound selects with ORDER BY COLLATE into subqueries. (check-in: [c72324ef] user: drh branch: trunk, size: 52942)
05:57
[03fe2a86] part of check-in [9e1f837b] Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. (check-in: [9e1f837b] user: drh branch: trunk, size: 52959)
04:51
[7bd67ded] part of check-in [d7211b68] 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. (check-in: [d7211b68] user: drh branch: trunk, size: 52858)
2015-04-04
16:43
[41aa91af] part of check-in [427b50fb] Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (check-in: [427b50fb] user: dan branch: compound-order-by-fix, size: 52834)
2015-02-09
14:07
[f4d79e31] part of check-in [4ef7cece] Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: [4ef7cece] user: drh branch: trunk, size: 51645)
10:20
[4ebd1064] part of check-in [c12edb85] Fix over-length source code lines in resolver.c. No logic changes. (check-in: [c12edb85] user: drh branch: trunk, size: 51644)
2014-12-04
16:29
[64e9f612] part of check-in [5a80957b] 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]. (check-in: [5a80957b] user: drh branch: branch-3.8.7, size: 51567)
16:27
[f6c46d34] part of check-in [6f6fcbe4] 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]. (check-in: [6f6fcbe4] user: drh branch: trunk, size: 51583)
2014-10-25
13:42
[4965007d] part of check-in [0f08924f] 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. (check-in: [0f08924f] user: drh branch: trunk, size: 51389)
2014-10-24
19:28
[57d5ad93] part of check-in [d95d0313] 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]. (check-in: [d95d0313] user: drh branch: trunk, size: 51373)
2014-09-15
14:46
[a3466128] part of check-in [0bdf1a08] 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. (check-in: [0bdf1a08] user: drh branch: trunk, size: 51373)
2014-09-06
16:39
[0d1621e4] part of check-in [e62aab5e] Fix typos in comments. No code changes. (check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 51113)
2014-08-11
15:54
[0ea356d3] part of check-in [62d38308] Updates to evidence marks and requirements. No changes to code. (check-in: [62d38308] user: drh branch: trunk, size: 51113)
2014-08-08
18:26
[44e2e434] part of check-in [7556bd9a] Update requirements marks. No changes to code. (check-in: [7556bd9a] user: drh branch: trunk, size: 50874)
2014-06-17
16:11
[5fc110ba] part of check-in [38965484] Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). (check-in: [38965484] user: drh branch: trunk, size: 50874)
2014-06-10
20:18
[f0c6db38] part of check-in [401a0ca3] Proposed change to the fix for ticket [1c69be2dafc28b] such that legacy applications that were exploiting the older buggy behavior in SQLite continue to work. (check-in: [401a0ca3] user: drh branch: group-by-name-resolution, size: 51701)
2014-05-06
15:28
[06b70638] 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: 50958)
2014-03-04
11:29
[273d5f47] part of check-in [5bcd0b1c] Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: [5bcd0b1c] user: mistachkin branch: trunk, size: 50822)
2014-02-12
14:43
[ca8b99d8] part of check-in [5d01426d] Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: [5d01426d] user: drh branch: trunk, size: 50791)
2014-01-21
01:13
[3e22bf60] part of check-in [c57deced] Fix a couple comment typos and one overly long line. No functional changes. (check-in: [c57deced] user: mistachkin branch: level-pseudocolumn, size: 51565)
00:19
[f35795a7] part of check-in [cc1cb321] 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. (check-in: [cc1cb321] user: drh branch: level-pseudocolumn, size: 51540)
2014-01-15
19:42
[ae278d8c] part of check-in [3908e2ea] Fixes so that SQLITE_OMIT_CTE builds work. (check-in: [3908e2ea] user: dan branch: common-table-expr, size: 51104)
18:12
[41d0cf64] part of check-in [61be2da0] 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. (check-in: [61be2da0] user: dan branch: common-table-expr, size: 51073)
2013-11-26
23:27
[7eda9097] part of check-in [0978bac6] 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. (check-in: [0978bac6] user: drh branch: trunk, size: 50804)
2013-11-21
14:44
[a70e32ae] part of check-in [9b4217f0] Remove the obsolete TK_CONST_FUNC token type. (check-in: [9b4217f0] user: drh branch: trunk, size: 50766)
14:33
[1568ba36] part of check-in [1b0f779e] Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: [1b0f779e] user: drh branch: trunk, size: 50834)
2013-11-15
18:15
[6fcceeb6] part of check-in [d10fb49a] Changes to make the new constant expression factoring logic more general and more testable. (check-in: [d10fb49a] user: drh branch: expr-codegen-enhancement, size: 50745)
2013-11-08
17:13
[fc4673cc] part of check-in [0077c077] Fix harmless compiler warnings. (check-in: [0077c077] user: drh branch: trunk, size: 50697)
2013-10-23
17:39
[e729889b] part of check-in [36bcc9cb] Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: [36bcc9cb] user: drh branch: omit-rowid, size: 50716)
2013-10-16
23:58
[572585a9] part of check-in [e5a439cf] Fix a typo in a requirements mark comment. No changes to code. (check-in: [e5a439cf] user: drh branch: trunk, size: 50532)
2013-10-11
16:35
[5f15b006] part of check-in [5f01cd36] Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: [5f01cd36] user: drh branch: trunk, size: 50532)
2013-09-12
23:42
[7459801d] part of check-in [695aee46] Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (check-in: [695aee46] user: drh branch: unlikely-func, size: 50285)
17:29
[062de789] part of check-in [4c84d1b4] Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: [4c84d1b4] user: drh branch: unlikely-func, size: 50272)
16:50
[d336be12] 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: 49246)
2013-09-11
14:34
[0e5b31ef] part of check-in [5d00cce7] Additional unlikely() test cases. Logic tweaks to support test coverage. (check-in: [5d00cce7] user: drh branch: unlikely-func, size: 50237)
11:38
[fde5b5c5] part of check-in [29a359b8] Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: [29a359b8] user: drh branch: unlikely-func, size: 50226)
03:53
[140c25a1] part of check-in [52d52688] Tweaks to the index selection logic. (check-in: [52d52688] user: drh branch: unlikely-func, size: 50214)
2013-09-07
00:29
[594725ba] part of check-in [b65dc534] 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. (check-in: [b65dc534] user: drh branch: unlikely-func, size: 50213)
2013-09-06
17:45
[8a2b6b9a] part of check-in [1a46a724] 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. (check-in: [1a46a724] user: drh branch: unlikely-func, size: 50158)
15:23
[748618c3] part of check-in [036fc37a] Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: [036fc37a] user: drh branch: unlikely-func, size: 50159)
2013-08-15
22:40
[9d53899c] part of check-in [f2d175f9] Make sure that GROUP BY terms select input column names in preference to output column names, in compliance with the SQL standard. Ticket [1c69be2dafc28]. (check-in: [f2d175f9] user: drh branch: trunk, size: 49259)
20:24
[2a760f36] part of check-in [c78b357c] 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]. (check-in: [c78b357c] user: drh branch: trunk, size: 49210)
14:27
[94a08f37] part of check-in [f30abdf9] Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: [f30abdf9] user: drh branch: trunk, size: 48806)
2013-08-02
14:18
[17e67099] part of check-in [2e8c845e] Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (check-in: [2e8c845e] user: drh branch: partial-indices, size: 48801)
2013-08-01
13:04
[8b3c7a43] part of check-in [8e07aa2a] Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: [8e07aa2a] user: drh branch: partial-indices, size: 48377)
2013-07-31
19:05
[ada80e8d] part of check-in [f2aa7842] 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. (check-in: [f2aa7842] user: drh branch: partial-indices, size: 48369)
2013-05-16
01:02
[89f9003e] part of check-in [9ffff3d0] 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. (check-in: [9ffff3d0] user: drh branch: trunk, size: 46155)
2013-04-25
00:57
[83cc2d94] part of check-in [39b4e6ff] Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: [39b4e6ff] user: drh branch: trunk, size: 46155)
2013-04-13
19:59
[10a1b332] part of check-in [ad53924d] 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]. (check-in: [ad53924d] user: drh branch: tkt-2500cdb9be, size: 46099)
2013-02-26
12:57
[9079da7d] part of check-in [c2d5a23b] 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]. (check-in: [c2d5a23b] user: drh branch: trunk, size: 45949)
2013-02-07
09:33
[652ae6dc] part of check-in [4a7b4ee0] Fix harmless compiler warnings. (check-in: [4a7b4ee0] user: drh branch: trunk, size: 45918)
2013-01-08
12:48
[0bca3bf6] part of check-in [cda79028] Do not raise an error if an unknown SQL function is found in a CHECK constraint while parsing the schema of an existing database. (check-in: [cda79028] user: drh branch: trunk, size: 45928)
2013-01-07
13:26
[e41ccbe4] part of check-in [0a1207c8] 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. (check-in: [0a1207c8] user: dan branch: mistake, size: 45910)
2013-01-03
17:34
[521bdc0f] part of check-in [20730bad] Further corner-case fixes to the name resolution logic. (check-in: [20730bad] user: drh branch: name-resolution-fix, size: 45900)
16:54
[2b3ae4d8] part of check-in [afe96a11] Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. (check-in: [afe96a11] user: drh branch: name-resolution-fix, size: 45877)
00:45
[e00f17ac] part of check-in [4cf5ed7e] Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: [4cf5ed7e] user: drh branch: name-resolution-fix, size: 45877)
2012-12-19
02:36
[3104a5e4] part of check-in [7344e791] Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. (check-in: [7344e791] user: drh branch: name-resolution-fix, size: 45143)
2012-12-18
16:07
[52331299] part of check-in [9b67c633] Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. (check-in: [9b67c633] user: drh branch: trunk, size: 44466)
2012-12-07
23:23
[cdd546d6] part of check-in [bd960d93] Improved error messages when column integers in an ORDER BY clause are out of range. (check-in: [bd960d93] user: drh branch: ticket-71e333e7, size: 44466)
22:18
[5ed60691] part of check-in [0aaf52a3] Fix a long-standing issue with the distinct-as-aggregate optimization that only expressed when the new collating-sequence logic is turned on. (check-in: [0aaf52a3] user: drh branch: ticket-71e333e7, size: 44464)
21:02
[34168dc9] part of check-in [49654453] Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. (check-in: [49654453] user: drh branch: ticket-71e333e7, size: 44738)
18:38
[fd2206ae] part of check-in [972443b4] Some errors in veryquick resolved. Many more to go. (check-in: [972443b4] user: drh branch: ticket-71e333e7, size: 44137)
14:02
[c05083cb] part of check-in [7fafab12] Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. (check-in: [7fafab12] user: drh branch: ticket-71e333e7, size: 43705)
2012-12-06
21:16
[6faf0f33] part of check-in [fd011cb2] 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. (check-in: [fd011cb2] user: drh branch: ticket-71e333e7, size: 43661)
2012-10-09
18:51
[7b986a71] part of check-in [7b1a6e6c] Attempt to suppress warnings generated by Coverity. (check-in: [7b1a6e6c] user: drh branch: trunk, size: 43887)
2012-08-23
19:46
[9e28280e] part of check-in [00b1dc71] Add test cases and fix bugs associated with the previous check-in enhancements to nested aggregate subquery processing. (check-in: [00b1dc71] user: drh branch: nested-agg, size: 43887)
16:18
[e60d1f7c] part of check-in [3c3ffa90] Further improvements to the processing of nested aggregate queries. (check-in: [3c3ffa90] user: drh branch: nested-agg, size: 42583)
2012-05-21
19:11
[b3c70ab2] part of check-in [72226096] 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]. (check-in: [72226096] user: drh branch: nested-agg, size: 42384)
2012-04-27
01:09
[748e7529] part of check-in [a49e909c] 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. (check-in: [a49e909c] user: drh branch: trunk, size: 42179)
2012-04-07
00:09
[969ec2bc] part of check-in [09d5581c] 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. (check-in: [09d5581c] user: drh branch: trunk, size: 42017)
2011-12-10
23:18
[3d3e80a9] part of check-in [5061d85f] Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. (check-in: [5061d85f] user: drh branch: trunk, size: 42017)
2011-10-18
18:10
[365ab1c8] part of check-in [551ce407] Improved handling of USING and NATURAL JOIN in 3-way and higher joins. Ticket [3338b3fa19ac4ab] (check-in: [551ce407] user: drh branch: trunk, size: 41968)
2011-07-08
16:10
[36368f44] part of check-in [9f14fa56] Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. (check-in: [9f14fa56] user: dan branch: trunk, size: 42089)
2010-06-28
10:15
[1c0f32b6] part of check-in [4932f228] 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.). (check-in: [4932f228] user: dan branch: trunk, size: 41358)
2010-04-08
17:35
[ac5f1a71] part of check-in [332cb551] Fix a typo in a comment. No changes to code. (check-in: [332cb551] user: drh branch: trunk, size: 41329)
15:01
[f17f6615] part of check-in [e1aa48ac] New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: [e1aa48ac] user: drh branch: trunk, size: 41340)
2010-02-25
02:32
[8e51ac01] part of check-in [46f406b2] 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]. (check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 41278)
2010-02-22
19:32
[a1648d98] part of check-in [a8076aed] Log all error messages if logging is enabled. (check-in: [a8076aed] user: drh branch: trunk, size: 41280)
2010-01-07
15:17
[56ecd508] part of check-in [44bb1bfe] Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: [44bb1bfe] user: drh branch: trunk, size: 41036)
2010-01-01
18:57
[69a45df2] part of check-in [0e918c54] Add evidence marks associated with autoincrement. (check-in: [0e918c54] user: drh branch: trunk, size: 41034)
2009-12-29
23:39
[e8e08660] part of check-in [1a0e5fa9] 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]. (check-in: [1a0e5fa9] user: drh branch: trunk, size: 40973)
2009-11-27
12:12
[d052e5c4] part of check-in [1b7c5250] Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: [1b7c5250] user: dan branch: trunk, size: 40986)
2009-11-23
14:39
[c52d9e52] part of check-in [a4380ab3] Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. (check-in: [a4380ab3] user: dan branch: trunk, size: 40826)
2009-11-10
01:30
[aa3cb21e] part of check-in [f6c045f6] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f6] user: drh branch: trunk, size: 40569)
2009-11-04
13:17
[f263d685] part of check-in [24a4d520] 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. (check-in: [24a4d520] user: drh branch: trunk, size: 40627)
2009-11-03
19:42
[1166b41d] part of check-in [01c4b5b8] Fix compiler warnings on MSVC build. (check-in: [01c4b5b8] user: shane branch: trunk, size: 40701)
2009-10-19
15:52
[3ac31c71] part of check-in [6fe63711] 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]. (check-in: [6fe63711] user: dan branch: trunk, size: 40620)
2009-09-07
04:38
[94184330] part of check-in [26cd015c] Warning cleanup from the MSVC compile. (check-in: [26cd015c] user: shane branch: trunk, size: 40020)
2009-09-01
12:16
[e78029b0] part of check-in [38a9327b] More fixes and comment updates. (check-in: [38a9327b] user: dan branch: trunk, size: 40015)
2009-08-31
15:27
[522d6804] part of check-in [85d9f23b] More fixes for test cases. (check-in: [85d9f23b] user: dan branch: trunk, size: 39945)
08:22
[5909b3e2] part of check-in [8a746fbf] Fix some authorization callback problems. (check-in: [8a746fbf] user: dan branch: trunk, size: 40094)
2009-08-28
18:53
[92ef8a85] part of check-in [9b9c1921] Changes to support recursive triggers. (check-in: [9b9c1921] user: dan branch: trunk, size: 39907)
2009-06-15
23:15
[4a61d03e] part of check-in [a49c2d4b] Additional updates to the symbol resolver and expression tree walker to facilitate test coverage. (CVS 6764) (check-in: [a49c2d4b] user: drh branch: trunk, size: 39934)
18:32
[34c5b59d] part of check-in [c50f0f28] Updates to resolve.c to facilitate full coverage testing. (CVS 6762) (check-in: [c50f0f28] user: drh branch: trunk, size: 39930)
2009-06-01
16:53
[f86d3490] part of check-in [07915885] Fix compiler warnings with MSVC build. (CVS 6699) (check-in: [07915885] user: shane branch: trunk, size: 39997)
2009-05-29
14:39
[42065c05] part of check-in [bd89f2c2] Refinements in expression handling logic that have resulted from recent structural testing. (CVS 6690) (check-in: [bd89f2c2] user: drh branch: trunk, size: 39956)
2009-05-28
14:34
[fc6fdd01] part of check-in [3b461425] Fix a NULL pointer dereference following an OOM error in the column name resolver. (CVS 6685) (check-in: [3b461425] user: drh branch: trunk, size: 39936)
12:49
[3e2df0a2] part of check-in [376ecf0d] 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) (check-in: [376ecf0d] user: drh branch: trunk, size: 39910)
01:00
[64e7ac82] 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: 39796)
2009-05-27
10:31
[0c9faa46] 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: 39670)
2009-05-05
15:46
[2ce8f8bc] part of check-in [300da301] Make sure the left-shift operator never overflows. (CVS 6605) (check-in: [300da301] user: drh branch: trunk, size: 40194)
2009-05-01
21:13
[d01b53d8] 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: 40110)
2009-03-05
04:23
[094e4445] part of check-in [6b0cabd0] Added some asserts and a check for a null pointer dereference. (CVS 6337) (check-in: [6b0cabd0] user: shane branch: trunk, size: 40100)
2009-03-02
01:22
[ac4f914b] part of check-in [fa000850] 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) (check-in: [fa000850] user: drh branch: trunk, size: 40042)
2009-02-24
10:14
[dea00513] part of check-in [0e7c369c] Reverse commit (6315) for now. (CVS 6317) (check-in: [0e7c369c] user: danielk1977 branch: trunk, size: 39997)
2009-02-23
17:33
[60a5f405] part of check-in [294ba6f7] 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) (check-in: [294ba6f7] user: danielk1977 branch: trunk, size: 40062)
2009-02-19
14:39
[b3aa625e] 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: 39997)
2008-12-10
19:26
[18dc9f0d] part of check-in [c872d554] 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) (check-in: [c872d554] user: drh branch: trunk, size: 39896)
18:03
[83d668f2] part of check-in [14e6d19c] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c] user: drh branch: trunk, size: 39874)
2008-12-09
14:03
[6dd09880] part of check-in [0d7e150e] Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) (check-in: [0d7e150e] user: drh branch: trunk, size: 39870)
13:04
[6c32f21b] part of check-in [be03fa05] 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) (check-in: [be03fa05] user: drh branch: trunk, size: 39879)
2008-11-17
19:18
[4af5391d] part of check-in [8009220c] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c] user: danielk1977 branch: trunk, size: 39874)
2008-10-19
21:03
[266bb03d] part of check-in [81cfee5c] When a name in double quotes falls back to being a string literal, make sure it has no affinity. Ticket #3442. (CVS 5832) (check-in: [81cfee5c] user: drh branch: trunk, size: 39908)
2008-10-11
16:47
[86a6f7e4] part of check-in [d2c252d6] 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) (check-in: [d2c252d6] user: drh branch: trunk, size: 39886)
2008-10-10
04:34
[d45e7b69] 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: 39989)
2008-10-06
15:18
[1971ff69] part of check-in [24891902] Fix a typo in check-in (5769) (CVS 5770) (check-in: [24891902] user: drh branch: trunk, size: 39901)
13:54
[9aeb0719] part of check-in [2f7db6c9] Expression nodes of type TK_ROW mean the rowid of the first table in the source list. (CVS 5769) (check-in: [2f7db6c9] user: drh branch: trunk, size: 39898)
2008-08-29
02:14
[a6abf831] part of check-in [ab0292ca] 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) (check-in: [ab0292ca] user: drh branch: trunk, size: 39247)
2008-08-25
17:23
[74725e61] part of check-in [4ad096bd] 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) (check-in: [4ad096bd] user: drh branch: trunk, size: 37461)
12:14
[f279cfe0] part of check-in [0d61960a] Additional coverage testing in the new name resolver module. (CVS 5608) (check-in: [0d61960a] user: drh branch: trunk, size: 37510)
2008-08-22
17:34
[3c9c0409] part of check-in [6de9c084] Remove dead code. (CVS 5601) (check-in: [6de9c084] user: drh branch: trunk, size: 37530)
2008-08-20
16:35
Added: [e688f240] part of check-in [daf730d1] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1] user: drh branch: trunk, size: 37910)