/ Timeline
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

100 check-ins occurring around 148d9b61471a874a.

2018-07-28
14:56
Fix an assert() statement that was made obsolete by the constant propagation enhancement. Problem discovered by OSSFuzz. check-in: e4b4737e user: drh tags: trunk
14:34
Improved debugging output when the ".selecttrace" option is used in the shell. check-in: fcb88dd6 user: drh tags: trunk
13:37
An early attempt at refactoring Expr Closed-Leaf check-in: fc90a53d user: drh tags: expr-simplify-branch1
01:30
Add assert() statements to sqlite3ExprDelete() that prove various symmetry properties of the Expr object that might be exploited to make the Expr object smaller and faster. check-in: 81f25d5c user: drh tags: expr-simplify
2018-07-27
23:33
Improvements to the parser to increase coverage. Fix the parser so that at least one expresssion is required after PARTITION BY and within the list of expressions on VALUES(). check-in: 02204f8b user: drh tags: trunk
22:55
When doing a DROP VIEW do not try to delete entries from the sqlite_stat1 table as there are none. check-in: 7efdba2b user: drh tags: trunk
22:14
Minor grammar changes that help the parser run faster by reducing the number of NUL rule reductions. check-in: cfd1b005 user: drh tags: trunk
20:45
Enhance Makefile for MSVC to support building the shell tool without using the amalgamation. check-in: 3d815d83 user: mistachkin tags: trunk
20:37
The WHERE-clause constant propagation optimization attempts to use transitive laws to replace column values with constants in the WHERE clause in order to help to query planner make more aggressive optimizations. check-in: f4229707 user: drh tags: trunk
20:01
Reduce the performance cost of the constant propagation optimization to less than 200,000 cycles. Closed-Leaf check-in: 865249de user: drh tags: propagate-const-opt
18:19
Performance improvement to sqlite3ExprCollSeq(). With this change, the performance of speed-check.sh is within 400,000 cycles of trunk. check-in: a5f86f49 user: drh tags: propagate-const-opt
18:12
Faster implementation of sqlite3IsBinary(). check-in: be05d0db user: drh tags: propagate-const-opt
17:51
Only run the constant propagation optimization on joins since that is the only scenario where it is useful. This saves prepare time for the common case of a simple query. check-in: 598d6083 user: drh tags: propagate-const-opt
16:57
Constant propagation is now restricted to just the WHERE clause. The mechanism is changed to take affinity and collation into account. This seems to give correct answers. But the search for constant propagation costs 4 million cycles in the speed test. check-in: 82c67efb user: drh tags: propagate-const-opt
2018-07-26
23:54
Add a test case demonstrating the collation problem with constant propagation. check-in: 50add839 user: drh tags: propagate-const-opt
23:47
Generalize the constant propagation optimization so that it applies on every WHERE close, not just those that contain a subquery. This then demonstrates that the current implementation is inadequate since it does not take into account collating sequences. check-in: 57eb2abd user: drh tags: propagate-const-opt
21:48
In the unix VFS, give every unixInodeInfo object its own mutex, rather than using the global VFS mutex, to improve concurrency in cases where there are many threads operating on separate database files. check-in: 22f47cf4 user: drh tags: trunk
21:16
Initial implementation of the WHERE-clause constant propagation optimization. check-in: 2fb82ad8 user: drh tags: propagate-const-opt
2018-07-25
15:25
Fix a buffer overread in fts5. check-in: 0e3de8ab user: dan tags: trunk
15:12
Keep generated opcode values grouped together when required, even when they do not correspond to a token. check-in: 6ee2950b user: mistachkin tags: trunk
07:29
Fix a typo in the documentation for sqlite3_snapshot_get(). check-in: cd9713c9 user: dan tags: trunk
2018-07-24
22:02
Do not abort running queries due to a CREATE INDEX statement. Allow them to run to completion before being reprepared. Fix for ticket [c694113e50321afdf9]. check-in: 2bd59333 user: drh tags: trunk
13:57
Add missing SQLITE_OMIT_WINDOWFUNC check to the json1 extension. check-in: fe19f823 user: mistachkin tags: trunk
2018-07-23
22:55
Return an SQLITE_NOMEM error if the locking mutex fails to allocate. Closed-Leaf check-in: 1c948348 user: drh tags: separate-lock-mutex
21:10
First attempt at reducing mutex contention in the unix VFS by providing a separate mutex for each unixInodeInfo object. check-in: f69afaf0 user: drh tags: separate-lock-mutex
18:53
Fix typo of 'SQLITE_OMIT_WINDOWFUNC'. check-in: 8607b84a user: mistachkin tags: trunk
18:32
Attempt to improve the documentation for snapshots. No changes to code. check-in: 46dd076a user: drh tags: trunk
10:57
Fix the macros used to generate the output of "PRAGMA compile_options" so that they handle valid values for the SQLITE_DEFAULT_LOOKASIDE macro (which contain a "," character). check-in: 1cc72845 user: dan tags: trunk
2018-07-22
21:23
Fix more harmless compiler warnings seen with MSVC. check-in: edab5666 user: mistachkin tags: trunk
21:08
Another minor revision to the 'fulltestonly' set of tests. check-in: 61f8e2a4 user: mistachkin tags: trunk
20:24
Fix harmless compiler warning. check-in: ead4762d user: mistachkin tags: trunk
06:25
In the Win32 VFS, when truncating a file, unmap it first. check-in: 21510a66 user: mistachkin tags: trunk
00:45
Remove an unused branch in the FK logic. Closed-Leaf check-in: 523ff779 user: drh tags: dropViewNoStat
2018-07-21
23:15
In 'resetdb.test', close a database prior to trying to delete it. check-in: 45137053 user: mistachkin tags: trunk
2018-07-20
20:56
When dropping a view, skip trying to delete from 'sqlite_stat*'. check-in: 2f5be3a2 user: mistachkin tags: dropViewNoStat
19:24
Change the SQLITE_Stat34 bit of the optimization test-control so that it prevents STAT4 data from being used but allows it to be loaded into the Index objects. This permits STAT4 to be turned on and off on a per-statement basis. check-in: 489f3caf user: drh tags: trunk
18:01
Experimental change to ANALYZE so that when computing values for sqlite_stat1, it uses the maximum number for the number of rows having equivalent values, rather than the average. Leaf check-in: 085f17e1 user: drh tags: stat1-max
15:44
New checks in PRAGMA integrity_check to validate the autovacuum settings in the header. check-in: a4663f09 user: drh tags: trunk
13:39
Enhanced detection of problems on the freelist and on overflow list in PRAGMA integrity_check. check-in: 11e58f5b user: drh tags: trunk
2018-07-19
15:27
Avoid a branch in the commit logic that is unreachable when compiled without SQLITE_ENABLE_BATCH_ATOMIC_WRITE. check-in: 271b8980 user: drh tags: trunk
14:40
Allow the VACUUM following SQLITE_DBCONFIG_RESET_DATABASE to proceed even if the write-version in the header indicates that the database file is not writable. check-in: 3dca8b9d user: drh tags: trunk
11:44
Experimental fix for resetting databases that have been deemed read-only due to a corrupt "read-version" header field. Closed-Leaf check-in: e2394002 user: dan tags: exp-dbreset-fix
2018-07-18
19:09
Add the SQLITE_FCNTL_DATA_VERSION file control check-in: a5087c5c user: drh tags: trunk
17:37
Fix a harmless compiler warning in the pager. Enhance the docs for sqlite3_changes() and sqlite3_total_changes() to refer to the data_version pragma. check-in: 4c70ea5b user: drh tags: trunk
2018-07-17
14:01
If an SQLITE_IOERR error is encountered as part of an atomic commit on an F2FS file-system, retry the commit in legacy journal mode. check-in: 2e0357c2 user: dan tags: trunk
13:55
Fix for builds without SQLITE_ENABLE_BATCH_ATOMIC_WRITE. Closed-Leaf check-in: b10ec14e user: dan tags: exp-retry-atomic-commit
2018-07-16
20:44
Add new file doc/F2FS.txt, containing notes on the way SQLite uses the F2FS atomic commit feature. check-in: 59efb1bf user: dan tags: exp-retry-atomic-commit
11:32
Minor simplification to sqlite3RollbackAll(). check-in: 432fdc22 user: drh tags: trunk
2018-07-14
20:25
If an SQLITE_IOERR error is encountered as part of an atomic commit on an F2FS file-system, retry the commit in legacy journal mode. check-in: 1c41250f user: dan tags: exp-retry-atomic-commit
2018-07-13
20:28
Remove an unused function declaration from fts5. check-in: 148d9b61 user: dan tags: trunk
19:52
Add the "categories" option to the unicode61 tokenizer in fts5. check-in: 80d2b9e6 user: dan tags: trunk
2018-07-12
19:39
Merge latest begin-concurrent changes with this branch. check-in: d33527d2 user: dan tags: begin-concurrent-pnu
19:28
Merge latest trunk changes into this branch. check-in: 6a00a34e user: dan tags: begin-concurrent
19:14
Add a test-control to disable the skip-scan optimization. check-in: 650a3fe0 user: dan tags: trunk
11:28
Add a test case to check that SQLITE_DBCONFIG_RESET_DATABASE can be used with wal mode databases even if there are active readers. check-in: 6145f5b3 user: dan tags: trunk
2018-07-11
13:34
On an UPSERT when the order of constraint checks is rearranged, make sure that the affinity transformations on the inserted content occur before any of the constraint checks. Fix for ticket [79cad5e4b2e219dd197242e9e5f4e]. check-in: d120c45f user: drh tags: trunk
03:27
Adjustments to VdbeCoverage macros to deal with byte-code branches that can never be taken in some directions. check-in: b170c009 user: drh tags: trunk
2018-07-10
23:31
Remove incorrect ALWAYS() macros from the window function logic. check-in: 94ac51cc user: drh tags: trunk
22:24
Add VdbeModuleComment()s on the three main code generators for window functions. check-in: f7c239e9 user: drh tags: trunk
20:50
Minor comment changes. Add ALWAYS() macros on some unreachable branches in the xStep() methods of built-in window functions. check-in: f2057542 user: drh tags: trunk
19:48
Identify Select objects within a single statement using small sequential integers rather than "0x%p". This is more readable and yields the same result on successive runs. check-in: a7cdc5bc user: drh tags: trunk
18:50
Modify tests in window3.test to be tolerant of rounding errors when comparing floating point values. check-in: 7c26c443 user: dan tags: trunk
17:26
Fix a problem with using scalar sub-selects in window function queries. check-in: 687fe532 user: dan tags: trunk
17:10
Further improvements to bytecode branch testing. Fix cases where the macros said a branch could not be taken when in fact it could be. Alter some window function branch coverage macros to indicate that comparison operands cannot be NULL. check-in: 76e42b70 user: drh tags: trunk
16:04
Enhancements and improved documentation to the byte-code branch coverage testing logic. Provide new macros that allow the code to specify that some branch instructions can never take the NULL path and that the OP_Jump opcode is only interested in equal/not-equal. The SQLITE_TESTCTRL_VDBE_COVERAGE file control callback now works slightly differently (it provides the callback with a bitmask of the branch action, rather than an integer). check-in: cd2da7e1 user: drh tags: trunk
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: 350f29ea user: dan tags: exp-begin-concurrent-pnu
15:48
Merge begin-concurrent changes into this branch. check-in: af17432e user: dan tags: begin-concurrent-pnu
15:45
Merge latest trunk changes into this branch. check-in: e9a3e864 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: 0f6ec605 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: 52559ad5 user: drh tags: trunk
06:47
Enhance the sqlite3ExprCompare() routine so that it knows to compare the OVER clause of window functions. check-in: 0a7649af 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: a2c0e1be user: drh tags: trunk
05:11
New VDBE comments and coverage macros. check-in: a9a30726 user: drh tags: trunk
2018-07-09
22:49
Fixes for various harmless compiler warnings. check-in: 5023b1b8 user: drh tags: trunk
20:58
Add a comment to restriction (6) of the push-down optimization. No changes to code. check-in: 0c8a2f25 user: drh tags: trunk
20:41
Add an ALWAYS() around a branch in sqlite3BtreeSkipNext() that we believe must always be true. check-in: 12be361a 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: 1ddbb537 user: dan tags: trunk
18:11
Add a couple of OOM tests. check-in: 50de2a0d user: dan tags: trunk
17:33
Remove redundant branches in window function processing. check-in: 8fdaf3f3 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: a568f9c9 user: drh tags: trunk
13:31
Throw an error if the second argument passed to nth_value() is not a positive integer. check-in: 1a06e57a user: dan tags: trunk
06:51
Fix a bad assert() in window.c. check-in: fe8aaf0c user: dan tags: trunk
02:37
Simplification to the logic that detects misuse of the application-defined function creation interfaces. check-in: 8f21d778 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: 164b1641 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: 410e13b0 user: drh tags: trunk
2018-07-07
20:55
Simplifications to the implementation of the sum() SQL function. check-in: a8b13002 user: drh tags: trunk
20:26
Fix another problem with reusing LSM cursors for range scans. check-in: ae3fc765 user: dan tags: trunk
20:23
Fix the JSON extension so that it can be compiled separately from the amalgamation. check-in: 4b8cfe7b user: drh tags: trunk
20:13
Fix an LSM problem caused by using the same cursor for equality and range scans. check-in: f05bead3 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: fdef2a92 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: 42138891 user: drh tags: trunk
17:38
Add missing VdbeCoverage() macro to window.c. check-in: 63f4d306 user: dan tags: trunk
17:30
Fix a problem with the handling of NULL values in the min() window function. check-in: b76f35b0 user: dan tags: trunk
2018-07-06
17:19
Try to improve the error messages for misformed frame specifications in window definitions. check-in: 927b95a0 user: drh tags: trunk
14:31
Also disallow non-constant expressions in "<expr> PRECEDING" or "<expr> FOLLOWING" clauses. check-in: a6dffecc user: dan tags: trunk
14:15
Ensure an error is returned if the user specifies an unsupported frame type. check-in: 0f3f8fcd 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: e51fdf66 user: dan tags: trunk
13:25
Remove some bad assert() statements from the implementations of window functions percent_rank() and cume_dist(). check-in: 443f0c28 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: d59bcc8e 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: fa653805 user: drh tags: trunk