SQLite

Timeline
Login

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

50 descendants of 65ff5144a55f1ba2

2018-07-10
15:55
Experimental planner change to avoid a skip-scan if a regular index scan on the same index columns can be done instead. (Leaf check-in: 350f29ea1c user: dan tags: exp-begin-concurrent-pnu)
15:48
Merge begin-concurrent changes into this branch. (check-in: af17432eb1 user: dan tags: begin-concurrent-pnu)
15:45
Merge latest trunk changes into this branch. (check-in: e9a3e8642e user: dan tags: begin-concurrent)
07:39
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 tags: trunk)
07:25
Assert that if two functions compare equal in every other way, then they must both have OVER clauses, or neither has an OVER clause. Use this fact to simplify expression comparison. (check-in: 52559ad58c user: drh tags: trunk)
06:47
Enhance the sqlite3ExprCompare() routine so that it knows to compare the OVER clause of window functions. (check-in: 0a7649afeb user: drh tags: trunk)
06:32
Enhance the TreeView mechanism so that it shows the window function data structures as part of the abstract syntax tree. (check-in: a2c0e1bec0 user: drh tags: trunk)
05:11
New VDBE comments and coverage macros. (check-in: a9a307265b user: drh tags: trunk)
2018-07-09
22:49
Fixes for various harmless compiler warnings. (check-in: 5023b1b85b user: drh tags: trunk)
20:58
Add a comment to restriction (6) of the push-down optimization. No changes to code. (check-in: 0c8a2f257f user: drh tags: trunk)
20:41
Add an ALWAYS() around a branch in sqlite3BtreeSkipNext() that we believe must always be true. (check-in: 12be361a53 user: drh tags: trunk)
18:55
Avoid leaving view-definitions with an incomplete set of column names/types in the in-memory schema if an OOM strikes while allocating the same. (check-in: 1ddbb5372e user: dan tags: trunk)
18:11
Add a couple of OOM tests. (check-in: 50de2a0d2d user: dan tags: trunk)
17:33
Remove redundant branches in window function processing. (check-in: 8fdaf3f37e user: drh tags: trunk)
16:24
Simplification to the grammar rules for window functions. Fix a memory leak that can follow an OOM while parsing a comma-separated list of window definitions. (check-in: a568f9c9db user: drh tags: trunk)
13:31
Throw an error if the second argument passed to nth_value() is not a positive integer. (check-in: 1a06e57a0b user: dan tags: trunk)
06:51
Fix a bad assert() in window.c. (check-in: fe8aaf0c80 user: dan tags: trunk)
02:37
Simplification to the logic that detects misuse of the application-defined function creation interfaces. (check-in: 8f21d77845 user: drh tags: trunk)
02:02
During WITHOUT ROWID table creation, if the sqlite3CreateTable() call fails due to an authorizer denying the INSERT into the sqlite_master table, then detect this fact and abort the CREATE TABLE early, to avoid an assertion fault. (check-in: 164b1641e3 user: drh tags: trunk)
2018-07-08
01:02
Identify specific FuncDef objects for window functions using the pointer to the function name (FuncDef.zName) rather than the pointer to the xStep method. This allows xStep method pointer to be replaced with a single noopStepFunc() procedure, and thus save having lots of different no-op step functions. (check-in: 410e13b0e0 user: drh tags: trunk)
2018-07-07
20:55
Simplifications to the implementation of the sum() SQL function. (check-in: a8b1300237 user: drh tags: trunk)
20:26
Fix another problem with reusing LSM cursors for range scans. (check-in: ae3fc7652f user: dan tags: trunk)
20:23
Fix the JSON extension so that it can be compiled separately from the amalgamation. (check-in: 4b8cfe7bfe user: drh tags: trunk)
20:13
Fix an LSM problem caused by using the same cursor for equality and range scans. (check-in: f05bead371 user: dan tags: trunk)
19:47
Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. (check-in: fdef2a921d user: drh tags: trunk)
19:36
Add an assert() to help verify that OP_AggInverse is never called on an accumulator that has not previously been processed by OP_AggStep. (check-in: 4213889103 user: drh tags: trunk)
17:38
Add missing VdbeCoverage() macro to window.c. (check-in: 63f4d306ba user: dan tags: trunk)
17:30
Fix a problem with the handling of NULL values in the min() window function. (check-in: b76f35b092 user: dan tags: trunk)
2018-07-06
17:19
Try to improve the error messages for misformed frame specifications in window definitions. (check-in: 927b95a081 user: drh tags: trunk)
14:31
Also disallow non-constant expressions in "<expr> PRECEDING" or "<expr> FOLLOWING" clauses. (check-in: a6dffecc6b user: dan tags: trunk)
14:15
Ensure an error is returned if the user specifies an unsupported frame type. (check-in: 0f3f8fcde1 user: dan tags: trunk)
13:48
Prevent "UNBOUNDED FOLLOWING" from being used as the starting boundary of a window-frame. And "UNBOUNDED PRECEDING" from being used as the ending boundary. (check-in: e51fdf66a2 user: dan tags: trunk)
13:25
Remove some bad assert() statements from the implementations of window functions percent_rank() and cume_dist(). (check-in: 443f0c286f user: dan tags: trunk)
07:42
Return an error if DISTINCT is used with a window-function (e.g. "count(DISTINCT <expr>) OVER (...)"). (check-in: d59bcc8eea user: dan tags: trunk)
2018-07-05
21:22
Use separate opcodes, OP_AggValue and OP_AggInverse, for the new callbacks associated with Window Functions, for improved readability of EXPLAIN output. (check-in: fa65380509 user: drh tags: trunk)
20:33
Update the recipe for resetting a database using SQLITE_DBCONFIG_RESET_DATABASE. (check-in: c43dd23fb0 user: dan tags: trunk)
20:05
Get the json_group_array() and json_group_object() SQL functions working as window functions. (check-in: 916cdc83f5 user: drh tags: trunk)
18:34
Return an error if a "RANGE" window-frame uses "<expr> PRECEDING" or "<expr> FOLLOWING". (check-in: 786c87ba41 user: dan tags: trunk)
18:19
Fix a problem in the xInverse method of window-function group_concat(1). (check-in: 7339128310 user: dan tags: trunk)
17:35
Fix the .dump command in the command-line shell so that it does not show extraneous SELECT statements when ".echo on" is enabled. (check-in: 11763cac33 user: drh tags: trunk)
17:16
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. (check-in: e6108047cb user: dan tags: trunk)
17:03
Fix a typo inside an assert() statement introduced by the previous commit. (Closed-Leaf check-in: e335772847 user: dan tags: exp-busy-snapshot-fix)
15:46
In wal mode, if a "BEGIN EXCLUSIVE" command (or any other command that upgrades from no transaction directly to a write transaction) hits an SQLITE_BUSY_SNAPSHOT error, change the error code to SQLITE_BUSY to indicate to the caller that the condition may be transient. (check-in: 221ff63e79 user: dan tags: exp-busy-snapshot-fix)
2018-07-04
14:28
Experimental planner change to avoid a skip-scan if a regular index scan on the same index columns can be done instead. (Leaf check-in: 32924446db user: dan tags: exp-avoid-expensive-skipscan)
2018-07-03
20:17
Test that a race condition can cause a "BEGIN EXCLUSIVE" to return SQLITE_BUSY_SNAPSHOT in wal mode. (check-in: 5a12db75d1 user: dan tags: trunk)
2018-07-02
17:45
Fix a problem in the xInverse callback for the built-in sum() window function. (check-in: b656364738 user: dan tags: trunk)
17:14
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 tags: trunk)
15:03
Fix a crash caused by a LIKE pattern that consists of a single escape character. Problem found by OSSFuzz. (check-in: bb9bfc3a12 user: dan tags: trunk)
12:07
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 tags: trunk)
2018-07-01
16:05
Quick patch to the Lemon parser template to avoid an array overread reported by OSSFuzz. A proper fix involves enhancements to the table generators in Lemon to make the overread impossible. That fix will take longer to implement. The current check-in is a stop-gap. (check-in: 3f6730be4c user: drh tags: trunk)
2018-06-30
20:26
Avoid a warning in fts5.c due to not using generated routine sqlite3Fts5ParserFallback(). (check-in: 65ff5144a5 user: dan tags: trunk)