/ Timeline
Login

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

50 descendants and 50 ancestors of e8eee566dfca6f4c8af074731dfe91f7fbcd9ca72f0303235b52e4e2e80d5b71

2019-03-29
13:17
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause. (check-in: f5752517f5 user: dan tags: trunk)
11:48
Fix typos in the comments of the sessions extension, one of which affects the generated documentation. No code changes. (check-in: 040d5d515b user: drh tags: trunk)
11:39
The two-argument version of fts3_tokenizer() works regardless of the value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second argument is a bind parameter. (check-in: ab76e3a90e user: drh tags: value_frombind)
11:13
Initial implementation of the sqlite3_value_frombind() interface. (check-in: 98da62dfda user: drh tags: value_frombind)
01:15
Recover a some of the performance lost by window function alias fix two check-ins back. (check-in: 965cbcea11 user: drh tags: trunk)
2019-03-28
20:50
Add new test cases to test/fuzzdata8.db (check-in: f908cd40b2 user: drh tags: trunk)
16:15
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions. (check-in: 1e16d3e8fc user: dan tags: trunk)
13:53
Show the pointer address for Window objects in the TreeView display. (check-in: 1ae70ad2ff user: drh tags: trunk)
13:35
More improvements to TreeView output for Window objects: (1) Show when the frame-spec is implied rather than explicit. (2) Move the FILTER clause out from within the OVER clause, making it a sibling of the OVER clause, to match syntax. (check-in: d6a0743342 user: drh tags: trunk)
13:03
Improved TreeView display of Window objects. Change the Window.eType field to Window.eFrmType to avoid confusion with other "eType" values. (check-in: ec2f207ded user: drh tags: trunk)
04:03
If the string formatter in sqlite3NestedParse() fails due to an over-length string, make sure this error is recorded by the parser so that it knows to fail. (check-in: 85e53ff133 user: drh tags: trunk)
01:00
Improvements to the README.md file. No code changes. (check-in: bbdbaf84a5 user: drh tags: trunk)
2019-03-27
14:59
Support building the Tcl bindings DLL using MSVC. (check-in: b2011c1317 user: mistachkin tags: trunk)
14:58
Fix harmless compiler warnings seen with MSVC. (check-in: 5be64ea8e3 user: mistachkin tags: trunk)
2019-03-26
16:47
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING". (check-in: 7927b6b023 user: dan tags: trunk)
16:21
Fix harmless compiler warnings. (check-in: a063f7c426 user: drh tags: trunk)
13:08
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining. (check-in: c6da39115d user: dan tags: trunk)
2019-03-22
13:56
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select. (Closed-Leaf check-in: 9aca86f983 user: dan tags: window-functions)
2019-03-21
13:51
Remove assert() statements based on the counter-factual proposition that 0 is not a valid cursor number. (check-in: c7b336181a user: dan tags: window-functions)
2019-03-19
19:39
Add further tests to window8.test. (check-in: ec7e224f50 user: dan tags: window-functions)
19:19
Fix a problem with EXCLUDE clauses on window frames with no ORDER BY. (check-in: e025506379 user: dan tags: window-functions)
17:45
Add tests to ensure that the window functions implementation is not generating code for unnecessary sorts. (check-in: e195948a68 user: dan tags: window-functions)
16:49
Add missing VdbeCoverage() macros to new code in window.c. (check-in: 4f9b93e6cf user: dan tags: window-functions)
11:56
Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required. (check-in: c02f77b1b4 user: dan tags: window-functions)
11:17
Update this branch with latest trunk changes. (check-in: 98cc265987 user: dan tags: window-functions)
06:40
Ensure that all the new window-function keywords can still be used as SQL identifiers. (check-in: a6d61dfd47 user: dan tags: window-functions)
2019-03-18
21:19
Add further tests for new window function functionality. (check-in: 1fbddf01b1 user: dan tags: window-functions)
18:55
Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set. (check-in: 2879a691ac user: dan tags: window-functions)
16:51
Fixes for RANGE windows and NULL values. (check-in: 723c84be3e user: dan tags: window-functions)
2019-03-16
20:29
Fix problems with RANGE windows and string, blob and NULL values. (check-in: cebe09e11c user: dan tags: window-functions)
10:15
In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register. (check-in: f2d5f7a24c user: dan tags: window-functions)
2019-03-15
20:46
Implement the EXCLUDE clause for window frames. (check-in: 9b43c3ee2e user: dan tags: window-functions)
2019-03-14
20:53
Parse EXCLUDE clauses in window frames. They do not yet work. (check-in: d03c7533a1 user: dan tags: window-functions)
16:36
Add things to this branch that will be required to support the EXCLUDE clause. (check-in: 7d66cd2013 user: dan tags: window-functions)
2019-03-13
17:31
Merge latest trunk changes into this branch. (check-in: 0b904517bd user: dan tags: window-functions)
17:20
Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions. (check-in: 180be26623 user: dan tags: window-functions)
15:29
Remove rows from the ephemeral table used by window functions once they are no longer required. (check-in: 6ad5531920 user: dan tags: window-functions)
08:28
Minor optimization in sqlite3WindowCodeStep(). (check-in: b1322ffb6e user: dan tags: window-functions)
2019-03-12
18:28
Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames. (check-in: 25ff7091cb user: dan tags: window-functions)
15:21
Expand on header comment for sqlite3WindowCodeStep(). Further simplify the implementation of the same. (check-in: 5129bcc996 user: dan tags: window-functions)
2019-03-11
19:50
Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself. (check-in: 0812635383 user: dan tags: window-functions)
18:17
Simplify the windows frame code some. Add a comment explaining some of the VM code generated by sqlite3WindowCodeStep(). (check-in: 6bd1a07949 user: dan tags: window-functions)
11:12
Fix problems with "RANGE ... ORDER BY <expr> DESC" window frames. (check-in: e7bced731a user: dan tags: window-functions)
2019-03-09
20:49
Add support for RANGE window frames. Some cases still do not work. (check-in: ffc32b246d user: dan tags: window-functions)
07:38
Merge latest trunk changes into this branch. (check-in: 53ea550ce7 user: dan tags: window-functions)
2019-03-08
20:57
Add simple tests for GROUPS window frames. (check-in: 2872702dac user: dan tags: window-functions)
20:02
Finish consolidation of window frame code. Add untested support for GROUPS frames. (check-in: 954bf36993 user: dan tags: window-functions)
2019-03-07
20:47
Fix other "ROWS BETWEEN" cases on this branch. (check-in: a5f68f6647 user: dan tags: window-functions)
19:26
Modify new window functions function so that cursors are stepped immediately after each operation, instead of immediately before. (check-in: 093d2b25f1 user: dan tags: window-functions)
2019-03-06
21:04
Simplify the window function code generator some more. (check-in: 45cbd3b449 user: dan tags: window-functions)
17:12
Improvements to the way built-in window functions are handled. (check-in: e8eee566df user: dan tags: window-functions)
2019-03-05
19:29
Extend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification. (check-in: af0ea13635 user: dan tags: window-functions)
2019-03-04
21:08
Merge trunk changes into this branch. (check-in: 9b4d561f68 user: dan tags: window-functions)
21:07
Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions. (check-in: e7a91f1228 user: dan tags: window-functions)
07:15
Fix a problem preventing compilation with SQLITE_OMIT_UTF16. (check-in: 906d1fd865 user: dan tags: trunk)
2019-03-02
20:09
Improved comments on the fossildelta.c extension. (check-in: d7d23f0450 user: drh tags: trunk)
15:25
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works with SQLITE_HAS_CODEC. (check-in: fd085e9260 user: drh tags: trunk)
12:17
Remove a redundant parameter extraction call from the percentile.c extension. (check-in: d49c32e6e7 user: drh tags: trunk)
2019-03-01
21:33
The fts3_tokenizer() function returns NULL if the SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is by default. (check-in: f5732f4caf user: drh tags: trunk)
21:12
Fix a minor comment typo. No code changes. (check-in: 9a0a93c89d user: drh tags: trunk)
18:07
In a query that uses a partial index, the expression that is the WHERE clause of the partial index must always be true. Use this fact to avoid evaluating identical terms in the WHERE clause of the query. (check-in: 9b2879629c user: drh tags: trunk)
2019-02-28
20:10
Add the ".parameter" command to the CLI. (check-in: 1f9fa58541 user: drh tags: trunk)
17:29
Add the new "bind_fallback" method to the "sqlite3" object in the TCL interface. (check-in: c7f70b6d96 user: drh tags: trunk)
14:09
New test case loaded into test/fuzzdata8.db. (check-in: 00ae0c6c48 user: drh tags: trunk)
13:41
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt. (check-in: d5250db632 user: dan tags: trunk)
13:21
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter. (check-in: 6bfd8655f0 user: drh tags: trunk)
2019-02-27
23:05
Enable the LIKE optimization when the ESCAPE keyword is present and the PRAGMA case_sensitive_like pragma is ON. (check-in: 6ae4b8c525 user: drh tags: trunk)
19:59
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error, when reading an empty file. (check-in: 0edad5339e user: drh tags: trunk)
16:38
Add the "-returntype" option to the "db function" Tcl method. (check-in: 789a492b68 user: dan tags: trunk)
15:26
Verify that fts5 auxiliary functions cannot be used in aggregate queries. (check-in: 122330dba3 user: dan tags: trunk)
2019-02-26
19:16
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9. (check-in: 29d02bf2fa user: dan tags: trunk)
18:21
Minor change to dbfuzz2 that allows it to be compiled against older versions of SQLite. (check-in: 6d39d6a68b user: drh tags: trunk)
17:52
New test cases added to test/fuzzdata8.db. (check-in: 61fdfc57b9 user: drh tags: trunk)
17:49
Allocate a few extra bytes for the pager temp page as an overrun buffer while processing corrupt database files. (check-in: e7aca0714b user: drh tags: trunk)
16:17
Use unsigned integers to count the number of pages in a freelist during an integrity_check, to avoid any possibility of a signed integer overflow. (check-in: 05b87e0755 user: drh tags: trunk)
16:11
Fix a harmless compiler warning that only comes up during debug builds. (check-in: 848869ced9 user: drh tags: trunk)
12:29
Update the configure-generated makekfile to generate a portable pkgIndex.tcl. (check-in: 35cbee7fe4 user: drh tags: trunk)
2019-02-25
18:43
Enhance the command-line shell to accept bound parameters, using the TEMP table named "$Parameters" to look up the values for bound parameters. (check-in: 7c941ce5bc user: drh tags: trunk)
14:52
Update comments on the fossildelta extension. No changes to code. (check-in: 9da4fb59b2 user: drh tags: trunk)
14:16
Fix a typo in the documentation for sqlite3_total_changes(). (check-in: 8474c1560e user: drh tags: trunk)
2019-02-23
20:48
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt. (check-in: 84162af521 user: dan tags: trunk)
00:21
Check-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and also a fix to make it right. Then add an alternative fix to ticket [df46dfb631f75694] in which all ephemeral tables used as the RHS of an IN operator be index btrees and never table btrees so that they can always be reused. (check-in: d3915230e3 user: drh tags: trunk)
00:08
Remove a testcase() macro which is now unreachable due to the contraction of the use of IN_INDEX_ROWID. (Closed-Leaf check-in: 90c5a17cd5 user: drh tags: tkt-df46dfb631)
2019-02-22
23:29
Make all ephemeral tables built to hold the RHS of an IN operator be index-btrees, never table-btrees, regardless of whether or not they are used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP. That way, the same ephmerial table can be reused for both cases. (check-in: c2d50df8fd user: drh tags: tkt-df46dfb631)
21:33
Check-in [fa792714ae62fa980] is not a valid fix for ticket [df46dfb631f75694], as the new test case in this check-in demonstrates. The fix here causes test cases for the [df46dfb631f75694] bug to fail again, so this check-in is on a branch. A new fix is needed for [df46dfb631f75694]. (check-in: 0d456456da user: drh tags: tkt-df46dfb631)
19:24
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6]. (check-in: 579b66eaa0 user: dan tags: trunk)
16:18
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG errors and to distinguish between them. (check-in: 73056b314b user: drh tags: trunk)
15:42
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always return NULL on any OOM or SQLITE_LIMIT_LENGTH error. (check-in: e7144ffd21 user: drh tags: trunk)
2019-02-21
16:41
Detect oversized strings in the OP_String opcode even if the P4 argument is originally UTF8 and has to be converted to UTF16 to match the database file and that conversion causes the string to become shorter and cross below SQLITE_LIMIT_LENGTH threshold. This might fix an OSSFuzz problem that we have been so far unable to reproduce. (check-in: c13d563925 user: drh tags: trunk)
2019-02-20
19:20
Changes to the unix VFS that allegedly enable it to build of Fuchsia. We have no way of testing this. (check-in: be21a6416d user: drh tags: trunk)
19:06
Disable unix-specific features of dbfuzz2 when compiling on windows. (check-in: af84774d1e user: drh tags: trunk)
18:13
Avoid the use of function pointers in columnName(), as function pointers appear to be a source of consternation to LLVM. (check-in: c48f6f39c5 user: drh tags: trunk)
13:55
Progress handler improvements: (1) Invoke the callback after OP_Program opcodes (2) Invoke the callback multiple times in a row to catch up after a long run of no progress checks. (check-in: 0c5db18d79 user: drh tags: trunk)
12:52
When an IN operator drives a query loop, mark it as "CODED" so that it will not be used afterwards for a (pointless) membership test. This is a better fix for ticket [df46dfb631f75694] than the previous fix that is now on a branch as it preserves the full optimization of check-in [e130319317e76119]. (check-in: fa792714ae user: drh tags: trunk)
2019-02-19
20:29
Enhance the xBestIndex method on delta_parse() to return SQLITE_CONSTRAINT if no delta argument is supplied. (check-in: f16d127c3b user: drh tags: trunk)
20:19
Add the delta_parse(DELTA) table-valued function to the fossildelta extension. (check-in: d91fcc267b user: drh tags: trunk)
18:39
Add the fossildelta.c extension in ext/misc with implementations of the Fossil delta functions. (check-in: b80cafa6f8 user: drh tags: trunk)
17:45
Fix a potential memory leak in RBU if the rbu_fossil_delta() SQL function is misused. Misuse never happens in a working RBU system, so this is not a particularly important fix. (check-in: 12517d1b15 user: drh tags: trunk)
16:42
Fix an assert() that might not be true if the database file is corrupt. (check-in: f2d400db4d user: drh tags: trunk)
13:51
New assert() to verify the TF_HasprimaryKey flag. (check-in: 0abace8a7a user: drh tags: trunk)
13:08
Always use the symbolic name SQLITE_IDXTYPE_PRIMARYKEY rather than a hard-coded magic number 2. (check-in: 55d43adc89 user: drh tags: trunk)