Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
118 check-ins for the month beginning 2018-07-01
Following month ↑
2018-07-29
| ||
18:56 | In the command-line shell, always exit if realloc() fails. (check-in: e390023c8e user: drh tags: trunk) | |
2018-07-28
| ||
21:01 | Add a small cost penalty to sorting to bias the query planner in favor of plans that do not require a final sorting pass. (check-in: 85b9beb460 user: drh tags: trunk) | |
16:24 | Do not allow a column reference that is converted into a constant by the WHERE-clause constant propagation optimization to be moved to the init-time constant expression list, as the table reference will not work there. This fixes a problem found by OSSFuzz. (check-in: d30b2a9473 user: drh tags: trunk) | |
14:56 | Fix an assert() statement that was made obsolete by the constant propagation enhancement. Problem discovered by OSSFuzz. (check-in: e4b4737e34 user: drh tags: trunk) | |
14:34 | Improved debugging output when the ".selecttrace" option is used in the shell. (check-in: fcb88dd6b0 user: drh tags: trunk) | |
13:37 | An early attempt at refactoring Expr (Closed-Leaf check-in: fc90a53de7 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: 81f25d5c84 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: 02204f8b24 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: 7efdba2bbc 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: cfd1b00592 user: drh tags: trunk) | |
20:45 | Enhance Makefile for MSVC to support building the shell tool without using the amalgamation. (check-in: 3d815d83a6 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: f4229707ac 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: 865249de68 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: a5f86f49b7 user: drh tags: propagate-const-opt) | |
18:12 | Faster implementation of sqlite3IsBinary(). (check-in: be05d0db09 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: 598d608359 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: 82c67efb72 user: drh tags: propagate-const-opt) | |
2018-07-26
| ||
23:54 | Add a test case demonstrating the collation problem with constant propagation. (check-in: 50add839fd 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: 57eb2abd5b 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: 22f47cf430 user: drh tags: trunk) | |
21:16 | Initial implementation of the WHERE-clause constant propagation optimization. (check-in: 2fb82ad8eb user: drh tags: propagate-const-opt) | |
2018-07-25
| ||
15:25 | Fix a buffer overread in fts5. (check-in: 0e3de8abbb 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: 6ee2950b27 user: mistachkin tags: trunk) | |
07:29 | Fix a typo in the documentation for sqlite3_snapshot_get(). (check-in: cd9713c9a8 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: 2bd593332d user: drh tags: trunk) | |
13:57 | Add missing SQLITE_OMIT_WINDOWFUNC check to the json1 extension. (check-in: fe19f8239d 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: 1c94834879 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: f69afaf00a user: drh tags: separate-lock-mutex) | |
18:53 | Fix typo of 'SQLITE_OMIT_WINDOWFUNC'. (check-in: 8607b84a5c user: mistachkin tags: trunk) | |
18:32 | Attempt to improve the documentation for snapshots. No changes to code. (check-in: 46dd076af5 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: 1cc72845f9 user: dan tags: trunk) | |
2018-07-22
| ||
21:23 | Fix more harmless compiler warnings seen with MSVC. (check-in: edab5666f8 user: mistachkin tags: trunk) | |
21:08 | Another minor revision to the 'fulltestonly' set of tests. (check-in: 61f8e2a4c6 user: mistachkin tags: trunk) | |
20:24 | Fix harmless compiler warning. (check-in: ead4762dfc user: mistachkin tags: trunk) | |
06:25 | In the Win32 VFS, when truncating a file, unmap it first. (check-in: 21510a66dc user: mistachkin tags: trunk) | |
00:45 | Remove an unused branch in the FK logic. (Closed-Leaf check-in: 523ff77925 user: drh tags: dropViewNoStat) | |
2018-07-21
| ||
23:15 | In 'resetdb.test', close a database prior to trying to delete it. (check-in: 45137053a5 user: mistachkin tags: trunk) | |
2018-07-20
| ||
20:56 | When dropping a view, skip trying to delete from 'sqlite_stat*'. (check-in: 2f5be3a2dd 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: 489f3caf5d 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: 085f17e124 user: drh tags: stat1-max) | |
15:44 | New checks in PRAGMA integrity_check to validate the autovacuum settings in the header. (check-in: a4663f09c9 user: drh tags: trunk) | |
13:39 | Enhanced detection of problems on the freelist and on overflow list in PRAGMA integrity_check. (check-in: 11e58f5b37 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: 271b8980c3 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: 3dca8b9d5a 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: e2394002d0 user: dan tags: exp-dbreset-fix) | |
2018-07-18
| ||
19:09 | Add the SQLITE_FCNTL_DATA_VERSION file control (check-in: a5087c5c87 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: 4c70ea5b0e 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: 2e0357c2ed user: dan tags: trunk) | |
13:55 | Fix for builds without SQLITE_ENABLE_BATCH_ATOMIC_WRITE. (Closed-Leaf check-in: b10ec14ef7 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: 59efb1bfab user: dan tags: exp-retry-atomic-commit) | |
11:32 | Minor simplification to sqlite3RollbackAll(). (check-in: 432fdc2215 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: 1c41250f67 user: dan tags: exp-retry-atomic-commit) | |
2018-07-13
| ||
20:28 | Remove an unused function declaration from fts5. (check-in: 148d9b6147 user: dan tags: trunk) | |
19:52 | Add the "categories" option to the unicode61 tokenizer in fts5. (check-in: 80d2b9e635 user: dan tags: trunk) | |
2018-07-12
| ||
19:39 | Merge latest begin-concurrent changes with this branch. (check-in: d33527d223 user: dan tags: begin-concurrent-pnu) | |
19:28 | Merge latest trunk changes into this branch. (check-in: 6a00a34e19 user: dan tags: begin-concurrent) | |
19:14 | Add a test-control to disable the skip-scan optimization. (check-in: 650a3fe03d 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: 6145f5b3ba 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: d120c45f3d 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: b170c0092b user: drh tags: trunk) | |
2018-07-10
| ||
23:31 | Remove incorrect ALWAYS() macros from the window function logic. (check-in: 94ac51cc4e user: drh tags: trunk) | |
22:24 | Add VdbeModuleComment()s on the three main code generators for window functions. (check-in: f7c239e959 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: f2057542cf 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: a7cdc5bc85 user: drh tags: trunk) | |
18:50 | Modify tests in window3.test to be tolerant of rounding errors when comparing floating point values. (check-in: 7c26c443e7 user: dan tags: trunk) | |
17:26 | Fix a problem with using scalar sub-selects in window function queries. (check-in: 687fe532c2 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: 76e42b7071 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: cd2da7e1ba 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: 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) | |