Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 check-ins occurring around 6bfa387e82de47ca.
2014-01-21
| ||
22:25 | Change the recursive common table expression algorithm to use a queue instead of a pair of tables. Runs about 25% faster on the sudoku solver query. The OP_SwapCursors opcode is no longer required. The current implementation uses just a fifo, but the plan is to change it into a queue that will support ORDER BY and LIMIT in a recursive query. (check-in: b2671e1133 user: drh tags: cte-via-queue) | |
15:04 | Remove the undocumented requirement for applications that use an SQLITE_ENABLE_SQLLOG build to define a sqlite3_init_sqllog() function. (check-in: 5e43bf0132 user: dan tags: trunk) | |
01:13 | Fix a couple comment typos and one overly long line. No functional changes. (Closed-Leaf check-in: c57deced09 user: mistachkin tags: level-pseudocolumn) | |
00:19 | Add support for the LEVEL pseudo-column in the recursive part of a common table expression. LEVEL has the value of 1 on the first iteration and successively larger integer values of subsequent iterations. It cannot have a table qualifier. Actual columns named "level" can still be accessed by including the table name qualifier. (check-in: cc1cb32178 user: drh tags: level-pseudocolumn) | |
2014-01-20
| ||
19:55 | In where.c, do not allocate space in sqlite3_index_info structures for the internal WHERE clause "terms" generated to record column equivalencies. Fix for ticket [1a1a194d1e5f8]. (check-in: 7d9e22187d user: dan tags: trunk) | |
18:25 | Handle a few obscure problems that could manifest if a database corrupted in a certain way was written by a connection in the middle of a SELECT statement on the same db. (check-in: eba8a564e6 user: dan tags: trunk) | |
14:58 | Remove an unused #define and add an assert(), both associated with WITH logic. (check-in: a06235e0f6 user: drh tags: trunk) | |
14:17 | Do not run the tests in with2.test with SQLITE_OMIT_CTE builds. (check-in: 8a973912e9 user: dan tags: trunk) | |
2014-01-18
| ||
18:33 | Add a sudoku solver to the recursive query tests in with1.test. (check-in: 679eff8759 user: drh tags: trunk) | |
15:59 | Add extra test cases. No changes to code. (check-in: d38d485e58 user: dan tags: trunk) | |
15:22 | Add asserts() for a couple of unreachable conditions. Add the Mandelbrot Set query as a test case. (check-in: 2ad4583c0c user: drh tags: trunk) | |
08:27 | Avoid spurious "no such table" errors in statements of the form "INSERT INTO tbl WITH xxx AS (...) SELECT * FROM xxx". (check-in: cccff8a0b4 user: dan tags: trunk) | |
2014-01-17
| ||
20:36 | Add extra tests to with2.test. (check-in: eecc325afd user: dan tags: trunk) | |
18:34 | Minor simplification of error message text for a couple of errors associated with WITH clause processing. (check-in: 2031004d96 user: drh tags: trunk) | |
17:40 | Resolve table names within CTEs in the context in which the CTE is declared, not the context in which it is used. (check-in: a7323838bb user: dan tags: trunk) | |
16:19 | Add tests that verify that keywords WITH, WITHOUT, and RECURSIVE can still be used as table and column names. (check-in: 9ca18a0191 user: drh tags: trunk) | |
15:27 | Fix a compiler warning in selectPopWith(). (check-in: c8eb11635a user: drh tags: trunk) | |
15:15 | Add support for common table expressions (WITH clauses). (check-in: 0171e3bb4f user: dan tags: trunk) | |
14:59 | Fix some problems to do with WITH clauses and name resolution. (Closed-Leaf check-in: 6a549187ed user: dan tags: common-table-expr) | |
11:48 | Remove some code from resolve.c that was only required for recursive cte references in sub-queries. Also a stray "finish_test" command in pagerfault.test. (check-in: f68c6c4d36 user: dan tags: common-table-expr) | |
2014-01-16
| ||
22:40 | Add the ability for the authorizer callback to disallow recursive queries. (check-in: 9efc120a15 user: drh tags: common-table-expr) | |
21:59 | Tweaks to error message text. (check-in: 090a77d978 user: drh tags: common-table-expr) | |
21:02 | Improve the error messages used to report illegal recursive cte references. (check-in: 54eee9fe99 user: dan tags: common-table-expr) | |
18:34 | Allow only a single recursive reference in a recursive CTE. Also require that this reference is not part of a sub-query. (check-in: a296b73360 user: dan tags: common-table-expr) | |
15:31 | Always use available indices to optimize LIKE operators even if the pattern of the LIKE operator has a COLLATE modifier. This fixes an ineffiency that was introduced into 3.7.15 by check-in [8542e6180d4] on 2012-12-08. (check-in: 16bd54783a user: drh tags: trunk) | |
10:58 | Disable the flattening optimization if the parent query is the recursive part of a recursive CTE and the sub-query is a compound query. (check-in: 6bfa387e82 user: dan tags: common-table-expr) | |
04:37 | Merge trunk changes. Fix a possible NULL-pointer deference in WITH clause name resolution. (check-in: 7f953b568b user: drh tags: common-table-expr) | |
2014-01-15
| ||
20:10 | Remove an ALWAYS() that is no longer always true. (check-in: c95823cd45 user: drh tags: common-table-expr) | |
19:42 | Fixes so that SQLITE_OMIT_CTE builds work. (check-in: 3908e2ea2e user: dan tags: common-table-expr) | |
18:35 | Further comments on WITH-clause processing routines in select.c. (check-in: c948384dfd user: drh tags: common-table-expr) | |
18:23 | Add a header comment to the searchWith() routine. (check-in: d9ae0f5d9f user: drh tags: common-table-expr) | |
18:21 | Disable automatic indices on recursive CTE references. (check-in: 28aa6db8c8 user: dan tags: common-table-expr) | |
18:12 | When resolving names, consider a reference to a recursive CTE column as equivalent to a reference to the outermost name-context. This ensures that correlated sub-queries are correctly identified as such. (check-in: 61be2da0ae user: dan tags: common-table-expr) | |
15:27 | Return an error if a CTE specifies a different number of columns than its SELECT statement returns. (check-in: 9a514b50e4 user: dan tags: common-table-expr) | |
14:40 | Don't try to verify the schema of transient table (such as generated inside a WITH clause) when generating code for "IN table" operators. (check-in: 860aa93663 user: drh tags: common-table-expr) | |
14:17 | Disable the flattening optimization if the sub-query is a recursive CTE. (check-in: 9472f6d820 user: dan tags: common-table-expr) | |
02:40 | Use the user-supplied table name in WITH RECURSIVE tables as the internal name of the table and the name of the table in VDBE comments. (check-in: a29330238b user: drh tags: common-table-expr) | |
00:24 | Merge recent fixes from trunk. Cherrypick of [c43b59dac1], [a221aa82bb], [e1eba1fb09], and [1e131094b5]. (check-in: c697d2f83c user: mistachkin tags: branch-3.8.2) | |
2014-01-14
| ||
20:14 | Add code to handle recursive CTEs. (check-in: a5c2a54a07 user: dan tags: common-table-expr) | |
10:17 | Fix harmless compiler warning in LEMON. (check-in: f61a70589a user: mistachkin tags: trunk) | |
10:17 | For the Win32 VFS, defining winShmMutexHeld should be controlled by NDEBUG, not SQLITE_DEBUG. (check-in: 1e131094b5 user: mistachkin tags: trunk) | |
2014-01-13
| ||
20:38 | In the command-line shell, defend against a NULL-pointer dereference in the case where sqlite3_column_name() returns NULL (as might happen following an OOM error). (check-in: ac15455abc user: drh tags: trunk) | |
20:32 | For statements of just an unadorned VALUES clause, assign column names as "columnN" for increasing whole numbers N. (check-in: 260587d272 user: drh tags: trunk) | |
16:36 | Fix some memory leaks and crashes that could follow an OOM condition during WITH clause parsing. (check-in: 8839850c44 user: dan tags: common-table-expr) | |
15:12 | Add code to handle non-recursive CTEs in the same way as SQL views. (check-in: a26f399ba4 user: dan tags: common-table-expr) | |
2014-01-11
| ||
19:19 | Update the parser so that sub-queries and CTEs may have WITH clauses. (check-in: 704d3931b8 user: dan tags: common-table-expr) | |
13:22 | Parse common table expressions. But do not do anything with them (yet). (check-in: da98b7205e user: drh tags: common-table-expr) | |
12:52 | In LEMON, limit the size of the grammar file to 100MB. This ensures that the program will never experience integer overflow. To be doubly sure, use calloc() instead of malloc() when allocating arrays. (check-in: 29ba458d84 user: drh tags: trunk) | |
03:54 | Optimizations to the SQL language grammar that result in a small size reduction and speed increase. (check-in: cb5d1f83e0 user: drh tags: trunk) | |
03:27 | Add the "%token_class" directive to the LEMON parser generator. This opens up the possibility of simplifying the parser. Also remove all calls to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler warnings on OpenBSD. (Aside: It is this change to avoid harmless compiler warnings that was the cause of the reason spat of bugs.) (check-in: 8eb48c04bd user: drh tags: trunk) | |