Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for src/walker.c
2024-08-19
| ||
22:48 | [d5006d6b00] 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: 8357) | |
2024-08-17
| ||
23:23 | [e5898234c5] 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: 8334) | |
2023-06-19
| ||
23:27 | [7c7ea01153] part of check-in [73d86a12fb] Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr(). (check-in: [73d86a12fb] user: drh branch: trunk, size: 8328) | |
2023-06-07
| ||
08:40 | [1f1c4743e0] 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: 8291) | |
2021-10-07
| ||
17:43 | [f890a32984] 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: 8292) | |
2021-05-17
| ||
16:20 | [7342becedf] 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: 8307) | |
2021-04-20
| ||
00:09 | [6e540867a3] part of check-in [8f339f4300] Add two ALWAYS() macros for branches no longer reachable due to the previous check-in. Later: Dbsqlfuzz quickly found ways to make both of these ALWAYS() conditionals false. (check-in: [8f339f4300] user: drh branch: mistake, size: 8220) | |
2021-04-19
| ||
19:59 | [52fb58ff39] part of check-in [bef2238de9] An improvement to check-in [1a341378ab24a509] that omits the new Walker.bWalkWinDefn boolean (which is not always initialized) and uses a special value for xSelectCallback2 instead. (check-in: [bef2238de9] user: drh branch: trunk, size: 8212) | |
2021-04-17
| ||
20:13 | [49a9c0b8fb] part of check-in [4ec9ef4bcd] Remove a couple of NEVER() macros from the code for walking window lists. (check-in: [4ec9ef4bcd] user: dan branch: trunk, size: 7903) | |
13:46 | [df4f432b10] part of check-in [1a341378ab] Ensure that variables are not used in the WINDOW clause of a query inside of a trigger. dbsqlfuzz d9cf66100064952b66951845dfab41de1c124611 (check-in: [1a341378ab] user: drh branch: trunk, size: 8163) | |
2021-02-21
| ||
21:04 | [d42d6c80ea] 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: 8141) | |
2020-12-21
| ||
18:39 | [d9c4e454eb] part of check-in [ef9733fe1c] Fix a problem when flattening joins between a UNION ALL sub-query and another sub-query that uses more than one window function. (check-in: [ef9733fe1c] user: dan branch: trunk, size: 8153) | |
2020-07-29
| ||
16:18 | [653331a5b0] 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: 8106) | |
2020-05-24
| ||
03:01 | [3df26a33dc] part of check-in [dac438236f] Move some utility Walker callbacks into the walker.c source file, as they seem to belong there better. (check-in: [dac438236f] user: drh branch: trunk, size: 8107) | |
2020-03-21
| ||
00:05 | [7c429c694a] part of check-in [a9bb71ba70] Recompute the set of columns used for each table when the table is involved in query flattening. (check-in: [a9bb71ba70] user: drh branch: trunk, size: 7022) | |
2019-11-22
| ||
11:47 | [a137468bf3] part of check-in [e6314e386c] Fix an indentation error and improve the placement of an assert() based on a tweet from Yuri Kotov. (check-in: [e6314e386c] user: drh branch: trunk, size: 7005) | |
2019-07-19
| ||
15:00 | [d5a94907dc] part of check-in [bbfb2908ec] Refinement to check-in [348e7f193a963390] that avoids unreachable branches. (check-in: [bbfb2908ec] user: drh branch: trunk, size: 7006) | |
11:20 | [20a8455cfd] part of check-in [348e7f193a] Fix a problem with renaming tables when the schema contains WINDOW definitions with (illegal) non-numeric expressions as part of a PRECEDING or FOLLOWING clause. (check-in: [348e7f193a] user: dan branch: trunk, size: 6669) | |
10:31 | [8fb08ed58d] part of check-in [ee076c28d8] Fix a faulty assert() in walker.c that could fail when processing an ALTER TABLE statement on a schema containing invalid table references that are part of a WINDOW definition. (check-in: [ee076c28d8] user: dan branch: trunk, size: 6537) | |
2019-07-13
| ||
16:22 | [ccbe57a6ee] 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: 6422) | |
2019-07-10
| ||
20:16 | [588e7f5faf] part of check-in [bcc8b38ac7] Minor performance improvement in sqlite3ExprDeleteNN(). (check-in: [bcc8b38ac7] user: dan branch: filter-clause, size: 6647) | |
2019-07-02
| ||
11:56 | [31844651ea] part of check-in [1f1ae2d6ac] Experimental implementation of FILTER clause for aggregate functions. (check-in: [1f1ae2d6ac] user: dan branch: filter-clause, size: 6408) | |
2019-01-24
| ||
04:44 | [7607f1a681] part of check-in [4c976f1713] Remove an unreachable branch. (check-in: [4c976f1713] user: drh branch: trunk, size: 6285) | |
2019-01-23
| ||
16:59 | [ec63d6e285] 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: 6248) | |
2018-09-20
| ||
19:02 | [fb94aadc90] 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: 5693) | |
2018-09-19
| ||
14:54 | [4ba292cadd] 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: 5710) | |
2018-09-18
| ||
21:35 | [b2d6213686] 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: 5793) | |
2018-06-25
| ||
11:42 | [ba72257739] part of check-in [e954145a3a] Fix another problem that could cause a crash when a window function was used in a view. (check-in: [e954145a3a] user: dan branch: exp-window-functions, size: 5707) | |
2018-06-23
| ||
19:29 | [14c43912f0] 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: 5630) | |
2017-11-14
| ||
23:48 | [da987a20d4] 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: 5333) | |
2017-10-31
| ||
03:40 | [d591e8a9cc] part of check-in [1c80c75d4b] Remove unnecessary NEVER() and ALWAYS() conditionals. (check-in: [1c80c75d4b] user: drh branch: trunk, size: 5396) | |
2017-08-17
| ||
19:23 | [3ccfa8637f] part of check-in [264a5e1b75] Small optimization in the Expr tree walker. (check-in: [264a5e1b75] user: drh branch: trunk, size: 5421) | |
2017-07-07
| ||
13:59 | [a7ca64ce08] part of check-in [aacbb9a461] Exploit the fact that Expr.pRight and Expr.x are never used at the same time for a small performance gain. (check-in: [aacbb9a461] user: drh branch: trunk, size: 5383) | |
12:58 | [3541df29d4] part of check-in [115d4b8339] More efficient and compact implementation of walkExpr(). (check-in: [115d4b8339] user: drh branch: trunk, size: 5314) | |
11:49 | [8fa7438b90] part of check-in [9bc65635b2] Very slightly smaller and faster sqlite3WalkSelect(). (check-in: [9bc65635b2] user: drh branch: trunk, size: 5298) | |
2017-05-29
| ||
14:26 | [d46044e7a5] 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: 5254) | |
2017-03-07
| ||
12:18 | [b71a992b41] part of check-in [01cd9fb176] Minor comment typo fixes. No changes to code. (check-in: [01cd9fb176] user: drh branch: trunk, size: 5309) | |
2016-09-23
| ||
21:36 | [91a6df7435] part of check-in [8a6ea455cd] Add the EP_Leaf flag bit to the Expr.flags field to indicate Expr nodes that do not have substructure. Use that bit to avoid unnecessary recursion. (check-in: [8a6ea455cd] user: drh branch: trunk, size: 5305) | |
2016-09-19
| ||
02:19 | [83042807db] part of check-in [c6e6afb939] Small performance optimization in the expression walker. (check-in: [c6e6afb939] user: drh branch: trunk, size: 5286) | |
2016-08-10
| ||
18:56 | [2d2cc7fb0f] part of check-in [ebccbd9609] Performance enhancement in the expression walker. (check-in: [ebccbd9609] user: drh branch: trunk, size: 5265) | |
2016-01-11
| ||
14:19 | [0f142b5bd3] part of check-in [2f8bd5fab8] Performance optimization in sqlite3WalkExpr(). (check-in: [2f8bd5fab8] user: drh branch: trunk, size: 5273) | |
2015-08-19
| ||
17:11 | [2e14d17f59] 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: 5185) | |
2014-09-06
| ||
16:39 | [c253b95b4e] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 5053) | |
2014-05-06
| ||
15:28 | [4a73ee39c3] 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: 5146) | |
2014-01-17
| ||
14:59 | [11edb74d58] part of check-in [6a549187ed] Fix some problems to do with WITH clauses and name resolution. (check-in: [6a549187ed] user: dan branch: common-table-expr, size: 5052) | |
2013-09-12
| ||
16:50 | [e9e593d5bb] 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: 5175) | |
2013-04-25
| ||
00:57 | [4fa43583d0] 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: 5178) | |
2012-08-23
| ||
19:46 | [3d75ba73de] 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: 4630) | |
2009-11-10
| ||
01:30 | [3112bb3afe] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 4552) | |
2009-06-15
| ||
23:15 | [1edca75627] 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: 4608) | |
2009-05-28
| ||
01:00 | [ec4b9742a4] 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: 4624) | |
2009-05-27
| ||
10:31 | [b28cc618f5] 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: 4624) | |
2009-04-08
| ||
13:51 | [7cdf63223c] part of check-in [44ded2ea67] Minor refactoring of the expression-compaction logic for clarity of presentation. New comments added. The EXPRDUP_DISTINCTSPAN flag is removed as obsolete. (CVS 6470) (check-in: [44ded2ea67] user: drh branch: trunk, size: 4689) | |
12:21 | [b32028f411] part of check-in [8362d88324] Do not attempt to walk a TokenOnly or SpanOnly expression tree node. Ticket #3791. (CVS 6469) (check-in: [8362d88324] user: drh branch: trunk, size: 4673) | |
2009-02-19
| ||
14:39 | [42bd3f00ca] 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: 4473) | |
2008-08-20
| ||
16:35 | Added: [488c2660e1] part of check-in [daf730d1de] Refactor the name resolution procedures in the code generator. (CVS 5569) (check-in: [daf730d1de] user: drh branch: trunk, size: 4405) | |