Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for src/resolve.c
2025-05-08
| ||
16:18 | [d40fe18d7c] part of check-in [25920beebf] Fix PRAGMA trusted_schema=OFF and similar so that it restricts the kinds of functions in CHECK constraints that the documentation says it does. It was letting through some function that it ought not have. This is a defect in [5720924cb07766cd]. See forum thread 2025-05-08T08:50Z. Additional test cases will be added separately. (check-in: [25920beebf] user: drh branch: trunk, size: 84910) | |
13:51 | [34497ac863] part of check-in [ac2aa39f7e] Internal doc typo fix. No code changes. (check-in: [ac2aa39f7e] user: stephan branch: trunk, size: 84910) | |
2025-03-14
| ||
18:10 | [20e1fbe8f8] part of check-in [6fd6b32d06] Make use of the flexible-array feature of C99, when available, to try to pacify -fsanitize=strict-bounds. This check-in fixes the core. There is more yet to do in FTS3, RTREE, and in FTS5. (check-in: [6fd6b32d06] user: drh branch: flex-array, size: 84908) | |
2025-02-08
| ||
14:15 | [626c24b258] part of check-in [351dbbc2bf] Use the sqlite3ColumnIndex() routine to look up a column in a table, rather than using a custom loop. Performance improvement, size reduction, and complexity decrease. (check-in: [351dbbc2bf] user: drh branch: trunk, size: 84804) | |
2024-10-25
| ||
16:20 | [e3a8742068] part of check-in [e7f27bbdf4] Merge the latest trunk enhancements into the lateral-join branch. (check-in: [e7f27bbdf4] user: drh branch: lateral-join, size: 86198) | |
2024-10-05
| ||
18:10 | [c8a5372b97] part of check-in [aa440e78e9] Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: [aa440e78e9] user: dan branch: indexed-subtype-expr, size: 85295) | |
15:51 | [8bcf218a3f] part of check-in [a92bb48a48] Merge latest trunk changes into this branch. (check-in: [a92bb48a48] user: dan branch: lateral-join, size: 85380) | |
2024-09-24
| ||
00:53 | [9750a281f7] part of check-in [766cf5535b] Remove an ALWAYS() that can sometimes be false, with wildly incorrect SQL inputs. dbsqlfuzz 707afcf73930de2624cdeca0ad1f0deea982dfea (check-in: [766cf5535b] user: drh branch: trunk, size: 84477) | |
2024-09-20
| ||
12:58 | [b2cd748488] part of check-in [b7b64c53f5] New assert()s to help verify union access. No logic changes. Testing and validation code only. (check-in: [b7b64c53f5] user: drh branch: trunk, size: 84485) | |
2024-08-31
| ||
22:22 | [b7e50d31c5] part of check-in [317d901429] Add error checking: Do not allow functions other than those in the percentile extension to use the ordered-set aggregate notation. (check-in: [317d901429] user: drh branch: ordered-set-agg, size: 84630) | |
2024-08-24
| ||
18:42 | [2c127880c0] part of check-in [8b4766252b] Remove a term from an assert() that is no longer relevant. (check-in: [8b4766252b] user: drh branch: trunk, size: 84437) | |
17:37 | [682106712c] part of check-in [074002718b] Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: [074002718b] user: drh branch: branch-3.46, size: 84025) | |
15:54 | [fc033f60ce] part of check-in [bada54bd6b] Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: [bada54bd6b] user: dan branch: trunk, size: 84450) | |
2024-08-19
| ||
22:48 | [9afed5fd7b] part of check-in [8ff5dda844] Refactor the SrcItem object so that information about subqueries is stored in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. (check-in: [8ff5dda844] user: drh branch: srcitem-opt, size: 84431) | |
2024-08-17
| ||
23:23 | [d25fc99cd5] part of check-in [9f5aeef3cb] Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: [9f5aeef3cb] user: drh branch: srcitem-opt, size: 84069) | |
2024-08-10
| ||
13:45 | [4f4c99b871] part of check-in [6decf00f7c] Cherrypick ALTER TABLE fixes from trunk so that ALTER TABLE no longer returns SQLITE_INTERNAL instead of SQLITE_ERROR after malformed input. (check-in: [6decf00f7c] user: drh branch: branch-3.46, size: 84006) | |
2024-08-09
| ||
18:18 | [0aee8a2e53] part of check-in [9052187efd] Fix the internal routine sqlite3ResolveExprListNames() so that it returns SQLITE_OK or SQLITE_ERROR instead of WRC_Continue or WRC_Abort. Without this fix, some times of obscure syntax errors end up returning SQLITE_INTERNAL rather than SQLITE_ERROR. (check-in: [9052187efd] user: drh branch: trunk, size: 84015) | |
2024-07-29
| ||
17:59 | [678f0f6c4e] part of check-in [d029e94399] The idea here was to simply an expression like "(a=5) IS TRUE" into "(a=5)=TRUE". But that does not work, since the original form is FALSE if y is NULL whereas the second form is NULL. Patch save for historical reference only. (check-in: [d029e94399] user: drh branch: broken-istrue-opt, size: 84061) | |
2024-07-22
| ||
17:09 | [a3d8ad8e1e] part of check-in [ac6dc8c605] Do not abort the resolver early if a LIMIT expression does not resolve, as that can result in a memory leak. (check-in: [ac6dc8c605] user: drh branch: lateral-join, size: 84788) | |
16:59 | [8dc8832973] part of check-in [0a2531c3a3] Only allow variables in LIMIT clauses if the LIMIT is within a LATERAL subquery and the variable resolves to another FROM clause term to the left of the subquery. We cannot allow variables from outer contexts because the LIMIT value is computed before the cursors in the outer context have been initialized. (check-in: [0a2531c3a3] user: drh branch: lateral-join, size: 84834) | |
16:15 | [faf5493601] part of check-in [c9d3427de5] Allow LIMIT expressions to appear in any outer context. (check-in: [c9d3427de5] user: drh branch: lateral-join, size: 84391) | |
13:55 | [162059912a] part of check-in [1034782137] Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: [1034782137] user: drh branch: lateral-join, size: 84422) | |
00:46 | [bb26293014] part of check-in [4f0515138a] Allow LIMIT and OFFSET to contain variables from prior terms of the FROM clause in a LATERAL subquery. Forum post dfe2cd37ca3a9a80 (check-in: [4f0515138a] user: drh branch: lateral-join, size: 84332) | |
2024-07-21
| ||
10:35 | [24bc6206fe] part of check-in [31e175fcd0] Fix LATERAL subqueries so that they are able to reference other subqueries to their left that are implemented as co-routines. See Forum post dfe2cd37ca3a9a80. (check-in: [31e175fcd0] user: drh branch: lateral-join, size: 84392) | |
2024-07-20
| ||
08:31 | [85b299024d] part of check-in [84b80233e7] Optimizations and improved comments. (check-in: [84b80233e7] user: drh branch: lateral-join, size: 84593) | |
01:19 | [8a82616721] part of check-in [3c045a96bc] Experimental implementation of LATERAL JOIN. (check-in: [3c045a96bc] user: drh branch: lateral-join, size: 84422) | |
2024-06-07
| ||
21:00 | [9c7786f032] part of check-in [972a33db0b] Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join. (check-in: [972a33db0b] user: dan branch: exists-to-join, size: 83986) | |
2024-06-06
| ||
16:06 | [5153c9fb3f] part of check-in [b44f267671] Better optimize queries that use parameters in the LIMIT clause. (check-in: [b44f267671] user: drh branch: branch-3.28-var-in-limit, size: 63919) | |
15:03 | [7e8d23ce7c] part of check-in [e58cb304d1] Better optimize queries that use parameters in the LIMIT clause. (check-in: [e58cb304d1] user: drh branch: var-in-limit, size: 83925) | |
2024-06-05
| ||
11:36 | [ae341d04d3] part of check-in [a096eb7554] Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table. (check-in: [a096eb7554] user: dan branch: trunk, size: 83916) | |
11:30 | [a9bffff065] part of check-in [38dacbd7ad] Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table. (check-in: [38dacbd7ad] user: dan branch: mistake, size: 83926) | |
2024-05-18
| ||
20:00 | [22f1fa3423] part of check-in [922731ce98] Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. (check-in: [922731ce98] user: drh branch: vtab-distinct-fix, size: 83924) | |
2024-05-15
| ||
21:38 | [6adf4bf101] part of check-in [b79a8be37b] Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. (check-in: [b79a8be37b] user: dan branch: alter-table-fix, size: 83878) | |
2024-05-02
| ||
18:16 | [8816212645] part of check-in [fbc446daac] Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. (check-in: [fbc446daac] user: dan branch: trunk, size: 83900) | |
2024-04-24
| ||
11:51 | [647edf9372] part of check-in [6f0e7e1952] Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: [6f0e7e1952] user: drh branch: trunk, size: 83823) | |
11:21 | [f430c3744a] part of check-in [cef4d9e3ba] Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: [cef4d9e3ba] user: drh branch: trunk, size: 83796) | |
2024-04-07
| ||
18:55 | [6310bdfed3] part of check-in [287ff24b26] Merge trunk testing enhancements into the pushdown-subquery branch. (check-in: [287ff24b26] user: drh branch: pushdown-subquery, size: 83742) | |
18:23 | [42d5d75a6c] part of check-in [0a53dde214] If SQLITE_ALLOW_ROWID_IN_VIEW is set to 2, then all rowids for views return a value of NULL. (check-in: [0a53dde214] user: drh branch: trunk, size: 83651) | |
2024-04-06
| ||
12:19 | [f242e509b2] part of check-in [87c45fb0d5] Generalize pushdown to allow any uncorrelated subquery to be pushed down. (check-in: [87c45fb0d5] user: drh branch: pushdown-subquery, size: 83608) | |
2024-03-24
| ||
19:08 | [b81374797e] part of check-in [7a3d0027f8] Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: [7a3d0027f8] user: drh branch: branch-3.45, size: 83317) | |
2024-03-20
| ||
11:24 | [b93de34e54] part of check-in [e7ba2af5a1] If a term of an ORDER BY or GROUP BY contains an aggregate function or column, then it is not an alias that needs to be resolved, so don't try to. This fixes a harmless assertion found by dbsqlfuzz. (check-in: [e7ba2af5a1] user: drh branch: branch-3.44, size: 81835) | |
11:04 | [e82e3f6222] part of check-in [acc08353e2] Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: [acc08353e2] user: drh branch: branch-3.44, size: 81741) | |
2024-03-19
| ||
19:56 | [eb1860b134] part of check-in [0615bdae2d] Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: [0615bdae2d] user: drh branch: rowid-in-view, size: 83517) | |
16:34 | [f851f7cce8] part of check-in [8fcea4cdfc] In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if there are multiple views that might resolve to the "rowid" but only one real table, then use that one real table and ignore the views. (check-in: [8fcea4cdfc] user: drh branch: rowid-in-view, size: 83512) | |
14:55 | [c3d6f42264] part of check-in [021f34fcfe] Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: [021f34fcfe] user: dan branch: ambiguous-rowid-error, size: 82334) | |
2024-03-09
| ||
00:38 | [446bcb8ebf] part of check-in [be266c7139] The NOT NULL strength reduction optimization should be applied to the WHERE clause only. (check-in: [be266c7139] user: drh branch: branch-3.45, size: 82129) | |
2024-03-08
| ||
21:37 | [ef87e3bc77] part of check-in [51704feae2] The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] should be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. Forum post 440f2a2f17. (check-in: [51704feae2] user: drh branch: trunk, size: 82329) | |
2024-03-04
| ||
18:50 | [117cf4a433] part of check-in [5d6797716d] Fix some problems with "VALUES(...) UNION ..." and similar on this branch. (check-in: [5d6797716d] user: dan branch: exp-values-clause, size: 81082) | |
2024-02-11
| ||
23:25 | [d873365b47] part of check-in [c080560c2d] Cherrypick multiple fixes for trifling faults from trunk, so that all 834 dbsqlfuzz run clean with ASAN on branch-3.45. dbsqlfuzz. (check-in: [c080560c2d] user: drh branch: branch-3.45, size: 80863) | |
20:53 | [d77c6160bc] part of check-in [d4ec2a5d22] If a term of an ORDER BY or GROUP BY contains an aggregate function or column, then it is not an alias that needs to be resolved, so don't try to. This fixes a harmless assertion found by dbsqlfuzz. This yet another problem that orginated at check-in [6e6b3729e0549de0]. (check-in: [d4ec2a5d22] user: drh branch: trunk, size: 81063) | |
2024-01-22
| ||
20:49 | [0ed10ebb70] part of check-in [59eb9d29e7] Simplification of the error reporting logic. (check-in: [59eb9d29e7] user: drh branch: improved-dqs-error-msg, size: 80969) | |
15:26 | [6221ea6fa0] part of check-in [0a834bd811] Improved error message when a double-quoted string is used and it seems likely that the user wanted a single-quoted string literal. (check-in: [0a834bd811] user: drh branch: improved-dqs-error-msg, size: 80975) | |
2023-12-19
| ||
13:00 | [03995d22b1] part of check-in [8f770d14d3] When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. (check-in: [8f770d14d3] user: drh branch: branch-3.44, size: 80553) | |
12:49 | [e25f51a473] part of check-in [d2e6117e4f] When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. dbsqlfuzz 71869261db80a95e4733afa10ff5724bf3c78592. (check-in: [d2e6117e4f] user: drh branch: trunk, size: 80769) | |
2023-12-15
| ||
21:39 | [3448d354f3] part of check-in [122cd0bada] Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. (check-in: [122cd0bada] user: drh branch: branch-3.43, size: 78960) | |
2023-12-13
| ||
16:50 | [5459b952b3] part of check-in [6e0e2ee7c7] Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. (check-in: [6e0e2ee7c7] user: drh branch: branch-3.44, size: 80527) | |
16:45 | [da0a596a64] part of check-in [ac9314c0e3] Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. dbsqlfuzz fc34aa62df4de103705d11b807074687ffafbda5. (check-in: [ac9314c0e3] user: drh branch: trunk, size: 80743) | |
2023-11-29
| ||
16:07 | [0965e1667d] part of check-in [f9c6e6a710] 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: [f9c6e6a710] user: drh branch: branch-3.28, size: 63910) | |
2023-11-07
| ||
19:02 | [b352cca51c] part of check-in [fce776ccce] Do not allow aggregate or window functions in UPDATE statements. (check-in: [fce776ccce] user: dan branch: no-aggregates-in-update, size: 80755) | |
2023-11-02
| ||
22:11 | [d017bad7ba] part of check-in [51002079e0] In the previous check-in, use a u32 instead of an int, to make it easier to prove that the integer will never overflow. (check-in: [51002079e0] user: drh branch: trunk, size: 80703) | |
21:02 | [c74f10e6ad] part of check-in [4470f657d2] Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. e.g. "SELECT (SELECT x FROM (SELECT sum(t1.a) AS x)) FROM t1". Forum post c9970a37ed. (check-in: [4470f657d2] user: dan branch: trunk, size: 80653) | |
2023-10-20
| ||
19:06 | [31229276a8] part of check-in [5cb61c6788] Fix PRAGMA integrity_check so that it does not raise an error if the schema contains a CREATE VIRTUAL TABLE that does not have its module loaded. (check-in: [5cb61c6788] user: drh branch: trunk, size: 80487) | |
2023-10-18
| ||
22:03 | [77d07bcec1] part of check-in [16f3805514] Make sure all terms of the ORDER BY within an aggregate go through aggregate analysis. Do not attach an aggregate ORDER BY to a window function. (check-in: [16f3805514] user: drh branch: agg-orderby, size: 80569) | |
13:58 | [ee4011c8ed] part of check-in [c83a53a574] Basic error checking. Resolve symbols in the aggregate ORDER BY expressions. (check-in: [c83a53a574] user: drh branch: agg-orderby, size: 80644) | |
2023-09-16
| ||
16:39 | [0c3046b889] part of check-in [6b6eb38979] Add a NEVER() to an unreachable branch. (check-in: [6b6eb38979] user: drh branch: nested-from-rowid-expansion, size: 80169) | |
14:42 | [2aaa1d5c69] part of check-in [1c202d540a] Further tests and assert() statements for the change on this branch. (check-in: [1c202d540a] user: dan branch: nested-from-rowid-expansion, size: 80162) | |
2023-09-15
| ||
20:57 | [1cbb3dacd4] part of check-in [bbcbd3d537] Fix resolution of unqualified "rowid" identifiers in queries with nested joins. (check-in: [bbcbd3d537] user: dan branch: nested-from-rowid-expansion, size: 79874) | |
18:36 | [f31aab54a4] part of check-in [59a1bbc69f] Allow expressions like "<tbl>.rowid" to refer to implicit rowid columns of tables in nested FROM clauses. (check-in: [59a1bbc69f] user: dan branch: nested-from-rowid-expansion, size: 79528) | |
2023-06-19
| ||
23:27 | [37953a5f36] part of check-in [73d86a12fb] Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr(). (check-in: [73d86a12fb] user: drh branch: trunk, size: 78794) | |
2023-06-07
| ||
08:40 | [c1457b920a] part of check-in [26c1bb4bd9] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4bd9] user: larrybr branch: spell-check, size: 78768) | |
2023-03-21
| ||
14:20 | [3e53e02ce8] part of check-in [badf7d0e3c] Add ALWAYS() on a branch this is always true now due to [84417bbd144b2197]. (check-in: [badf7d0e3c] user: drh branch: trunk, size: 78802) | |
2023-03-15
| ||
17:58 | [6a0253379c] part of check-in [73f0036f04] Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. Fix for the problem reported by forum post e61252062c9d286d. This fix is more restrictive than necessary. It could be relaxed if the subquery does not involve the table that is the subject of the DELETE. (check-in: [73f0036f04] user: drh branch: trunk, size: 78775) | |
2023-03-03
| ||
16:25 | [4233c30303] part of check-in [cc4bb05b36] When it is known when preparing a statement that X cannot be NULL or is always NULL, transform the expression (X IS NULL) to integer value 1 or 0 instead of 'true' or 'false'. This is because under some circumstances, "Y IS TRUE" or "Y IS FALSE" may not be equivalent to "Y IS 1" of "Y IS 0". This problem was introduced by [de9c86c9e4cdb34f] and was reported by forum post 2cd11c2d37. (check-in: [cc4bb05b36] user: dan branch: trunk, size: 78778) | |
2023-02-02
| ||
16:30 | [d62c566527] part of check-in [5c19491c36] Improved and simplified logic for resolving the various aliases of the schema table. (check-in: [5c19491c36] user: drh branch: trunk, size: 78917) | |
15:28 | [35b0d894c4] part of check-in [e7a0112b23] Resolve all possible aliases and variations of the schema table names. (check-in: [e7a0112b23] user: drh branch: trunk, size: 78924) | |
2023-01-13
| ||
19:29 | [5a98a7bf27] part of check-in [0819a1869a] In expression nodes of type REGISTER with sub-type COLUMN, ensure that the iColumn field is set correctly, as otherwise the "IS NULL" operator might be incorrectly optimized. Fix for the problem described by forum post d010a26798915b53. (check-in: [0819a1869a] user: drh branch: trunk, size: 77880) | |
2022-10-21
| ||
20:12 | [857836c954] part of check-in [5dd7858820] Begin transitioning the fixed-length (64-bit) bitmap used to keep track of the subset of columns of a table that are used by a query into a more general structure that can work with wide tables. Experimental. (check-in: [5dd7858820] user: drh branch: column-set, size: 77031) | |
2022-07-20
| ||
20:36 | [efea4e5fbe] part of check-in [22f90e9683] Make use of the sqlite3ExprDeferredDelete() interface in the previous check-in, and in another place where it might be helpful. (check-in: [22f90e9683] user: drh branch: trunk, size: 77843) | |
16:42 | [f0d663c9b1] part of check-in [e1f1cfe7f4] Simplify the logic that converts the "1" expression in "ORDER BY 1" into a copy of the expression that defines the first output column. Fix for CVE-2022-3034. Test case in TH3. (check-in: [e1f1cfe7f4] user: drh branch: trunk, size: 77897) | |
2022-07-06
| ||
23:50 | [84a8443e37] part of check-in [61e2094afb] Fix harmless compiler warnings seen with MSVC. (check-in: [61e2094afb] user: mistachkin branch: trunk, size: 78491) | |
2022-06-21
| ||
13:41 | [1655e44c77] part of check-in [9322a7c21f] Allow a HAVING clause on any aggregate query, even if there is no GROUP BY clause. This brings SQLite into closer agreement with PostgreSQL and fixes the concern raised by forum post 1a7fea4651. (check-in: [9322a7c21f] user: drh branch: trunk, size: 78486) | |
2022-05-13
| ||
14:52 | [a4eb3c6170] part of check-in [1ffea07ff9] Improved names for flags on the Expr object: EP_FromJoin becames EP_OuterON and EP_InnerJoin becomes EP_InnerON. (check-in: [1ffea07ff9] user: drh branch: trunk, size: 78469) | |
2022-05-02
| ||
20:49 | [e9ee235c41] part of check-in [5341d4bbe9] Organize the various flag bits of the ExprList_item object into a substructure so that the whole lot can be copied all at once. Faster and smaller code. (check-in: [5341d4bbe9] user: drh branch: right-join, size: 78470) | |
2022-04-22
| ||
23:18 | [b14bf8a4a1] part of check-in [c3a427575f] Add the ability to access the USING columns of the right or left tables of an OUTER JOIN even if the OUTER JOIN is in parentheses. Prototype code only. (check-in: [c3a427575f] user: drh branch: right-join-colnames, size: 78443) | |
2022-04-21
| ||
13:11 | [f72bb13359] part of check-in [cd8272fc2a] Avoid materializing columns of SF_NestedFrom subqueries that are never used. Other code improvements manually imported from the right-join-paren branch. (check-in: [cd8272fc2a] user: drh branch: right-join, size: 78394) | |
12:11 | [1f834b1a66] part of check-in [6b326b3bcf] Further attempts to get name resolution to work correctly with parenthisized FROM clauses. Work-in-progress. Lots of crashes and wrong answers. (check-in: [6b326b3bcf] user: drh branch: right-join-paren, size: 78713) | |
01:49 | [3cab62f59a] part of check-in [959b718214] Attempting to improve name resolution for parenthesized FROM clauses. Only partially working. (check-in: [959b718214] user: drh branch: right-join-paren, size: 78708) | |
2022-04-20
| ||
21:58 | [05cc45c50c] part of check-in [07906e3c4f] Try to avoid materializing unused columns when processing a parenthesized FROM clause. (check-in: [07906e3c4f] user: drh branch: right-join-paren, size: 78429) | |
16:53 | [4039e3d89a] part of check-in [ed46527aca] Remove an unnecessary assignment operation. (check-in: [ed46527aca] user: drh branch: right-join, size: 78227) | |
15:07 | [0d0bfa186b] part of check-in [0da2232624] Improved tracking of nested SELECT objects used to implement parenthensized FROM terms. (check-in: [0da2232624] user: drh branch: right-join, size: 78284) | |
12:02 | [a5ded9df59] part of check-in [22fa9b9b45] Add a new comment to the body of lookupName(). No code changes. (check-in: [22fa9b9b45] user: drh branch: right-join, size: 78039) | |
2022-04-19
| ||
09:39 | [a3d5896702] part of check-in [5bc9aa68e2] Remove unnecessary cases for the resolver. (check-in: [5bc9aa68e2] user: drh branch: right-join, size: 77685) | |
2022-04-18
| ||
00:57 | [ce4cb0889f] part of check-in [584bd55e20] Fix to the coalesce() function generation in the resolver. (check-in: [584bd55e20] user: drh branch: right-join, size: 77497) | |
2022-04-17
| ||
23:46 | [c6591eb339] part of check-in [20388548d8] Fix to the logic that computes coalesc() functions to resolve USING terms. (check-in: [20388548d8] user: drh branch: right-join, size: 77556) | |
18:46 | [d38fc50ba8] part of check-in [9fd3f22e22] Further improvements to USING() processing for RIGHT and FULL JOINs. All currently known issues are now resolved. Performace is improved. (check-in: [9fd3f22e22] user: drh branch: right-join, size: 77539) | |
2022-04-16
| ||
13:55 | [58b5c54b7e] part of check-in [4c3ce6475a] New test cases. One of the new test cases shows a flaw in the base design of RIGHT JOIN. (check-in: [4c3ce6475a] user: drh branch: right-join, size: 77904) | |
12:40 | [ed18f81f42] part of check-in [5bfb862419] RIGHT JOIN USING now appears to work the same as PG-14. Legacy tests pass. (check-in: [5bfb862419] user: drh branch: right-join, size: 77861) | |
2022-04-15
| ||
19:49 | [ecd1623bf1] part of check-in [b8e7176639] Avoid deleting substructure of the Expr node in lookupName() until after the error message is generated. (check-in: [b8e7176639] user: drh branch: right-join-using, size: 77288) | |
19:27 | [7ed7a87114] part of check-in [fed2646ade] Progress toward a working USING for FULL JOIN. (check-in: [fed2646ade] user: drh branch: right-join-using, size: 77318) | |
17:08 | [2d0f29eadb] part of check-in [8378e1e0d2] The sqlite3ProcessJoin() routine converts a NATURAL JOIN into a JOIN USING so that henceforth the NATURAL keyword can be ignored. (check-in: [8378e1e0d2] user: drh branch: right-join, size: 74509) | |
2022-04-08
| ||
19:20 | [7110fc3b5a] part of check-in [415abd6731] Preliminary code to support RIGHT JOIN. Everything seems to work, except that the code to compute the unmatched rows for the RIGHT JOIN has not yet been added, so the result of a RIGHT JOIN is currently the same as an INNER JOIN. (check-in: [415abd6731] user: drh branch: right-join, size: 74571) | |
2022-04-07
| ||
01:11 | [18d99e7146] part of check-in [158156a3e3] Improved technique for parsing the ON and USING clauses of a join is faster and uses less memory. (check-in: [158156a3e3] user: drh branch: trunk, size: 74660) | |
2022-02-06
| ||
00:30 | [ea935b87d6] part of check-in [fa34676042] Further improvements to localization of errors in input SQL. (check-in: [fa34676042] user: drh branch: trunk, size: 74579) | |
2022-02-05
| ||
23:11 | [868a88d47b] part of check-in [5b8d257790] Enhance sqlite3_error_offset() to report the position of unresolved identifiers. (check-in: [5b8d257790] user: drh branch: trunk, size: 74370) | |
2022-02-03
| ||
18:14 | [0dd8e23fda] part of check-in [f9b763042c] Minor typo fix in comment. No code changes. (check-in: [f9b763042c] user: drh branch: trunk, size: 74315) | |
2022-01-24
| ||
16:47 | [24032ae57a] part of check-in [1f7fa46126] Remove many redundant checks for sqlite3.mallocFailed now that any OOM should cause Parse.nErr to be non-zero. (check-in: [1f7fa46126] user: drh branch: trunk, size: 74316) | |
2021-12-29
| ||
04:31 | [359bc0e445] part of check-in [4711fb6954] Ensure that the affinity of columns is honored in the RETURNING clause. See forum post e0c7574ab2 for the bug report. (check-in: [4711fb6954] user: drh branch: trunk, size: 74289) | |
2021-12-24
| ||
13:30 | [6144db6515] part of check-in [8af8c153f8] Raise an error if a schema name is attached to the table-alias name of a subquery or view. See forum post 021a33600b for the bug report. (check-in: [8af8c153f8] user: drh branch: trunk, size: 74251) | |
2021-11-08
| ||
23:24 | [4a1db4aadd] part of check-in [74aec5dd1d] Refactor the code that figures out which SELECT in a cascade of nested queries a particular aggregate function belongs to. This fixes the problem reported by forum post c7cc2aa3546e39c1. New test cases in dbsqlfuzz and th3. (check-in: [74aec5dd1d] user: drh branch: trunk, size: 74189) | |
2021-10-07
| ||
20:46 | [ae65c88f5d] part of check-in [87e2f5eb43] Protect access to the Expr.y union using nearby assert()s and branches. (check-in: [87e2f5eb43] user: drh branch: trunk, size: 74090) | |
17:43 | [7f8954f49d] part of check-in [8eaa1d4a98] Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: [8eaa1d4a98] user: drh branch: trunk, size: 73774) | |
13:40 | [efbb58ab3b] part of check-in [9af863f065] Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: [9af863f065] user: drh branch: trunk, size: 73696) | |
2021-09-24
| ||
19:57 | [b9e60afa56] part of check-in [857d26a68c] Dbsqlfuzz (a097eaad43c3c845b236126df92fb49b25449b0c) found a way to reach the assert() that was added to sqlite3_declare_vtab() by [eb94f4a8174436b1]. This check-in fixes the problem. (check-in: [857d26a68c] user: drh branch: trunk, size: 73235) | |
2021-08-02
| ||
18:03 | [42b94d37a5] part of check-in [8b781dcaf6] Refactor field names in the Column object, zCnName and zCnColl, to make them unique and thus easier to find amid all the other code. (check-in: [8b781dcaf6] user: drh branch: trunk, size: 73236) | |
2021-07-22
| ||
16:07 | [047a822844] part of check-in [1f67960440] One of the optimizations of check-in [de9c86c9e4cdb34f] does not work for terms originating in the ON/USING clause, as demonstrated by forum post 6cf3bb457c3f4685. This check-in disables that optimization for ON/USING terms. Also improve the TreeView display for the resulting "true"/"false" nodes to show that they originate from the ON/USING clause. Add a testcase() to the other optimization to show that it can still be used for ON/USING terms. (check-in: [1f67960440] user: drh branch: trunk, size: 73190) | |
2021-07-16
| ||
20:16 | [ea205123fb] part of check-in [6854b5919b] Minor comment improvements. (check-in: [6854b5919b] user: drh branch: omit-subquery-order-by, size: 73133) | |
2021-07-15
| ||
19:29 | [9b54a60702] part of check-in [ef97c3e7c3] Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BY clauses do not affect the output. See forum thread 2d76f2bcf65d256a for discussion. This can help the query flattener in some cases, resulting in faster query plans. The current implemention does not always work. (check-in: [ef97c3e7c3] user: drh branch: omit-subquery-order-by, size: 73114) | |
2021-07-02
| ||
12:25 | [b379c5ffe3] part of check-in [55e2fbebb0] Put ALWAYS() on a branch that is always true due to [d4097364c511709b]. Fix a testcase precondition associated with the same check-in. (check-in: [55e2fbebb0] user: drh branch: trunk, size: 72741) | |
12:08 | [628bf06ebf] part of check-in [79443aabe1] Fix a harmless assertion fault discovered by OSSFuzz. The assertion fault is harmless because the assert() checks a condition that that is harmless if false and the assert() is disabled in production builds. (check-in: [79443aabe1] user: drh branch: trunk, size: 72733) | |
2021-07-01
| ||
18:19 | [73c7177a20] part of check-in [d4097364c5] Allow unqualified "rowid" references to be used in join queries, provided that only one of the source objects has a rowid. Forum post ab5b077c32636e49 (check-in: [d4097364c5] user: dan branch: trunk, size: 72717) | |
2021-06-01
| ||
15:37 | [35630effd4] part of check-in [587a304446] Fix a problem with running ALTER TABLE against schemas that contain compound SELECT statements with ORDER BY clauses containing one or more references to the second or subsequent component SELECT statements. This fixes the problem reported by forum post 31ceaa8461. (check-in: [587a304446] user: dan branch: trunk, size: 72682) | |
2021-05-17
| ||
16:20 | [40e216d9a7] part of check-in [4c6cd54a8d] Fix problems with refering to CTEs from within sub-selects in PARTITION BY or ORDER BY clauses of window frame definitions. Also a problem with renaming a column when the schema contains a trigger containing a correlated sub-select within a window frames PARTITION BY or ORDER BY clause. (check-in: [4c6cd54a8d] user: dan branch: trunk, size: 72862) | |
2021-04-26
| ||
21:00 | [c38bbb89d7] part of check-in [63c50fbdee] Add ALWAYS() to branches that are no longer reachable due to recent enhancements. (check-in: [63c50fbdee] user: drh branch: trunk, size: 72862) | |
15:28 | [91d9763a72] part of check-in [e99faf4f82] More aggressive detection of OOM errors in resolveAlias(). dbsqlfuzz 7f96832c2ef7ee472022ed805b064e55e41094b2 (check-in: [e99faf4f82] user: drh branch: trunk, size: 72903) | |
2021-04-16
| ||
22:53 | [e299d53c40] part of check-in [ab83a99899] Performance optimizations in the code generator, especially in name resolution. (check-in: [ab83a99899] user: drh branch: trunk, size: 72838) | |
2021-04-12
| ||
17:34 | [059d183511] part of check-in [f455c5b0bd] Add an assert() to show that the SF_Resolved flag does not get set if errors are being suppressed. (check-in: [f455c5b0bd] user: drh branch: trunk, size: 72882) | |
16:59 | [9050354211] part of check-in [5ba15ebb34] Fix a segfault that could occur if the ORDER BY clause of a compound SELECT contains a sub-select that uses one or more window functions. (check-in: [5ba15ebb34] user: dan branch: trunk, size: 72800) | |
2021-04-10
| ||
13:37 | [d4b0dd7994] part of check-in [7d67497074] Refactor NameContext.nErr into nNcErr to avoid confusion with Parse.nErr. Do not abandon sqlite3ResolveExprList() on nNcErr if nErr is still zero as we might have hit a problem with ORDER BY resolution that should be a suppressed error. dbsqlfuzz 41b9dad40919d3549ca7e52d893da81a6dded4ad (check-in: [7d67497074] user: drh branch: trunk, size: 72753) | |
2021-04-01
| ||
11:30 | [fec151c9c3] part of check-in [8541c71b35] When resolving names in the RETURNING clause, do not accept trigger names even within subquires. (check-in: [8541c71b35] user: drh branch: branch-3.35, size: 73073) | |
2021-03-31
| ||
23:56 | [fc136d935f] part of check-in [fd4ea3f626] When resolving names in the RETURNING clause, do not accept trigger names even within subquires. See forum post 34c81d83c9177f46 for context. (check-in: [fd4ea3f626] user: drh branch: trunk, size: 72746) | |
17:49 | [317086e685] part of check-in [3b916924ce] When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. (check-in: [3b916924ce] user: drh branch: branch-3.35, size: 73050) | |
17:42 | [1b8a9278f3] part of check-in [51d5c50b2f] When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier. Raise an error instead. See forum post 85aef8bc01 for context. (check-in: [51d5c50b2f] user: drh branch: trunk, size: 72723) | |
2021-03-14
| ||
19:55 | [dd47248c2c] part of check-in [a2adae907a] An alternative approach for fixing ticket [1c24a659e6d7f3a1]. (check-in: [a2adae907a] user: drh branch: tkt-1c24a659-b, size: 72955) | |
01:40 | [1b17a8d29a] part of check-in [7c8aa38125] Never allow a double-quoted identifier that appears by itself in the argument list of an index to be interpreted as a string literal. Proposed fix for ticket [1c24a659e6d7f3a1]. (check-in: [7c8aa38125] user: drh branch: tkt-1c24a659, size: 72646) | |
2021-03-09
| ||
19:52 | [d95db73d3e] part of check-in [a85d722939] Improved comments on the NOT NULL strength reduction optimization. (check-in: [a85d722939] user: drh branch: trunk, size: 72628) | |
2021-03-05
| ||
15:29 | [688070848f] part of check-in [f0ef5c76ab] Fix another problem with RETURNING clauses in UPDATEs against tables with virtual columns. (check-in: [f0ef5c76ab] user: dan branch: returning-fix, size: 72636) | |
15:10 | [dcf55511b1] part of check-in [551260c862] Fix an assert() failure that could be triggered by a correlated sub-query in a RETURNING clause. (check-in: [551260c862] user: dan branch: returning-fix, size: 72616) | |
2021-03-04
| ||
18:34 | [da978d6fdf] part of check-in [8a1bb9c3e9] Put ALWAYS() on a branch that is now always true because of changes in OOM behavior due to check-in [9adf6e2469d18bc3]. (check-in: [8a1bb9c3e9] user: drh branch: trunk, size: 72594) | |
16:10 | [022aeaa3f3] part of check-in [9adf6e2469] Fix a segfault that could occur following an OOM condition. (check-in: [9adf6e2469] user: dan branch: trunk, size: 72586) | |
2021-03-03
| ||
11:00 | [889469e698] part of check-in [d2630ffafa] Fix a problem with using ALTER TABLE commands on database schemas that contain expressions of the form "<expr> NOT NULL" or "<expr> IS NULL" that can be evaluated at prepare time. (check-in: [d2630ffafa] user: dan branch: trunk, size: 72536) | |
2021-03-01
| ||
21:43 | [14fa255fdd] part of check-in [9400bdc602] Add #ifndef macros so that the build works again with -DSQLITE_OMIT_AUTHORIZATION and -DSQLITE_OMIT_WINDOWFUNC. (check-in: [9400bdc602] user: drh branch: trunk, size: 72515) | |
2021-02-26
| ||
20:14 | [2272b62c9f] part of check-in [5ecd842555] Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint. (check-in: [5ecd842555] user: dan branch: ifnull-opt, size: 72474) | |
15:20 | [f3380c5570] part of check-in [310dac342e] Minor simplification in resolve.c. (check-in: [310dac342e] user: dan branch: trunk, size: 71083) | |
2021-02-21
| ||
21:04 | [c263fa5b25] part of check-in [bfd5bf2c73] Rename the "struct SrcList_item" object to the more succinct "SrcItem". This is a symbolic change only. The logic is unmodified. (check-in: [bfd5bf2c73] user: drh branch: trunk, size: 71171) | |
2021-02-18
| ||
00:59 | [52f81603cc] part of check-in [1aafb94d4e] Performance optimization in the resolver. (check-in: [1aafb94d4e] user: drh branch: trunk, size: 71219) | |
00:26 | [065d8ab56a] part of check-in [16ac213c57] Performance optimization in the code generator for INSERT for the common case where the target table has neither generated nor hidden columns. Also fix a redundant (and thus unreachable) branch in the resolver. (check-in: [16ac213c57] user: drh branch: trunk, size: 71151) | |
2021-02-16
| ||
20:32 | [172d0f27c0] part of check-in [00bead3931] Simplification to the resolveAlias() routine. (check-in: [00bead3931] user: drh branch: trunk, size: 71167) | |
2021-02-08
| ||
15:56 | [89e4faf617] part of check-in [b43cfa0492] Correctly detect correlated subqueries when resolving names in RETURNING clauses. (check-in: [b43cfa0492] user: drh branch: trunk, size: 71257) | |
13:41 | [3d77986c0b] part of check-in [799d205bfa] Improved name resolution for references to a table begin modified from within a subquery in the RETURNING clause. (check-in: [799d205bfa] user: drh branch: trunk, size: 71443) | |
2021-02-06
| ||
14:37 | [d0a77f1061] part of check-in [864772ffec] Fix the OSSFuzz-discovered shift problem from two days ago. This patch was omitted from [078dbff04a95a001] apparently because I made the edit to "sqlite3.c" rather than "resolve.c" where it belongs. (check-in: [864772ffec] user: drh branch: trunk, size: 71135) | |
2021-02-05
| ||
17:34 | [d94f65ad82] part of check-in [078dbff04a] Remove unreachable code. Fix a shift UB problem introduced yesterday and discovered by OSSFuzz. (check-in: [078dbff04a] user: drh branch: trunk, size: 71110) | |
2021-02-04
| ||
20:52 | [397c3e889f] part of check-in [8a65fbeecf] Snapshot. New design appears to work on a simple test case. (check-in: [8a65fbeecf] user: drh branch: returning-manifested, size: 71211) | |
2021-01-30
| ||
16:16 | [f6761473ea] part of check-in [6bb6de42b6] Add an ALWAYS() to an unreachable branch. (check-in: [6bb6de42b6] user: drh branch: returning, size: 70912) | |
2021-01-29
| ||
19:32 | [b714e6f9f3] part of check-in [b7ef4dc21f] Working prototype. (check-in: [b7ef4dc21f] user: drh branch: returning, size: 70904) | |
2020-11-08
| ||
20:44 | [1948a92ca9] part of check-in [76d2eb86e1] Use NEVER and ALWAYS macros to confirm that the return value from sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases. (check-in: [76d2eb86e1] user: drh branch: trunk, size: 70772) | |
2020-08-24
| ||
10:52 | [97b91fb25d] part of check-in [493a25949b] Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472]. (check-in: [493a25949b] user: dan branch: trunk, size: 70703) | |
2020-08-10
| ||
14:18 | [d74715acee] part of check-in [9d670a3183] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a3183] user: drh branch: trunk, size: 70673) | |
2020-07-29
| ||
16:18 | [974acbf939] part of check-in [a80ae2c98b] 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: [a80ae2c98b] user: drh branch: typos, size: 70649) | |
2020-07-15
| ||
18:30 | [2dd6821aac] part of check-in [13224cbd75] 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: [13224cbd75] user: dan branch: update-from, size: 70650) | |
2020-07-13
| ||
20:10 | [04f4710d3a] part of check-in [47c87af3e5] Add test cases and fixes for UPDATE...FROM statements that modify primary key columns. (check-in: [47c87af3e5] user: dan branch: update-from, size: 70719) | |
18:04 | [dcc9a5cbd7] part of check-in [5ee3c27e20] Merge latest trunk changes with this branch. (check-in: [5ee3c27e20] user: dan branch: update-from, size: 70847) | |
2020-06-29
| ||
20:26 | [79cee37182] part of check-in [fa9d93cf32] Fix generated columns so that they play well with upsert. See the forum post by "iffycan" for details. (check-in: [fa9d93cf32] user: drh branch: trunk, size: 70847) | |
20:20 | [a74360811b] part of check-in [e96c2ac9ab] Change the magic number used to identify the "excluded" pseudo-table in an UPSERT statement into a #define constant. (check-in: [e96c2ac9ab] user: drh branch: trunk, size: 70795) | |
2020-06-06
| ||
20:48 | [1b0c7fc302] part of check-in [05418b2a4a] Merge multiple changes from trunk to address concerns with window-function parse-tree rewriting. (check-in: [05418b2a4a] user: drh branch: branch-3.32-early-winfunc-rewrite, size: 71161) | |
14:44 | [e074c76c7a] part of check-in [2cddb24e91] 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: [2cddb24e91] user: drh branch: early-winfunc-rewrite-dev, size: 71419) | |
14:29 | [9150413004] part of check-in [c96914ea02] 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: [c96914ea02] user: dan branch: early-winfunc-rewrite-dev, size: 71420) | |
2020-06-05
| ||
21:36 | [29a6737f95] part of check-in [7e8060cf96] Improved tracing of window function parse tree rewrites. (check-in: [7e8060cf96] user: drh branch: early-winfunc-rewrite-dev, size: 71200) | |
14:25 | [66f149f309] part of check-in [13ffedab9b] ALWAYS() and NEVER() macros added due to unreachable branches arising from the previous check-in. (check-in: [13ffedab9b] user: drh branch: early-winfunc-rewrite, size: 70942) | |
14:10 | [ab7add324c] part of check-in [fe702aa08c] 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: [fe702aa08c] user: drh branch: early-winfunc-rewrite, size: 70932) | |
2020-05-24
| ||
03:38 | [c2008519a0] part of check-in [ad7bb70af9] 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: [ad7bb70af9] user: drh branch: trunk, size: 70642) | |
2020-04-29
| ||
20:11 | [05471a1835] part of check-in [b717dc3c5f] Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement. (check-in: [b717dc3c5f] user: dan branch: update-from, size: 70570) | |
2020-04-06
| ||
20:35 | [d36a2b1639] part of check-in [7e170e67f2] Performance improvement in sqlite3ResolveExprNameList(). (check-in: [7e170e67f2] user: drh branch: trunk, size: 70570) | |
18:16 | [4071f25768] part of check-in [1e4b6a9398] Performance improvement for column name lookup. (check-in: [1e4b6a9398] user: drh branch: trunk, size: 69478) | |
2020-04-04
| ||
11:58 | [bbaa078ea3] part of check-in [921448f0e2] Remove a NEVER() that could be true in sqlite3MatchEName(). (check-in: [921448f0e2] user: drh branch: trunk, size: 69340) | |
2020-04-03
| ||
13:39 | [534927e6f4] part of check-in [b64674919f] 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: [b64674919f] user: drh branch: branch-3.31, size: 68945) | |
11:52 | [5c3b3b18e0] part of check-in [684293882c] 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: [684293882c] user: dan branch: trunk, size: 69347) | |
2020-03-21
| ||
23:10 | [903a70c48d] part of check-in [5d14a1c4f2] Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: [5d14a1c4f2] user: drh branch: trunk, size: 69321) | |
15:10 | [0529815271] part of check-in [a85c63daa6] Consolidate some code on this branch. (check-in: [a85c63daa6] user: dan branch: main-alias-fix, size: 69188) | |
2020-03-20
| ||
20:54 | [fb21c09355] part of check-in [75c85ca32f] 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: [75c85ca32f] user: dan branch: main-alias-fix, size: 69220) | |
2020-03-19
| ||
21:17 | [ad43b2ed4b] part of check-in [3cf7537b5e] Initial code for a proposed new sqlite3_stmt_mode() API. This is an incomplete snapshot of a work-in-progress. (check-in: [3cf7537b5e] user: drh branch: sqlite3_stmt_mode, size: 68947) | |
2020-02-19
| ||
15:39 | [38e3a5636f] part of check-in [5aeb5a2d29] Fix a potential NULL pointer dereference following OOM. Problem discovered by dbsqlfuzz. Test case in TH3. (check-in: [5aeb5a2d29] user: drh branch: trunk, size: 68929) | |
2020-01-18
| ||
21:34 | [f0781c9e18] part of check-in [8c8ce526ad] 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: [8c8ce526ad] user: drh branch: trunk, size: 68919) | |
2020-01-09
| ||
01:20 | [1139e3157c] part of check-in [8878c40753] Fix a problem that restricted edgy functions in TEMP tables. New test cases added. (check-in: [8878c40753] user: drh branch: new-security-options, size: 68679) | |
2020-01-08
| ||
20:37 | [06abaef627] part of check-in [30882ca80f] Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON" (check-in: [30882ca80f] user: drh branch: new-security-options, size: 68482) | |
17:28 | [5200d014fa] part of check-in [1da802d54b] 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: [1da802d54b] user: drh branch: new-security-options, size: 68294) | |
2020-01-07
| ||
16:09 | [894397f372] part of check-in [f5fcf1fbc6] Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA. (check-in: [f5fcf1fbc6] user: drh branch: new-security-options, size: 68921) | |
2020-01-06
| ||
15:25 | [f35aa580fd] part of check-in [411e8ec221] Refactor names of flags for improved legibility. (check-in: [411e8ec221] user: drh branch: new-security-options, size: 68920) | |
2020-01-04
| ||
20:58 | [d368864894] part of check-in [65d7d39a85] Refactor the names of the new controls for restricting what actions the schema can take behind the application's back. (check-in: [65d7d39a85] user: drh branch: new-security-options, size: 68848) | |
2020-01-03
| ||
21:57 | [c15dbf93b0] part of check-in [1c266cb3be] 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: [1c266cb3be] user: drh branch: new-security-options, size: 68848) | |
20:57 | [70eda312d1] part of check-in [9ee79b254e] When UNSAFE_IN_VIEW is disabled, only allow functions in views that are tagged with SQLITE_INNOCUOUS. (check-in: [9ee79b254e] user: drh branch: new-security-options, size: 68804) | |
15:22 | [3868d75d4b] part of check-in [002406df22] Merge fixes from trunk. (check-in: [002406df22] user: drh branch: new-security-options, size: 68922) | |
14:27 | [31dc208370] part of check-in [9d79111642] 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: [9d79111642] user: dan branch: trunk, size: 68471) | |
2020-01-02
| ||
23:50 | [241c32d6be] part of check-in [091403a670] Merge enhancements from trunk. (check-in: [091403a670] user: drh branch: new-security-options, size: 68995) | |
22:23 | [938295261d] part of check-in [34b877742e] NEVER() and ALWAYS() macros tagging unreachable branches. (check-in: [34b877742e] user: drh branch: two-size-lookaside, size: 68544) | |
21:41 | [6cc3ce3d67] part of check-in [bd57e6d923] Merge the latest enhancements from trunk. (check-in: [bd57e6d923] user: drh branch: two-size-lookaside, size: 68547) | |
2020-01-01
| ||
15:43 | [17c74d7c18] part of check-in [473892a8ec] 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: [473892a8ec] user: drh branch: trunk, size: 68309) | |
2019-12-31
| ||
22:52 | [8513df170f] part of check-in [96a2db2612] Experimental branch with new sqlite3_db_config() options that could possible enhance security for applications reading potentially compromised database files. (check-in: [96a2db2612] user: drh branch: new-security-options, size: 68748) | |
14:49 | [a76b7ac984] part of check-in [39d5557937] Merge recent enhancements from trunk. (check-in: [39d5557937] user: drh branch: two-size-lookaside, size: 68535) | |
2019-12-27
| ||
19:46 | [e231da7dd3] part of check-in [e3b5fc05c0] Fix a problem involving window function aliases being referenced from sub-selects. (check-in: [e3b5fc05c0] user: dan branch: trunk, size: 68297) | |
2019-12-13
| ||
12:14 | [da68e9e68e] part of check-in [9c471195f6] Merge fixes from trunk. (check-in: [9c471195f6] user: drh branch: two-size-lookaside, size: 68496) | |
11:42 | [86a7773d28] part of check-in [c1014e80b2] Ensure that there is a containing SELECT statement when processing a normal aggregate function as if it were a window function. (check-in: [c1014e80b2] user: drh branch: trunk, size: 68258) | |
00:49 | [347c0624f8] part of check-in [59d0f3afe5] Tie up the loose ends in the ExprList size reduction. (check-in: [59d0f3afe5] user: drh branch: exprlist-size-reduction, size: 68485) | |
2019-12-12
| ||
22:11 | [fc7bed8f23] part of check-in [fdda76cfb0] 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: [fdda76cfb0] user: drh branch: exprlist-size-reduction, size: 68250) | |
20:22 | [d703803412] part of check-in [d3783357f8] 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: [d3783357f8] user: drh branch: two-size-lookaside, size: 68249) | |
15:19 | [acc54d97e7] part of check-in [c6af9f655b] 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: [c6af9f655b] user: drh branch: trunk, size: 68247) | |
2019-12-09
| ||
19:44 | [2a1218137b] part of check-in [f065cf003b] Rename a local variable to avoid masking a function parameter and thus causing a harmless compiler warning. (check-in: [f065cf003b] user: drh branch: trunk, size: 67079) | |
18:22 | [5b36f3e518] part of check-in [ed28aaa485] The previous check-in was not quite correct, and introduced a new problem with the USING clause. Use this version instead. (check-in: [ed28aaa485] user: drh branch: trunk, size: 67073) | |
17:14 | [32b5adb26c] part of check-in [1923efb283] 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: [1923efb283] user: drh branch: trunk, size: 67273) | |
2019-12-08
| ||
00:06 | [618bf4f57f] part of check-in [9d75e1ccc7] Fix incorrect column-usage accounting associated with generated columns and added by check-in [6601da58032d18ae]. Fix for ticket [b92e5e8ec2cdbaa1]. (check-in: [9d75e1ccc7] user: drh branch: trunk, size: 66851) | |
2019-11-22
| ||
11:49 | [2f8fb48e61] part of check-in [34343c4b06] Fix a harmless compiler warning. (check-in: [34343c4b06] user: drh branch: trunk, size: 66762) | |
2019-11-21
| ||
19:37 | [023397b50d] part of check-in [6601da5803] Whenever a generated column is used, assume that all columns are used. (check-in: [6601da5803] user: drh branch: trunk, size: 66756) | |
2019-10-30
| ||
18:50 | [cf2391c93d] part of check-in [2978b65ebe] 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: [2978b65ebe] user: drh branch: trunk, size: 66051) | |
2019-10-23
| ||
15:47 | [9d6a3bdca1] part of check-in [3006571687] Minor adjustments for clarity and test coverage. (check-in: [3006571687] user: drh branch: generated-columns, size: 65652) | |
2019-10-16
| ||
12:18 | [2160146697] part of check-in [11d472c1df] Initial experimental code for generated column support. Non-functional. (check-in: [11d472c1df] user: drh branch: generated-columns, size: 65662) | |
2019-09-26
| ||
16:08 | [e021be0c1c] part of check-in [322eca7f6a] Test for an OOM condition in resolveAlias(). (check-in: [322eca7f6a] user: drh branch: trunk, size: 65380) | |
15:53 | [458fb2b024] part of check-in [1cc6cf6407] 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: [1cc6cf6407] user: dan branch: trunk, size: 65291) | |
2019-08-22
| ||
16:38 | [9891cf5fd1] part of check-in [44578865fa] Fix the likely(), unlikely(), and likelihood() functions so that they have no affinity, just like any other function. Ticket [7e07a3dbf5a8cd26] (check-in: [44578865fa] user: drh branch: trunk, size: 65202) | |
2019-08-15
| ||
20:04 | [b2733d39a2] part of check-in [fc745845d8] Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits the use of those functions within triggers or views. (check-in: [fc745845d8] user: drh branch: directonly, size: 65175) | |
13:53 | [14ae3326af] part of check-in [4f5b2d9381] Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [256741a1]. (check-in: [4f5b2d9381] user: dan branch: trunk, size: 64789) | |
2019-08-08
| ||
19:40 | [d49679d55d] part of check-in [1eef4ddea9] Fix harmless compiler warnings. (check-in: [1eef4ddea9] user: drh branch: trunk, size: 65077) | |
18:49 | [bf7cbb8e9d] part of check-in [83450d1070] Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed in the [a29f2a7d07beff64] check-in. (check-in: [83450d1070] user: drh branch: trunk, size: 65048) | |
2019-08-05
| ||
19:34 | [38bce6ee2b] part of check-in [470ac8d50c] 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: [470ac8d50c] user: drh branch: tkt-61c853-B, size: 65425) | |
18:01 | [3ed5a3de18] part of check-in [a29f2a7d07] 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: [a29f2a7d07] user: drh branch: trunk, size: 65049) | |
13:19 | [1db9e08a91] part of check-in [2ac0e42f8a] 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: [2ac0e42f8a] user: dan branch: trunk, size: 65051) | |
2019-08-01
| ||
10:58 | [6d57cfcb72] part of check-in [8168021f9a] Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false". (check-in: [8168021f9a] user: dan branch: trunk, size: 65023) | |
2019-07-22
| ||
19:01 | [edf2946317] part of check-in [e46b2afc99] Consolidate the removal of Window objects from the Select.pWin list into a single subroutine. (check-in: [e46b2afc99] user: drh branch: trunk, size: 65003) | |
16:33 | [63f353113a] part of check-in [fd7316cda0] 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: [fd7316cda0] user: dan branch: trunk, size: 65120) | |
16:20 | [b65e59bb9a] part of check-in [d23f331682] Remove Window objects from the corresponding Select.pWin list when they are deleted. (check-in: [d23f331682] user: dan branch: winfunc-in-orderby, size: 65090) | |
11:38 | [844e5d127f] part of check-in [bd37ce3fb8] Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause. (check-in: [bd37ce3fb8] user: dan branch: trunk, size: 64856) | |
2019-07-20
| ||
21:12 | [78066ab31d] part of check-in [23b119671f] 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: [23b119671f] user: drh branch: winfunc-in-orderby, size: 65415) | |
2019-07-19
| ||
14:32 | [df149546fa] part of check-in [ff290feb97] Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered. (check-in: [ff290feb97] user: dan branch: trunk, size: 64826) | |
2019-07-13
| ||
17:45 | [17d61645b0] part of check-in [871796bb19] Fix error handling for the case where a window function is passed the wrong number of arguments. (check-in: [871796bb19] user: dan branch: trunk, size: 64737) | |
16:22 | [6d96d5c1cf] part of check-in [5dac8c38df] Rework the FILTER clause implementation to share more code with window functions. (check-in: [5dac8c38df] user: dan branch: filter-clause, size: 64739) | |
2019-07-10
| ||
20:16 | [138c9e9d88] part of check-in [bcc8b38ac7] Minor performance improvement in sqlite3ExprDeleteNN(). (check-in: [bcc8b38ac7] user: dan branch: filter-clause, size: 64677) | |
2019-07-08
| ||
12:44 | [24fab1875d] part of check-in [b0629132bc] Comment improvements. No changes to code. (check-in: [b0629132bc] user: drh branch: tkt9b78184b-alt, size: 64446) | |
2019-07-03
| ||
18:31 | [3c0dc44956] part of check-in [28aa1702f7] Add tests for the FILTER clause. And a bugfix. (check-in: [28aa1702f7] user: dan branch: filter-clause, size: 64663) | |
2019-07-02
| ||
11:56 | [65514625b6] part of check-in [1f1ae2d6ac] Experimental implementation of FILTER clause for aggregate functions. (check-in: [1f1ae2d6ac] user: dan branch: filter-clause, size: 64662) | |
2019-06-17
| ||
13:56 | [93b7bc7c45] part of check-in [923cfd53fc] Improved interface to double-quoted string literal enabling/disabling. (check-in: [923cfd53fc] user: drh branch: new-dbconfig-options, size: 64313) | |
2019-06-14
| ||
21:25 | [8fd2fca510] part of check-in [1fad20925e] Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS. (check-in: [1fad20925e] user: drh branch: new-dbconfig-options, size: 64007) | |
2019-06-12
| ||
13:49 | [f71303e720] part of check-in [5c6146b56a] Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [4d01eda8115b10d1]. (check-in: [5c6146b56a] user: dan branch: trunk, size: 63852) | |
2019-06-11
| ||
21:02 | [38228d41d6] part of check-in [614ecb0af4] The affinity of the unlikely() function and its cousins should be "none". Ticket [0c620df60bffd9ef] (check-in: [614ecb0af4] user: drh branch: trunk, size: 63830) | |
2019-05-20
| ||
18:35 | [bae0a7562d] part of check-in [3e1b55f3ab] 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: [3e1b55f3ab] user: drh branch: trunk, size: 63838) | |
17:14 | [0b046cc3d4] part of check-in [1685610ef8] 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: [1685610ef8] user: dan branch: trunk, size: 63846) | |
2019-04-29
| ||
11:27 | [408632d953] part of check-in [c621fc668c] 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: [c621fc668c] user: dan branch: trunk, size: 63683) | |
2019-03-29
| ||
01:15 | [567888ee3f] part of check-in [965cbcea11] Recover a some of the performance lost by window function alias fix two check-ins back. (check-in: [965cbcea11] user: drh branch: trunk, size: 63632) | |
2019-03-28
| ||
16:15 | [f201b8f9fb] part of check-in [1e16d3e8fc] Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. (check-in: [1e16d3e8fc] user: dan branch: trunk, size: 63573) | |
2019-03-22
| ||
13:56 | [f20cb5b953] part of check-in [9aca86f983] 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: [9aca86f983] user: dan branch: window-functions, size: 62986) | |
2019-02-25
| ||
15:55 | [dd7550ed05] part of check-in [a21ffcd817] 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: [a21ffcd817] user: drh branch: branch-3.27, size: 62901) | |
2019-02-22
| ||
19:24 | [09419ad5c4] part of check-in [579b66eaa0] 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: [579b66eaa0] user: dan branch: trunk, size: 62939) | |
2019-02-11
| ||
11:34 | [1588690ee4] part of check-in [8824115a97] Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds. (check-in: [8824115a97] user: dan branch: trunk, size: 62366) | |
2019-01-23
| ||
19:50 | [c8f2072474] part of check-in [2ca6b8f84e] 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: [2ca6b8f84e] user: dan branch: trunk, size: 62328) | |
16:59 | [12fca5d0b5] part of check-in [0387cb3add] 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: [0387cb3add] user: dan branch: trunk, size: 62366) | |
2019-01-16
| ||
20:48 | [a40867ce07] part of check-in [ca7b7aaed0] Fix a problem with fix [b4b57413]. (check-in: [ca7b7aaed0] user: dan branch: trunk, size: 62072) | |
14:58 | [4bfb39273d] part of check-in [b4b5741366] 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: [b4b5741366] user: dan branch: trunk, size: 62069) | |
2019-01-02
| ||
14:34 | [5f2f987aac] part of check-in [6c6fb1c6ea] Raise an error if the argument to VACUUM INTO is an identifier. (check-in: [6c6fb1c6ea] user: drh branch: trunk, size: 60969) | |
2018-12-14
| ||
18:11 | [72fe8cae73] part of check-in [27221c6990] Fix harmless compiler warnings. (check-in: [27221c6990] user: drh branch: trunk, size: 60602) | |
2018-12-10
| ||
20:01 | [abd65c518c] part of check-in [c96bf6cca2] Further refinements to the sqlite3_normalized_sql() interface. TH3 now gives 100% MC/DC on that interface. (check-in: [c96bf6cca2] user: drh branch: trunk, size: 60641) | |
2018-12-07
| ||
16:32 | [095d1d41d7] part of check-in [0d8e150434] Fix the sqlite3_normalized_sql() interface so that it renders double-quoted string literals as "?". (check-in: [0d8e150434] user: drh branch: trunk, size: 60640) | |
2018-12-06
| ||
16:11 | [e0408228ba] part of check-in [ac9ad50430] Issue a warning whenever a double-quoted string literal is used. (check-in: [ac9ad50430] user: drh branch: trunk, size: 60545) | |
2018-12-02
| ||
01:15 | [976e787928] part of check-in [5d933aa659] Omit a line of code that has no affect on the outcome. (check-in: [5d933aa659] user: drh branch: trunk, size: 59686) | |
2018-11-26
| ||
18:09 | [4cfc44def0] part of check-in [6e1330545e] 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: [6e1330545e] user: drh branch: trunk, size: 59684) | |
2018-11-20
| ||
16:02 | [23c3d8c311] part of check-in [dfab7170ed] Consolidate the two sqlite3SchemaToIndex() routines. (check-in: [dfab7170ed] user: dan branch: reuse-schema1, size: 59480) | |
2018-11-17
| ||
19:15 | [d6580c0898] part of check-in [5328f89951] Fix another name resolution problem occurring when two or more attached databases use the same Schema object. (check-in: [5328f89951] user: dan branch: reuse-schema1, size: 59481) | |
18:11 | [9364bbe694] part of check-in [6d7a7e5faf] Fix further problems with the feature on this branch. (check-in: [6d7a7e5faf] user: dan branch: reuse-schema1, size: 59444) | |
2018-09-20
| ||
20:43 | [bc8c79e564] part of check-in [22ae8a52dd] Minor code simplification. (check-in: [22ae8a52dd] user: drh branch: trunk, size: 59349) | |
19:02 | [3f99bbea84] part of check-in [ad130bb86e] 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: [ad130bb86e] user: drh branch: trunk, size: 59391) | |
2018-09-19
| ||
20:14 | [adfb08e3e3] part of check-in [24b0f66ac6] 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: [24b0f66ac6] user: drh branch: expr-simplify, size: 59565) | |
18:17 | [122b208b22] part of check-in [5e458f4a92] A minor code simplification, saved in a branch for future reference. (check-in: [5e458f4a92] user: drh branch: minor-altertab-simplification, size: 59278) | |
14:54 | [1f8444d115] part of check-in [147c61a6d4] 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: [147c61a6d4] user: drh branch: expr-simplify, size: 59569) | |
2018-09-18
| ||
21:35 | [301eadb8bf] part of check-in [8849a463d6] 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: [8849a463d6] user: drh branch: expr-simplify, size: 59394) | |
2018-09-17
| ||
13:38 | [4928a63b6a] part of check-in [4d8be404da] Minor modification to the fix on this branch to avoid adding extra conditional compilation macros. (check-in: [4d8be404da] user: dan branch: tkt-b41031ea, size: 59288) | |
00:15 | [c32f4c9473] part of check-in [b12f23a5c4] Add assert()s to the new code in the previous check-in. (check-in: [b12f23a5c4] user: drh branch: tkt-b41031ea, size: 59570) | |
2018-09-16
| ||
23:27 | [c1bc3a2646] part of check-in [05a9d12925] First proposed fix for the ALTER TABLE problem described by ticket [b41031ea2b5372378cb3d2d] (check-in: [05a9d12925] user: drh branch: tkt-b41031ea, size: 59406) | |
2018-08-29
| ||
21:00 | [352c6af1a9] part of check-in [01308bae3a] Extend RENAME TABLE to edit triggers and views. Still buggy. (check-in: [01308bae3a] user: dan branch: alter-table-rename-table, size: 59320) | |
2018-08-25
| ||
03:29 | [11c177efc9] part of check-in [5858c0bde7] Remove an unnecessary IN_RENAME_COLUMN macro from resolve.c. (check-in: [5858c0bde7] user: drh branch: alter-table-rename-column, size: 59059) | |
2018-08-24
| ||
20:10 | [c27c71e108] part of check-in [bb2f723496] 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: [bb2f723496] user: dan branch: alter-table-rename-column, size: 59080) | |
16:04 | [0429097535] part of check-in [ad072a835f] 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: [ad072a835f] user: dan branch: alter-table-rename-column, size: 58896) | |
2018-08-21
| ||
16:32 | [246af8a493] part of check-in [b9ae9a0a18] Rename internal function sqlite3RenameToken() to sqlite3RenameTokenMap() and sqlite3MoveRenameToken() to sqlite3RenameTokenRemap(). (check-in: [b9ae9a0a18] user: dan branch: alter-table-rename-column, size: 58788) | |
2018-08-17
| ||
17:18 | [c58793195e] part of check-in [540014efd6] 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: [540014efd6] user: dan branch: edit-trigger-wrapper, size: 58787) | |
2018-08-09
| ||
20:47 | [b51a48f33d] part of check-in [fa0fc01eb4] Experimental implementation of ALTER TABLE ... RENAME COLUMN. Still buggy. (check-in: [fa0fc01eb4] user: dan branch: alter-table-rename-column, size: 58647) | |
2018-07-10
| ||
07:39 | [797088662e] part of check-in [0f6ec605e1] 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: [0f6ec605e1] user: drh branch: trunk, size: 58547) | |
2018-07-02
| ||
17:14 | [1f965d00b4] part of check-in [693b4350d7] Fix a segfault caused by having identical window functions in the select-list and ORDER BY clause of a SELECT statement. (check-in: [693b4350d7] user: dan branch: trunk, size: 58350) | |
12:07 | [f2f5533afd] part of check-in [4f3c8a82fd] 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: [4f3c8a82fd] user: dan branch: trunk, size: 58074) | |
2018-06-29
| ||
20:43 | [d8359c59c6] part of check-in [5eb4776598] Further performance related tweaks for sqlite3RunParser(). (check-in: [5eb4776598] user: dan branch: weak-fallback, size: 57852) | |
2018-06-23
| ||
19:29 | [43b97be1b1] part of check-in [3e23cfc813] Fix problems with using window-functions in correlated sub-queries. (check-in: [3e23cfc813] user: dan branch: exp-window-functions, size: 57770) | |
2018-06-22
| ||
20:51 | [0934ce541d] part of check-in [5f04b01646] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b01646] user: dan branch: exp-window-functions, size: 57400) | |
2018-06-11
| ||
20:50 | [a8cf3d6144] part of check-in [0cd55e98a4] Clarify the relationship between a Window object and its associated Expr. (check-in: [0cd55e98a4] user: dan branch: exp-window-functions, size: 57208) | |
18:16 | [03791a761e] part of check-in [b6d9c7eda8] Fix handling of window frames containing negative number of rows. e.g. "ROWS x PRECEDING AND y PRECEDING" where (x<y). (check-in: [b6d9c7eda8] user: dan branch: exp-window-functions, size: 57321) | |
2018-06-08
| ||
20:58 | [da9b85ec0e] part of check-in [19c983b511] Add support for the WINDOW clause. (check-in: [19c983b511] user: dan branch: exp-window-functions, size: 56924) | |
2018-06-06
| ||
00:36 | [cddefde31f] part of check-in [bad4d7a0d9] 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: [bad4d7a0d9] user: drh branch: dead-end, size: 56510) | |
2018-06-04
| ||
08:28 | [172f4c514b] part of check-in [83d6416a86] Merge latest trunk changes into this branch. (check-in: [83d6416a86] user: dan branch: exp-window-functions, size: 56881) | |
2018-06-02
| ||
21:04 | [6b62d3427e] part of check-in [91c1cb7a21] Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). (check-in: [91c1cb7a21] user: dan branch: exp-window-functions, size: 56760) | |
11:31 | [14602f4680] part of check-in [d0c3beef7c] 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: [d0c3beef7c] user: drh branch: trunk, size: 56133) | |
2018-05-17
| ||
19:24 | [446f60b2e0] part of check-in [c9f0f14094] 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: [c9f0f14094] user: dan branch: exp-window-functions, size: 56702) | |
2018-05-16
| ||
20:58 | [8feaf2039b] part of check-in [3781e52085] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e52085] user: dan branch: exp-window-functions, size: 56569) | |
2018-04-18
| ||
01:34 | [6415381a0e] part of check-in [266a99f7c0] Add new testcase() macros and fix a bug that was revealed when trying to cover all the new test cases. (check-in: [266a99f7c0] user: drh branch: upsert, size: 56012) | |
2018-04-16
| ||
13:26 | [f0efb32b5d] part of check-in [810d9f63be] 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: [810d9f63be] user: drh branch: upsert, size: 55976) | |
13:00 | [16715d4fe3] part of check-in [0203f34faa] Add support for the "excluded.*" names in the UPDATE clause of an upsert. (check-in: [0203f34faa] user: drh branch: upsert, size: 55948) | |
10:47 | [515ffc6678] part of check-in [54d96772e7] Merge changes from trunk. (check-in: [54d96772e7] user: drh branch: upsert, size: 55151) | |
10:34 | [b3ace63b04] part of check-in [dba3095fee] Reduce the size of the NameContext object by grouping seldom-used fields into a union. (check-in: [dba3095fee] user: drh branch: trunk, size: 55150) | |
2018-04-12
| ||
20:21 | [a72a7a06c7] part of check-in [046bb6d258] Fix another typo in a comment. (check-in: [046bb6d258] user: drh branch: upsert, size: 54992) | |
2018-02-26
| ||
21:26 | [66c73fcb77] part of check-in [57508518ef] Code simplifications. New test cases. (check-in: [57508518ef] user: drh branch: is-true-operator, size: 54991) | |
20:15 | [6f8a45063c] part of check-in [8002f87d96] Get the "DEFAULT true" and "DEFAULT false" phrases working correctly in CREATE TABLE. (check-in: [8002f87d96] user: drh branch: is-true-operator, size: 55051) | |
18:49 | [7e6a9702fe] part of check-in [cf2abd59be] Refactor for correct NULL handling in the IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE operators. (check-in: [cf2abd59be] user: drh branch: is-true-operator, size: 55144) | |
03:20 | [e3555b156d] part of check-in [40314bc999] 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: [40314bc999] user: drh branch: is-true-operator, size: 55157) | |
2017-11-14
| ||
23:48 | [bbee7e31d3] part of check-in [3925facd94] 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: [3925facd94] user: drh branch: trunk, size: 54351) | |
18:26 | [49f8e3709b] part of check-in [b2679d3b7a] 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: [b2679d3b7a] user: dan branch: branch-3.8.9, size: 52899) | |
2017-11-10
| ||
20:13 | [5b1e89ba27] part of check-in [72be33f9c8] Omit some extra code from non-SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: [72be33f9c8] user: dan branch: update-delete-limit-fix, size: 54404) | |
2017-11-09
| ||
04:13 | [741f5dcdcb] part of check-in [30aa941fc1] 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: [30aa941fc1] user: drh branch: branch-3.8.9, size: 53038) | |
03:55 | [704978e5aa] part of check-in [62fe56b592] 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: [62fe56b592] user: drh branch: trunk, size: 54543) | |
2017-10-21
| ||
13:29 | [5a461643f2] part of check-in [6ec82acde8] Remove unnecessary "#if SQLITE_MAX_COLUMN". SQLITE_MAX_COLUMN is always defined. (check-in: [6ec82acde8] user: drh branch: trunk, size: 54339) | |
2017-07-12
| ||
17:08 | [4324a94573] part of check-in [54f55d3b79] The EP_Resolved flag on the Expr object is not required for correctness nor performance, so remove it. (check-in: [54f55d3b79] user: drh branch: trunk, size: 54397) | |
2017-07-07
| ||
12:43 | [6aa1fb1212] part of check-in [c1a1d68c82] More aggressive use of EP_Leaf on expression nodes, to help prune searches. (check-in: [c1a1d68c82] user: drh branch: trunk, size: 54535) | |
2017-06-24
| ||
18:10 | [d1e69759e7] part of check-in [7b59c353b8] Consider the values bound to SQL variables when determining whether or not a partial index may be used. (check-in: [7b59c353b8] user: dan branch: partial-index-variables, size: 54500) | |
2017-05-31
| ||
00:49 | [adf3ef9843] part of check-in [af8c0fed93] Size and performance optimizations to sqlite3ResolveExprNames(). (check-in: [af8c0fed93] user: drh branch: trunk, size: 54494) | |
2017-05-29
| ||
14:26 | [ffb69e203f] part of check-in [6854a34ed7] 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: [6854a34ed7] user: drh branch: trunk, size: 54625) | |
2017-03-07
| ||
03:40 | [3e518b962d] part of check-in [e0a3d39f51] More size and speed improvements in the expression name resolver. (check-in: [e0a3d39f51] user: drh branch: trunk, size: 54663) | |
03:25 | [3fd6fdb366] part of check-in [1a3554e1d7] Small size reduction and performance increase in the name resolver routine for expressions. (check-in: [1a3554e1d7] user: drh branch: trunk, size: 54649) | |
2017-01-19
| ||
21:20 | [f9bc0de45a] part of check-in [9ed3852161] 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: [9ed3852161] user: drh branch: trunk, size: 54417) | |
2016-11-11
| ||
15:49 | [bb070cf5f2] part of check-in [fba5fddb1c] Handle some obscure "row value misused" cases that could cause segfaults or assertion failures. (check-in: [fba5fddb1c] user: dan branch: trunk, size: 54457) | |
2016-10-05
| ||
20:10 | [3fac1b2737] part of check-in [2dde337512] Fix harmless compiler warnings. (check-in: [2dde337512] user: drh branch: trunk, size: 54007) | |
2016-10-03
| ||
18:13 | [e918c6434e] part of check-in [c6e9b94218] Allow deterministic functions in the WHERE clause of a partial index. (check-in: [c6e9b94218] user: drh branch: trunk, size: 54063) | |
2016-09-16
| ||
11:53 | [3c3cf0dc71] part of check-in [a3e3b3e1c5] Fix SQLITE_OMIT_AUTHORIZATION so that it compiles cleanly. (check-in: [a3e3b3e1c5] user: drh branch: trunk, size: 54112) | |
2016-09-05
| ||
12:02 | [24f40fd0c3] part of check-in [56562a0346] Catch vector size mismatch problems during name resolution to avoid later problems. (check-in: [56562a0346] user: drh branch: early-vector-size-check, size: 54144) | |
2016-08-18
| ||
14:33 | [d67b9a5cc3] part of check-in [92a22f0134] 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: [92a22f0134] user: drh branch: zDbSName, size: 53355) | |
2016-08-04
| ||
01:47 | [0392c66865] part of check-in [4ada023ca0] Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. (check-in: [4ada023ca0] user: drh branch: unknown-function, size: 53349) | |
2016-07-27
| ||
19:33 | [d5516a3818] part of check-in [719a3b2035] Fix some problems with multi-column IN(SELECT...) processing. (check-in: [719a3b2035] user: dan branch: rowvalue, size: 53468) | |
2016-07-26
| ||
18:06 | [5c4d301a85] part of check-in [061b800603] 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: [061b800603] user: dan branch: rowvalue, size: 54311) | |
2016-07-09
| ||
20:23 | [9680caadd5] part of check-in [b2204215b2] Add some support for using row value constructors in certain parts of SQL expressions. There are many bugs on this branch. (check-in: [b2204215b2] user: dan branch: rowvalue, size: 54306) | |
2016-05-04
| ||
14:45 | [cca3aa77b9] part of check-in [aae389692a] 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: [aae389692a] user: drh branch: trunk, size: 53256) | |
2016-04-14
| ||
19:29 | [d3eaf8c20c] part of check-in [129083bd5e] Work toward improving analysis and code generation for DISTINCT and aggregate queries. (check-in: [129083bd5e] user: drh branch: better-distinct-agg, size: 53344) | |
2016-02-15
| ||
00:34 | [b8f7174e5f] part of check-in [3201fbcc51] 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: [3201fbcc51] user: drh branch: many-app-functions, size: 53216) | |
2016-01-20
| ||
02:21 | [9f7ce3a3c0] part of check-in [da527ddae0] Remove an unnecessary memset() from the symbol name resolver. (check-in: [da527ddae0] user: drh branch: trunk, size: 53226) | |
2016-01-14
| ||
22:19 | [08dbe0292b] part of check-in [0d1b3d7d3c] Combine the xFunc and xStep pointers of the FuncDef object into a single pointer xSFunc. (check-in: [0d1b3d7d3c] user: drh branch: trunk, size: 53192) | |
2015-12-03
| ||
22:33 | [a83b41104e] part of check-in [8534a46c06] Fix typos in requirements text and update requirements marks. No changes to code. (check-in: [8534a46c06] user: drh branch: trunk, size: 53188) | |
2015-11-21
| ||
13:24 | [f4c897ca76] part of check-in [ff5716b89f] 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: [ff5716b89f] user: drh branch: trunk, size: 53252) | |
2015-09-19
| ||
03:07 | [1954a0f01b] part of check-in [b1278301e3] Do not allow rowid in a UNIQUE or PRIMARY KEY constraint. (This restores the same behavior exhibited by all prior releases.) (check-in: [b1278301e3] user: drh branch: trunk, size: 53249) | |
2015-09-05
| ||
22:36 | [3126f7694b] part of check-in [7ab0b258ea] 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: [7ab0b258ea] user: drh branch: trunk, size: 53191) | |
2015-09-01
| ||
13:17 | [47c00ca0ab] part of check-in [ff5137a6dd] Rename SQLITE_FUNC_VARYING to SQLITE_FUNC_SLOCHNG - a more descriptive name for what that bit means. (check-in: [ff5137a6dd] user: drh branch: index-expr, size: 54583) | |
2015-08-31
| ||
21:16 | [203146a9ad] part of check-in [4871313039] Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: [4871313039] user: drh branch: index-expr, size: 54520) | |
17:34 | [3ec6456a53] part of check-in [c77554b5c4] 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: [c77554b5c4] user: drh branch: index-expr, size: 54632) | |
2015-08-26
| ||
18:04 | [e6dc5a5490] part of check-in [ec6ddb3d48] Merge enhancements from trunk. (check-in: [ec6ddb3d48] user: drh branch: index-expr, size: 54243) | |
14:01 | [f2ef256786] part of check-in [c2f3bbad77] Evaluate expressions only once when the same expression is used in both the result set and in the ORDER BY clause. (check-in: [c2f3bbad77] user: drh branch: trunk, size: 54044) | |
2015-08-25
| ||
16:57 | [c4691acf9d] part of check-in [efaabdb716] 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: [efaabdb716] user: drh branch: index-expr, size: 54241) | |
00:27 | [ad9404cfa6] part of check-in [0ad0f8d77d] 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: [0ad0f8d77d] user: drh branch: index-expr, size: 54237) | |
2015-08-24
| ||
20:54 | [66b2740075] part of check-in [bdaf66465b] Remove some redundant code: Call sqlite3ResolveExprListNames() rather than calling sqlite3ResolveExprNames() in a loop - in two places. (check-in: [bdaf66465b] user: drh branch: trunk, size: 54042) | |
2015-08-20
| ||
23:28 | [7a67cd2aeb] part of check-in [bc577fe6cb] Fix a couple C99-isms that cause compile errors on MSVC. (check-in: [bc577fe6cb] user: drh branch: trunk, size: 54185) | |
23:21 | [02e2c9ed5f] part of check-in [774e6a14b1] 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: [774e6a14b1] user: drh branch: trunk, size: 54185) | |
20:13 | [1103be495d] part of check-in [a7acc7878b] Correctly handle empty function argument lists on table-valued functions. (check-in: [a7acc7878b] user: drh branch: trunk, size: 54190) | |
2015-08-19
| ||
17:11 | [bbb4874dec] part of check-in [40e12cfe4c] A list of arguments following a table name translates into equality constraints against hidden columns in that table. (check-in: [40e12cfe4c] user: drh branch: table-valued-functions, size: 54163) | |
15:20 | [cd1c44c853] part of check-in [b919376147] 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: [b919376147] user: drh branch: table-valued-functions, size: 53549) | |
2015-06-23
| ||
12:19 | [2d47554370] part of check-in [4df852ce26] 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: [4df852ce26] user: dan branch: trunk, size: 53531) | |
2015-05-27
| ||
13:06 | [84c571794e] part of check-in [0055df0445] CTEs have never had working rowids. So disallow the use of the "rowid" column within CTEs. (check-in: [0055df0445] user: drh branch: no-rowid-in-cte, size: 53253) | |
2015-05-07
| ||
00:09 | [99eabf7eff] part of check-in [5f2539da8c] Remove a faulty assert() statement. (check-in: [5f2539da8c] user: drh branch: trunk, size: 53245) | |
2015-04-23
| ||
13:37 | [13109bc3b5] part of check-in [b5e4360283] Fix a faulty assert() in the "AS" alias resolution logic of the parser. (check-in: [b5e4360283] user: drh branch: trunk, size: 53305) | |
2015-04-17
| ||
19:41 | [53486a98c1] part of check-in [b67bb16c72] In the expression-tree comparison routine, do not compiler Expr.iColumn and Expr.iTable for TK_STRING expressions. (check-in: [b67bb16c72] user: drh branch: trunk, size: 53287) | |
18:52 | [1ab0bd187f] part of check-in [6c39ef73d5] Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. (check-in: [6c39ef73d5] user: drh branch: trunk, size: 53311) | |
2015-04-15
| ||
06:45 | [66cfe49a9c] part of check-in [c72324ef92] 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: [c72324ef92] user: drh branch: trunk, size: 52942) | |
05:57 | [03fe2a8640] part of check-in [9e1f837b08] Correctly handle COLLATE operators applied to COLLATE operators in an ORDER BY clause. (check-in: [9e1f837b08] user: drh branch: trunk, size: 52959) | |
04:51 | [7bd67ded82] part of check-in [d7211b6810] 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: [d7211b6810] user: drh branch: trunk, size: 52858) | |
2015-04-04
| ||
16:43 | [41aa91af56] part of check-in [427b50fba7] Fix a problem with resolving ORDER BY clauses that feature COLLATE clauses attached to compound SELECT statements. (check-in: [427b50fba7] user: dan branch: compound-order-by-fix, size: 52834) | |
2015-02-09
| ||
14:07 | [f4d79e31ff] part of check-in [4ef7ceced2] Rename the internal "EP_Constant" bitmask to a less misleading "EP_ConstFunc". (check-in: [4ef7ceced2] user: drh branch: trunk, size: 51645) | |
10:20 | [4ebd1064bd] part of check-in [c12edb8507] Fix over-length source code lines in resolver.c. No logic changes. (check-in: [c12edb8507] user: drh branch: trunk, size: 51644) | |
2014-12-04
| ||
16:29 | [64e9f612f6] part of check-in [5a80957b04] 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: [5a80957b04] user: drh branch: branch-3.8.7, size: 51567) | |
16:27 | [f6c46d3434] part of check-in [6f6fcbe473] 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: [6f6fcbe473] user: drh branch: trunk, size: 51583) | |
2014-10-25
| ||
13:42 | [4965007d64] part of check-in [0f08924fe0] 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: [0f08924fe0] user: drh branch: trunk, size: 51389) | |
2014-10-24
| ||
19:28 | [57d5ad9391] part of check-in [d95d0313c4] 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: [d95d0313c4] user: drh branch: trunk, size: 51373) | |
2014-09-15
| ||
14:46 | [a3466128b5] part of check-in [0bdf1a086b] 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: [0bdf1a086b] user: drh branch: trunk, size: 51373) | |
2014-09-06
| ||
16:39 | [0d1621e45f] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 51113) | |
2014-08-11
| ||
15:54 | [0ea356d32a] part of check-in [62d38308b5] Updates to evidence marks and requirements. No changes to code. (check-in: [62d38308b5] user: drh branch: trunk, size: 51113) | |
2014-08-08
| ||
18:26 | [44e2e434de] part of check-in [7556bd9aa5] Update requirements marks. No changes to code. (check-in: [7556bd9aa5] user: drh branch: trunk, size: 50874) | |
2014-06-17
| ||
16:11 | [5fc110baea] part of check-in [3896548419] Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). (check-in: [3896548419] user: drh branch: trunk, size: 50874) | |
2014-06-10
| ||
20:18 | [f0c6db38b8] part of check-in [401a0ca3dd] 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: [401a0ca3dd] user: drh branch: group-by-name-resolution, size: 51701) | |
2014-05-06
| ||
15:28 | [06b706383c] part of check-in [8ad0a123a2] 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: [8ad0a123a2] user: drh branch: smaller-expr, size: 50958) | |
2014-03-04
| ||
11:29 | [273d5f47c4] part of check-in [5bcd0b1ca5] Fix name resolution problem in sub-selects within triggers, ticket [4ef7e3cfca]. (check-in: [5bcd0b1ca5] user: mistachkin branch: trunk, size: 50822) | |
2014-02-12
| ||
14:43 | [ca8b99d894] part of check-in [5d01426ddf] Make sure "rowid" columns are correctly resolved in joins between normal tables and WITHOUT ROWID tables. Fix for ticket [c34d0557f740c45070]. (check-in: [5d01426ddf] user: drh branch: trunk, size: 50791) | |
2014-01-21
| ||
01:13 | [3e22bf6046] part of check-in [c57deced09] Fix a couple comment typos and one overly long line. No functional changes. (check-in: [c57deced09] user: mistachkin branch: level-pseudocolumn, size: 51565) | |
00:19 | [f35795a7d6] part of check-in [cc1cb32178] 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: [cc1cb32178] user: drh branch: level-pseudocolumn, size: 51540) | |
2014-01-15
| ||
19:42 | [ae278d8ce0] part of check-in [3908e2ea2e] Fixes so that SQLITE_OMIT_CTE builds work. (check-in: [3908e2ea2e] user: dan branch: common-table-expr, size: 51104) | |
18:12 | [41d0cf644a] part of check-in [61be2da0ae] 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: [61be2da0ae] user: dan branch: common-table-expr, size: 51073) | |
2013-11-26
| ||
23:27 | [7eda9097b2] part of check-in [0978bac6b8] 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: [0978bac6b8] user: drh branch: trunk, size: 50804) | |
2013-11-21
| ||
14:44 | [a70e32ae6c] part of check-in [9b4217f055] Remove the obsolete TK_CONST_FUNC token type. (check-in: [9b4217f055] user: drh branch: trunk, size: 50766) | |
14:33 | [1568ba3691] part of check-in [1b0f779e19] Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: [1b0f779e19] user: drh branch: trunk, size: 50834) | |
2013-11-15
| ||
18:15 | [6fcceeb653] part of check-in [d10fb49a92] Changes to make the new constant expression factoring logic more general and more testable. (check-in: [d10fb49a92] user: drh branch: expr-codegen-enhancement, size: 50745) | |
2013-11-08
| ||
17:13 | [fc4673cc49] part of check-in [0077c0772a] Fix harmless compiler warnings. (check-in: [0077c0772a] user: drh branch: trunk, size: 50697) | |
2013-10-23
| ||
17:39 | [e729889b2c] part of check-in [36bcc9cb88] Report an error when trying to resolve column name "rowid" in a WITHOUT ROWID table. (check-in: [36bcc9cb88] user: drh branch: omit-rowid, size: 50716) | |
2013-10-16
| ||
23:58 | [572585a96b] part of check-in [e5a439cfa5] Fix a typo in a requirements mark comment. No changes to code. (check-in: [e5a439cfa5] user: drh branch: trunk, size: 50532) | |
2013-10-11
| ||
16:35 | [5f15b00644] part of check-in [5f01cd36ee] Additional test cases and requirements marks for the unlikely(), likelihood() and instr() functions. (check-in: [5f01cd36ee] user: drh branch: trunk, size: 50532) | |
2013-09-12
| ||
23:42 | [7459801d02] part of check-in [695aee46e9] Refactor the ExprSetIrreducible() macro into ExprSetVVAProperty(*,EP_NoReduce). This is a naming change only. The logic is the same. (check-in: [695aee46e9] user: drh branch: unlikely-func, size: 50285) | |
17:29 | [062de78900] part of check-in [4c84d1b4c2] Merge in the Expr.flags expansion to 32-bits. Use an extra bit to help optimize the sqlite3ExprSkipCollate() routine. (check-in: [4c84d1b4c2] user: drh branch: unlikely-func, size: 50272) | |
16:50 | [d336be1249] part of check-in [579a512538] Increase the number of bits available in Expr.flags. Other tweaks aimed at making expression processing more robust. (check-in: [579a512538] user: drh branch: expr-tuning, size: 49246) | |
2013-09-11
| ||
14:34 | [0e5b31ef42] part of check-in [5d00cce74a] Additional unlikely() test cases. Logic tweaks to support test coverage. (check-in: [5d00cce74a] user: drh branch: unlikely-func, size: 50237) | |
11:38 | [fde5b5c5be] part of check-in [29a359b8d7] Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: [29a359b8d7] user: drh branch: unlikely-func, size: 50226) | |
03:53 | [140c25a1aa] part of check-in [52d5268864] Tweaks to the index selection logic. (check-in: [52d5268864] user: drh branch: unlikely-func, size: 50214) | |
2013-09-07
| ||
00:29 | [594725ba98] part of check-in [b65dc53415] 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: [b65dc53415] user: drh branch: unlikely-func, size: 50213) | |
2013-09-06
| ||
17:45 | [8a2b6b9a64] part of check-in [1a46a72423] 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: [1a46a72423] user: drh branch: unlikely-func, size: 50158) | |
15:23 | [748618c3df] part of check-in [036fc37a03] Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: [036fc37a03] user: drh branch: unlikely-func, size: 50159) | |
2013-08-15
| ||
22:40 | [9d53899cc6] part of check-in [f2d175f975] 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: [f2d175f975] user: drh branch: trunk, size: 49259) | |
20:24 | [2a760f369d] part of check-in [c78b357c00] 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: [c78b357c00] user: drh branch: trunk, size: 49210) | |
14:27 | [94a08f37c0] part of check-in [f30abdf9d8] Clarification and typo fixes in comments related to name resolution. No changes to code. (check-in: [f30abdf9d8] user: drh branch: trunk, size: 48806) | |
2013-08-02
| ||
14:18 | [17e6709967] part of check-in [2e8c845eb5] Silently ignore database name qualifiers in CHECK constraints and in partial index WHERE clauses. (check-in: [2e8c845eb5] user: drh branch: partial-indices, size: 48801) | |
2013-08-01
| ||
13:04 | [8b3c7a439c] part of check-in [8e07aa2ad5] Fill out an initial implementation of the sqlite3ExprImpliesExpr() function. (check-in: [8e07aa2ad5] user: drh branch: partial-indices, size: 48377) | |
2013-07-31
| ||
19:05 | [ada80e8df5] part of check-in [f2aa7842c8] 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: [f2aa7842c8] user: drh branch: partial-indices, size: 48369) | |
2013-05-16
| ||
01:02 | [89f9003e83] part of check-in [9ffff3d052] 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: [9ffff3d052] user: drh branch: trunk, size: 46155) | |
2013-04-25
| ||
00:57 | [83cc2d942e] part of check-in [39b4e6ff93] Make sure the affinity and datatype of sub-subqueries are initialized prior to subqueries as the latter relies on the former. (check-in: [39b4e6ff93] user: drh branch: trunk, size: 46155) | |
2013-04-13
| ||
19:59 | [10a1b332e3] part of check-in [ad53924dca] 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: [ad53924dca] user: drh branch: tkt-2500cdb9be, size: 46099) | |
2013-02-26
| ||
12:57 | [9079da7d59] part of check-in [c2d5a23b1a] 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: [c2d5a23b1a] user: drh branch: trunk, size: 45949) | |
2013-02-07
| ||
09:33 | [652ae6dc0f] part of check-in [4a7b4ee011] Fix harmless compiler warnings. (check-in: [4a7b4ee011] user: drh branch: trunk, size: 45918) | |
2013-01-08
| ||
12:48 | [0bca3bf694] part of check-in [cda790280a] 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: [cda790280a] user: drh branch: trunk, size: 45928) | |
2013-01-07
| ||
13:26 | [e41ccbe4e0] part of check-in [0a1207c895] 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: [0a1207c895] user: dan branch: mistake, size: 45910) | |
2013-01-03
| ||
17:34 | [521bdc0f6c] part of check-in [20730bad70] Further corner-case fixes to the name resolution logic. (check-in: [20730bad70] user: drh branch: name-resolution-fix, size: 45900) | |
16:54 | [2b3ae4d857] part of check-in [afe96a118c] Remove an incorrect assert() statement (ticket [beba9cae6345a]). Fix other minor problems in the name resolution logic. (check-in: [afe96a118c] user: drh branch: name-resolution-fix, size: 45877) | |
00:45 | [e00f17ac32] part of check-in [4cf5ed7ea1] Now supports result sets of the form "TABLE.*" with nested FROM clauses. (check-in: [4cf5ed7ea1] user: drh branch: name-resolution-fix, size: 45877) | |
2012-12-19
| ||
02:36 | [3104a5e4c2] part of check-in [7344e791b9] Better resolution of table and column names in joins where some of the terms of the FROM clause are parenthesized. (check-in: [7344e791b9] user: drh branch: name-resolution-fix, size: 45143) | |
2012-12-18
| ||
16:07 | [52331299f4] part of check-in [9b67c633d9] Resolve names in FROM-clause subqueries prior to resolving names in the result set expressions of a SELECT statement. (check-in: [9b67c633d9] user: drh branch: trunk, size: 44466) | |
2012-12-07
| ||
23:23 | [cdd546d62d] part of check-in [bd960d937f] Improved error messages when column integers in an ORDER BY clause are out of range. (check-in: [bd960d937f] user: drh branch: ticket-71e333e7, size: 44466) | |
22:18 | [5ed606916b] part of check-in [0aaf52a339] 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: [0aaf52a339] user: drh branch: ticket-71e333e7, size: 44464) | |
21:02 | [34168dc9c5] part of check-in [49654453ad] Fix the processing of ORDER BY clauses with COLLATE terms on compound queries. 52 veryquick test failures remain. (check-in: [49654453ad] user: drh branch: ticket-71e333e7, size: 44738) | |
18:38 | [fd2206ae5c] part of check-in [972443b4eb] Some errors in veryquick resolved. Many more to go. (check-in: [972443b4eb] user: drh branch: ticket-71e333e7, size: 44137) | |
14:02 | [c05083cb7f] part of check-in [7fafab12e4] Veryquick now runs to completion without segfaulting or asserting. But there are still lots of errors. (check-in: [7fafab12e4] user: drh branch: ticket-71e333e7, size: 43705) | |
2012-12-06
| ||
21:16 | [6faf0f337e] part of check-in [fd011cb22f] 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: [fd011cb22f] user: drh branch: ticket-71e333e7, size: 43661) | |
2012-10-09
| ||
18:51 | [7b986a715a] part of check-in [7b1a6e6cb5] Attempt to suppress warnings generated by Coverity. (check-in: [7b1a6e6cb5] user: drh branch: trunk, size: 43887) | |
2012-08-23
| ||
19:46 | [9e28280ec9] part of check-in [00b1dc71be] Add test cases and fix bugs associated with the previous check-in enhancements to nested aggregate subquery processing. (check-in: [00b1dc71be] user: drh branch: nested-agg, size: 43887) | |
16:18 | [e60d1f7ce1] part of check-in [3c3ffa901f] Further improvements to the processing of nested aggregate queries. (check-in: [3c3ffa901f] user: drh branch: nested-agg, size: 42583) | |
2012-05-21
| ||
19:11 | [b3c70ab28c] part of check-in [7222609693] 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: [7222609693] user: drh branch: nested-agg, size: 42384) | |
2012-04-27
| ||
01:09 | [748e75299f] part of check-in [a49e909c87] 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: [a49e909c87] user: drh branch: trunk, size: 42179) | |
2012-04-07
| ||
00:09 | [969ec2bc52] part of check-in [09d5581c81] 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: [09d5581c81] user: drh branch: trunk, size: 42017) | |
2011-12-10
| ||
23:18 | [3d3e80a98f] part of check-in [5061d85ff9] Minor cleanups of the compound-subquery flattening logic. New test cases added for joins the compound subquery. (check-in: [5061d85ff9] user: drh branch: trunk, size: 42017) | |
2011-10-18
| ||
18:10 | [365ab1c870] part of check-in [551ce407bd] Improved handling of USING and NATURAL JOIN in 3-way and higher joins. Ticket [3338b3fa19ac4ab] (check-in: [551ce407bd] user: drh branch: trunk, size: 41968) | |
2011-07-08
| ||
16:10 | [36368f4456] part of check-in [9f14fa56ba] Fix for [54844eea3f]: Do not create automatic indexes on correlated sub-queries. (check-in: [9f14fa56ba] user: dan branch: trunk, size: 42089) | |
2010-06-28
| ||
10:15 | [1c0f32b64f] part of check-in [4932f22848] 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: [4932f22848] user: dan branch: trunk, size: 41358) | |
2010-04-08
| ||
17:35 | [ac5f1a713c] part of check-in [332cb55113] Fix a typo in a comment. No changes to code. (check-in: [332cb55113] user: drh branch: trunk, size: 41329) | |
15:01 | [f17f661509] part of check-in [e1aa48ace7] New test cases for automatic indices. New testcase() macros associated with column-used bitmasks. (check-in: [e1aa48ace7] user: drh branch: trunk, size: 41340) | |
2010-02-25
| ||
02:32 | [8e51ac0171] part of check-in [46f406b202] 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: [46f406b202] user: drh branch: branch-3.6.22, size: 41278) | |
2010-02-22
| ||
19:32 | [a1648d98e8] part of check-in [a8076aede3] Log all error messages if logging is enabled. (check-in: [a8076aede3] user: drh branch: trunk, size: 41280) | |
2010-01-07
| ||
15:17 | [56ecd50851] part of check-in [44bb1bfe5d] Fix the expression comparison logic to take the COLLATE operator into account. Ticket [360c6073e197] (check-in: [44bb1bfe5d] user: drh branch: trunk, size: 41036) | |
2010-01-01
| ||
18:57 | [69a45df250] part of check-in [0e918c5489] Add evidence marks associated with autoincrement. (check-in: [0e918c5489] user: drh branch: trunk, size: 41034) | |
2009-12-29
| ||
23:39 | [e8e0866009] part of check-in [1a0e5fa9f0] 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: [1a0e5fa9f0] user: drh branch: trunk, size: 40973) | |
2009-11-27
| ||
12:12 | [d052e5c44b] part of check-in [1b7c5250cc] Move [7d30880114] to the trunk. Add optimizations to reduce the number of opcodes used for BEFORE UPDATE triggers. (check-in: [1b7c5250cc] user: dan branch: trunk, size: 40986) | |
2009-11-23
| ||
14:39 | [c52d9e52e1] part of check-in [a4380ab326] Change so that deleting an Expr structure requires only one frame per level in the expression tree, not two. (check-in: [a4380ab326] user: dan branch: trunk, size: 40826) | |
2009-11-10
| ||
01:30 | [aa3cb21e1e] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 40569) | |
2009-11-04
| ||
13:17 | [f263d685bf] part of check-in [24a4d520d5] 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: [24a4d520d5] user: drh branch: trunk, size: 40627) | |
2009-11-03
| ||
19:42 | [1166b41dd6] part of check-in [01c4b5b84e] Fix compiler warnings on MSVC build. (check-in: [01c4b5b84e] user: shane branch: trunk, size: 40701) | |
2009-10-19
| ||
15:52 | [3ac31c7181] part of check-in [6fe6371175] 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: [6fe6371175] user: dan branch: trunk, size: 40620) | |
2009-09-07
| ||
04:38 | [941843301f] part of check-in [26cd015c0e] Warning cleanup from the MSVC compile. (check-in: [26cd015c0e] user: shane branch: trunk, size: 40020) | |
2009-09-01
| ||
12:16 | [e78029b04d] part of check-in [38a9327bad] More fixes and comment updates. (check-in: [38a9327bad] user: dan branch: trunk, size: 40015) | |
2009-08-31
| ||
15:27 | [522d6804a0] part of check-in [85d9f23be1] More fixes for test cases. (check-in: [85d9f23be1] user: dan branch: trunk, size: 39945) | |
08:22 | [5909b3e2fb] part of check-in [8a746fbfd5] Fix some authorization callback problems. (check-in: [8a746fbfd5] user: dan branch: trunk, size: 40094) | |
2009-08-28
| ||
18:53 | [92ef8a85d5] part of check-in [9b9c192115] Changes to support recursive triggers. (check-in: [9b9c192115] user: dan branch: trunk, size: 39907) | |
2009-06-15
| ||
23:15 | [4a61d03e49] part of check-in [a49c2d4bef] Additional updates to the symbol resolver and expression tree walker to facilitate test coverage. (CVS 6764) (check-in: [a49c2d4bef] user: drh branch: trunk, size: 39934) | |
18:32 | [34c5b59db6] part of check-in [c50f0f28df] Updates to resolve.c to facilitate full coverage testing. (CVS 6762) (check-in: [c50f0f28df] user: drh branch: trunk, size: 39930) | |
2009-06-01
| ||
16:53 | [f86d3490cf] part of check-in [0791588520] Fix compiler warnings with MSVC build. (CVS 6699) (check-in: [0791588520] user: shane branch: trunk, size: 39997) | |
2009-05-29
| ||
14:39 | [42065c05d4] part of check-in [bd89f2c29b] Refinements in expression handling logic that have resulted from recent structural testing. (CVS 6690) (check-in: [bd89f2c29b] user: drh branch: trunk, size: 39956) | |
2009-05-28
| ||
14:34 | [fc6fdd0130] part of check-in [3b46142532] Fix a NULL pointer dereference following an OOM error in the column name resolver. (CVS 6685) (check-in: [3b46142532] user: drh branch: trunk, size: 39936) | |
12:49 | [3e2df0a2f4] part of check-in [376ecf0d87] 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: [376ecf0d87] user: drh branch: trunk, size: 39910) | |
01:00 | [64e7ac825a] part of check-in [4ac2bdfbb4] 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: [4ac2bdfbb4] user: drh branch: trunk, size: 39796) | |
2009-05-27
| ||
10:31 | [0c9faa469e] part of check-in [7cb1c3ba07] 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: [7cb1c3ba07] user: drh branch: trunk, size: 39670) | |
2009-05-05
| ||
15:46 | [2ce8f8bc8a] part of check-in [300da30178] Make sure the left-shift operator never overflows. (CVS 6605) (check-in: [300da30178] user: drh branch: trunk, size: 40194) | |
2009-05-01
| ||
21:13 | [d01b53d81a] part of check-in [12bcb03d9b] 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: [12bcb03d9b] user: drh branch: trunk, size: 40110) | |
2009-03-05
| ||
04:23 | [094e444503] part of check-in [6b0cabd017] Added some asserts and a check for a null pointer dereference. (CVS 6337) (check-in: [6b0cabd017] user: shane branch: trunk, size: 40100) | |
2009-03-02
| ||
01:22 | [ac4f914b32] part of check-in [fa0008502e] 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: [fa0008502e] user: drh branch: trunk, size: 40042) | |
2009-02-24
| ||
10:14 | [dea0051358] part of check-in [0e7c369c23] Reverse commit (6315) for now. (CVS 6317) (check-in: [0e7c369c23] user: danielk1977 branch: trunk, size: 39997) | |
2009-02-23
| ||
17:33 | [60a5f40554] part of check-in [294ba6f743] 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: [294ba6f743] user: danielk1977 branch: trunk, size: 40062) | |
2009-02-19
| ||
14:39 | [b3aa625ec1] part of check-in [d9f6ffbc5e] 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: [d9f6ffbc5e] user: danielk1977 branch: trunk, size: 39997) | |
2008-12-10
| ||
19:26 | [18dc9f0df1] part of check-in [c872d55493] 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: [c872d55493] user: drh branch: trunk, size: 39896) | |
18:03 | [83d668f2d6] part of check-in [14e6d19c31] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c31] user: drh branch: trunk, size: 39874) | |
2008-12-09
| ||
14:03 | [6dd09880a8] part of check-in [0d7e150e8c] Finish incomplete edit of resolve.c from check-in (5998). (CVS 6000) (check-in: [0d7e150e8c] user: drh branch: trunk, size: 39870) | |
13:04 | [6c32f21b58] part of check-in [be03fa0543] 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: [be03fa0543] user: drh branch: trunk, size: 39879) | |
2008-11-17
| ||
19:18 | [4af5391d2b] part of check-in [8009220c36] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c36] user: danielk1977 branch: trunk, size: 39874) | |
2008-10-19
| ||
21:03 | [266bb03d2b] part of check-in [81cfee5c14] 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: [81cfee5c14] user: drh branch: trunk, size: 39908) | |
2008-10-11
| ||
16:47 | [86a6f7e48e] part of check-in [d2c252d6bb] 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: [d2c252d6bb] user: drh branch: trunk, size: 39886) | |
2008-10-10
| ||
04:34 | [d45e7b69f9] part of check-in [c10e8a3c7a] Updated LIMIT support for DELETE/UPDATE. Omit option changed to SQLITE_ENABLE_UPDATE_DELETE_LIMIT. (CVS 5788) (check-in: [c10e8a3c7a] user: shane branch: trunk, size: 39989) | |
2008-10-06
| ||
15:18 | [1971ff6996] part of check-in [24891902fa] Fix a typo in check-in (5769) (CVS 5770) (check-in: [24891902fa] user: drh branch: trunk, size: 39901) | |
13:54 | [9aeb071994] part of check-in [2f7db6c98f] Expression nodes of type TK_ROW mean the rowid of the first table in the source list. (CVS 5769) (check-in: [2f7db6c98f] user: drh branch: trunk, size: 39898) | |
2008-08-29
| ||
02:14 | [a6abf83125] part of check-in [ab0292caa5] 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: [ab0292caa5] user: drh branch: trunk, size: 39247) | |
2008-08-25
| ||
17:23 | [74725e61c9] part of check-in [4ad096bda1] 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: [4ad096bda1] user: drh branch: trunk, size: 37461) | |
12:14 | [f279cfe052] part of check-in [0d61960afd] Additional coverage testing in the new name resolver module. (CVS 5608) (check-in: [0d61960afd] user: drh branch: trunk, size: 37510) | |
2008-08-22
| ||
17:34 | [3c9c04095f] part of check-in [6de9c084fc] Remove dead code. (CVS 5601) (check-in: [6de9c084fc] user: drh branch: trunk, size: 37530) | |
2008-08-20
| ||
16:35 | Added: [e688f240bd] part of check-in [daf730d1de] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1de] user: drh branch: trunk, size: 37910) | |