SQLite

Timeline
Login

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

50 descendants and 50 ancestors of c155125fd5dddb43

2019-03-29
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)
2019-02-16
17:27
Add support for chaining of WINDOW definitions. (check-in: c155125fd5 user: dan tags: window-functions)
2019-02-14
15:27
Improved oversized cell detection when updating ptrmap pages in balance_nonroot(). (check-in: aa61435a4c user: drh tags: trunk)
2019-02-12
22:58
Ensure that the nProgressLimit variable is always initialized in sqlite3VdbeExec(), even if the routine jumps to its exit processing early. (check-in: 167b91df77 user: drh tags: trunk)
21:04
Enhancement the progress callback mechanism so that the progress callback is always invoked at least once at the end of a prepared statement if the opcode count has been exceeded. This makes the progress callback more effective at limiting run times. This check-in also includes and unrelated performance enhancement to OP_Column. (check-in: 68cce272e7 user: drh tags: trunk)
16:58
Further performance improvements to btreeInitPage(). (check-in: 93ae382e97 user: drh tags: trunk)
15:51
Increase the version number to 3.28.0 for the next release cycle. (check-in: 6eb38c59a8 user: drh tags: trunk)
12:25
Register the "vfsstat" virtual table immediately when loading the vfsstat.c extension. (check-in: 9bd92afd0c user: drh tags: trunk)
01:28
New test cases in test/fuzzdata8.db. (check-in: ab2356f580 user: drh tags: trunk)
01:04
Defer computing the number of bytes of free space on a btree page until that value is actually needed. (check-in: 177f5f40ea user: drh tags: trunk)
00:58
Change an assert() into a NEVER(), since the condition is difficult to prove with certainty. Improved comment on the MemPage.nFree field. (Closed-Leaf check-in: fec071b89d user: drh tags: deferred-free-space)
2019-02-11
22:50
Do not invoke btreeComputeFreeSpace() when not necessary. (check-in: f11b0ed474 user: drh tags: deferred-free-space)
19:27
Improvements to comments. No changes to code. (check-in: 16eb0fc8f8 user: drh tags: deferred-free-space)
17:22
Fix test cases. Avoid unnecessary tests for MemPage.nFree less than zero. (check-in: 480a5090be user: drh tags: deferred-free-space)
16:12
Fix another segfault that could occur in fts5 with a corrupted database. (check-in: 09e337386b user: dan tags: trunk)
13:25
Fix typos in comments in fts5.h. No changes to code. (check-in: c19e97bc92 user: dan tags: trunk)
12:51
Updates to a comment to keep it in alignment to the changes on this branch. (check-in: 7499f74351 user: drh tags: deferred-free-space)
11:34
Build and test fixes for SQLITE_OMIT_WINDOWFUNC builds. (check-in: 8824115a97 user: dan tags: trunk)
11:04
Avoid using a "return void_function();" statement in void function sqlite3WalSnapshotUnlock(). It provokes a warning from some compilers. (check-in: 4a4952d38e user: dan tags: trunk)
01:58
Add an assert() in an attempt to repro an ASAN warning from OSSFuzz. (check-in: 7b41222428 user: drh tags: trunk)
2019-02-09
22:33
Fix a page-cache reference leak in the btree balancer when there is a corrupt database. (check-in: 9285899120 user: drh tags: deferred-free-space)
21:06
Defer computing the MemPage.nFree value of an in-memory btree page until it is actually needed, since for many pages it is never needed. This checkin works sufficiently to prove the concept, but still has issues with exception handling. (check-in: 1d43ee4000 user: drh tags: deferred-free-space)
19:23
Change a few assert() statements in fts3 that might fail if the database is corrupt. (check-in: db74a56af7 user: dan tags: trunk)
2019-02-08
22:34
Small performance improvement and size reduction for pageFindSlot() - the routine in btree.c that locates a free slot for a cell on a btree page. (check-in: 1969372ac7 user: drh tags: trunk)
17:28
Further simplifications to sqlite3VdbeMemSetStr(). (check-in: 1d21295707 user: drh tags: trunk)
15:59
Change the sqlite3VdbeMemGrow() routine so that it no longer guarantees a minimum size of 32 bytes. That minimum is no longer required, and without the extra check for the minimum size, the routine runs faster. (check-in: 5c499da8a4 user: drh tags: trunk)
14:55
Give the sqlite3 object a pointer to the current Parse so that if an OOM occurs, it can automatically set the Parse.rc value to SQLITE_NOMEM. This avoids a frequent extra test of db.mallocFailed in the innermost parser loop. (check-in: 5c6638040b user: drh tags: trunk)
04:15
Do not do the optimization that attempts to pull expression values from an index on that expression when processing a multi-index OR (see check-in [a47efb7c8520a0111]) because the expression transformations that are applied become invalid when the processing moves off of the current index and on to the next index. Fix for ticket [4e8e4857d32d401f]. (check-in: 440a7cda00 user: drh tags: trunk)
2019-02-07
19:07
Change VACUUM so that it preserves ROWID values. (check-in: 49e5d11d46 user: drh tags: trunk)
17:02
Version 3.27.0 (check-in: 97744701c3 user: drh tags: trunk, release, version-3.27.0)
15:09
Experimental change to VACUUM so that it preserves existing ROWID values. (Closed-Leaf check-in: f264015f84 user: drh tags: vacuum-preserves-rowid)
00:17
In the fuzzcheck test program, make sure the isspace() and related routines are not given values outside the range of -1 to 255. (check-in: f298328771 user: drh tags: trunk)
2019-02-06
20:49
Ensure all bytes of the PgHdr1 structure are initialized. This avoids a valgrind error when running corruptI.test. (check-in: a505e34d4e user: dan tags: trunk)
20:12
Update an assert() in test_journal.c to take the new "VACUUM INTO" functionality into account. (check-in: 0e6249cb95 user: dan tags: trunk)
19:42
Avoid attempting to delete a file while it is still open in walfault2.test. (check-in: 9d54a63d6e user: dan tags: trunk)
18:08
Update test file dbfuzz001.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: 4371a0c46e user: dan tags: trunk)
15:23
Add -DSQLITE_ENABLE_DESERIALIZE to the default testing configuration in test/releasetest.tcl. (check-in: 433d6ef637 user: dan tags: trunk)
13:48
Do not attempt to test the shell ".trace" command in SQLITE_OMIT_TRACE builds. (check-in: 3839e90981 user: dan tags: trunk)
13:41
Fix a problem preventing testfixture from being built with SQLITE_OMIT_VIRTUALTABLE. (check-in: d2cca36adc user: dan tags: trunk)
01:18
When extending the size of SrcList objects, do not attempt to use extra space on the end of the allocation, as that provides scarcely any performance benefit but does greatly complicate cross-platform testing. (check-in: 3087a0c31e user: drh tags: trunk)
00:55
If the query flattener detects an error, cause the SELECT code generator to abort immediately. (check-in: 3d3b142f10 user: drh tags: trunk)
00:11
Back out check-in [008112bcef561a8], reenabling deprecated PRAGMAs when the SQLITE_OMIT_DEPRECATED compile-time option is used, because way too many TH3 tests depend on those deprecated PRAGMAs. (check-in: 9dbf512d1c user: drh tags: trunk)
2019-02-05
20:51
Omit the ".progress" command from the shell if it is compiled with the SQLITE_OMIT_PROGRESS_CALLBACK option. (check-in: 4d0a949fd9 user: drh tags: trunk)
19:52
Fix a harmless compiler warning in the memtrace.c extension. (check-in: 2f468da4e9 user: drh tags: trunk)
19:48
Fix compiler warnings on Windows. (check-in: 4978ee8b54 user: drh tags: trunk)
16:53
Update the tester.tcl --malloctrace option so that it uses eu-addr2line instead of addr2line. (check-in: 79c073878d user: dan tags: trunk)
14:36
The IS NOT NULL operator does not imply that the operand is never NULL. Fix for ticket [5948e09b8c415bc45da5cf] (check-in: d840e9bb02 user: drh tags: trunk)
12:16
Keep the temp_store_directory and data_store_directory pragmas even when compiling with SQLITE_OMIT_DEPRECATED. (check-in: 93386a7c97 user: drh tags: trunk)
08:55
Update test file "resetdb.test" so that it works with the "prepare" permutation. (check-in: 95d338124b user: dan tags: trunk)
2019-02-04
21:10
Early detection of implausibly sized records to avoid unnecessary large memory allocations. (check-in: 2c8769c69f user: drh tags: trunk)
19:52
Mention the new -memtrace command-line option in the -help output of the CLI. (check-in: ada91aefe3 user: drh tags: trunk)
19:50
Add the -memtrace option to dbfuzz2. (check-in: 67fecbc79d user: drh tags: trunk)