/ Timeline
Login

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

200 most recent check-ins using file src/table.c version b46ad56774

2024-04-02
18:48
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (Leaf check-in: 357d9513d2 user: drh tags: branch-3.28)
18:31
Fix table-valued functions so that they will work as the right table in a LEFT JOIN. Ticket [2ae0c599b735d59e] (check-in: 1f97086d62 user: drh tags: branch-3.28)
11:54
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 74b247d958 user: drh tags: branch-3.28)
2023-11-29
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (check-in: f10d4fc4a8 user: drh tags: branch-3.28)
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: f9c6e6a710 user: drh tags: branch-3.28)
2023-10-19
21:05
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [9cdc5c46]. (check-in: d4bfa8d21a user: drh tags: branch-3.28)
2023-09-15
20:04
Drop support for the view-scan optimization as it was causing multiple performance regressions. In its place, reduce the estimated row count for DISTINCT subsqueries by a factor of 8. (check-in: 796a65fa61 user: drh tags: branch-3.28)
2023-02-26
11:52
In the [/info/7c2d3406000dc8ac|omit-unused-subquery-columns optimization], be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. Also fix an incorrect ".selecttrace" code block. (check-in: 83a7f13edb user: drh tags: branch-3.28)
2023-02-16
21:01
Fix an #ifdef that uses a different macro name from the main branch. (check-in: ad6ac5d3e8 user: drh tags: branch-3.28)
19:04
Back-port omit-unused-subquery-column enhancements into the 3.28 branch. (check-in: 57a4e91f43 user: drh tags: branch-3.28)
14:29
Do not compute result columns of subqueries that are never used. Make those columns NULL instead. This optimization potentially resolves the enhancement request described by [baa5bb76c35a124c|ticket baa5bb76c35a124c]. (check-in: 0163b697dd user: drh tags: branch-3.28)
01:29
Do not compute unused result columns of subqueries. This optimization will potentially resolve the performance optimization request of [baa5bb76c35a124c|ticket baa5bb76c35a124c]. (Closed-Leaf check-in: 0c21b6a5f8 user: drh tags: branch-3.26)
01:21
Update test cases so that they work with TCL 8.7 and later. (check-in: e9b762de0e user: drh tags: branch-3.26)
2023-02-15
13:00
Update the configure script so that it contains the correct version number. (check-in: a7cbf30808 user: drh tags: branch-3.26)
2022-10-24
13:50
Improve the ability of the query planner to recognize covering indexes even on tables with more than 63 columns and where the index is over columns beyond the 63rd column. (check-in: 3d1992de47 user: drh tags: branch-3.28)
2022-10-19
11:22
If a query uses an index where one or more of the columns of the index is an expression and if the corresponding expression is used elsewhere in the query, then strive to read the value of the expression out of the index, rather than recomputing it. This is the "Indexed Expression Optimizations". (check-in: 3da1032878 user: drh tags: branch-3.28)
2022-09-01
10:41
In the query planner, add a heuristic that will reduce the cost of a full table scan for a materialized view or subquery if the full scan is the outer-most loop. This is shown to speed up some queries. (check-in: e3754cc188 user: drh tags: branch-3.28)
2022-08-10
17:03
Merge the branch-3.28a fixes into branch-3.28. (check-in: ba6bf33147 user: drh tags: branch-3.28)
2022-08-09
20:22
Fix a rounding error caused by scalar->logarithm->scalar conversion when using stat4 data to estimate some range scans. (check-in: 68d86f2b20 user: drh tags: branch-3.28)
2021-08-11
18:56
Fix an RBU problem with restarting an update after the *-oal file is already larger than 4GiB. (Leaf check-in: 56869f54f3 user: dan tags: rbu-replace-hack)
18:44
If the special "sqlite_rbu_replace_hack" table is present in an RBU database, use REPLACE instead of INSERT when writing index entries to imposter tables. (check-in: 4b73e151cd user: dan tags: rbu-replace-hack)
2021-07-13
15:30
Remove two incorrect assert() statements from the logic used to derive column names and types from subqueries. This allows the SQL associated with CVE-2020-13871 (ticket [c8d3b9f0a750a529]) to be tested. (Closed-Leaf check-in: d2e6722037 user: dan tags: branch-3.28a)
2021-07-12
14:38
Fix a defect in the query-flattener optimization identified by ticket [8f157e8010b22af0]. This fix is associated with CVE-2020-15358. (check-in: 9e001b635f user: dan tags: branch-3.28a)
2021-02-11
16:19
In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (Leaf check-in: 0c3838d951 user: dan tags: reuse-schema-3.31)
2020-10-22
18:58
Minor tweaks to query planning weights so that when STAT4 is enabled and functioning, a full table scan is more likely to be selected if that seems like the fastest solution. Only do this when STAT4 info is available because an error has a large potential downside. (check-in: 263293f1e6 user: drh tags: branch-3.28)
2020-10-02
13:57
Import further corner-case fixes for the in-scan-vs-index or OP_SeekScan optimization from trunk. (check-in: c144d6404f user: drh tags: branch-3.28)
12:11
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz. (check-in: ec37744c6e user: drh tags: branch-3.28)
02:07
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works with forwards scans. Thanks to OSSFuzz for pointing out the problem to us. (check-in: 9a1cdf7e9c user: drh tags: branch-3.28)
2020-09-30
18:22
Improved query optimization for multi-column indexes where the second or later columns are constrained by an IN operator and the earlier index columns limit the search to a small number of rows. Use the new OP_SeekScan opcode which does scanning of the relevant range of the index but gives up and falls back to doing a seek if the number of rows scanned grows to large, in order to guard against pathological cases where the estimated number of rows to be scanned is far too small. (check-in: f07ac3fb38 user: drh tags: branch-3.28)
2020-09-01
02:02
Improvements to the IN-early-out optimization so that it works more efficiently when there are two or more indexed IN clauses on a single table. (check-in: 49b7631e86 user: drh tags: branch-3.28)
2020-08-31
19:19
An attempt to improve the performance of the IN-early-out optimization (see check-in [09fffbdf9f2f6ce3]) by avoiding unnecessary calls to the b-tree search algorithm in OP_IfNoHope when the index key is at hand and the same answer can be obtained by doing a quick key comparison. <b>Update:</b> Experiment did not work out. (Closed-Leaf check-in: 8301da31d0 user: drh tags: branch-3.28-in-early-out-fail)
2020-08-17
21:03
When doing an UPDATE or DELETE using a multi-column index where only a few of the earlier columns of the index are useful for the index lookup, postpone doing the main table seek until after all WHERE clause constraints have been evaluated, in case those constraints can be covered by unused later terms of the index, thus avoiding unnecessary main table seeks. (check-in: 0ecda43371 user: dan tags: branch-3.28)
2020-05-16
21:01
Performance optimization for the sqlite3FindTable() subroutine. (check-in: 55910b9a72 user: drh tags: trunk)
19:00
Merge trunk enhancements in the reuse-schema branch. (Actual date of this check-in is 2020-05-18.) (check-in: 5af4abe98c user: drh tags: reuse-schema)
18:01
The OP_RealAffinity opcode is not necessary after reading values from a virtual table (such as rtree). It is harmless, but it does use CPU cycles. Might as well leave it off. (check-in: dc18d89354 user: drh tags: trunk)
17:26
Fix a use-after-free bug in the fts3 snippet() function. (check-in: 0d69f76f08 user: dan tags: trunk)
16:23
Extra memory barrier during initialization. (check-in: 043a7e142d user: drh tags: trunk)
15:18
Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging function sqlite3VdbePrintOp(). (check-in: 6f857d0e9e user: dan tags: trunk)
2020-05-15
18:48
Update code in sqlite3expert.c to account for the fact that "-- TRIGGER xyz" VM comments are now omitted for some builds. (check-in: 7cf93dc55c user: dan tags: trunk)
16:19
Fix another build problem for SQLITE_OMIT_VIRTUALTABLE builds. (check-in: 5e1eb0fa3a user: dan tags: trunk)
16:05
Fix a documentation typo. No changes to code. (check-in: 758353c726 user: drh tags: trunk)
15:03
Adjust some requirement marks. No changes to code. (check-in: 7285ae2ce8 user: drh tags: trunk)
13:52
Update test file e_fkey.test to account for the fact that new columns with REFERENCE clauses and non-NULL default values may now be added using ALTER TABLE if the table is empty. (check-in: 4087fce972 user: dan tags: trunk)
11:36
Fix SQLITE_OMIT_VIRTUALTABLE testfixture builds. (check-in: 3d9780c5f6 user: dan tags: trunk)
11:26
Test script changes to account for the fact that the "p5" column in the EXPLAIN output is now an integer, not a text values containing a 2-digit hex value. (check-in: 102126d808 user: dan tags: trunk)
01:18
Enhancements to long-path support in the Win32 VFS. (check-in: 0119d96dec user: mistachkin tags: trunk)
01:13
Move some new test cases from fts3snippet.test into fts3snippet2.test. (check-in: fa20399994 user: drh tags: trunk)
01:02
Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new test case that uses that option. (check-in: c49a33db95 user: drh tags: trunk)
2020-05-14
23:59
Fix a null pointer deference that can occur on a strange matchinfo() query. (check-in: a4dd148928 user: drh tags: trunk)
21:16
Do not allow a virtual table to be renamed into the name of one of its shadows. (check-in: eca0ba2cf4 user: drh tags: trunk)
2020-05-13
18:03
Implement the IIF(x,y,z) SQL function that is short-hand for "CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server. (check-in: fce173cd21 user: drh tags: trunk)
17:26
Remove unused constant SQLITE_FUNC_COALESCE. (check-in: a116b20f86 user: drh tags: trunk)
13:33
Use AtomicStore() and AtomicLoad() in a few more places to avoid a theoretically undefined behaviour. This is not actually problem on any known hardware. (check-in: fda57d4d2f user: dan tags: trunk)
2020-05-11
11:11
New test case in test/fuzzdata8.db. (check-in: fa11230135 user: drh tags: trunk)
10:55
Fix a problem handling constant integer expressions with collation sequences in PARTITION BY clauses. (check-in: 155e6649ef user: dan tags: trunk)
2020-05-08
19:02
Release some restrictions on columns added by ALTER TABLE so that they only apply if the table contains one or more rows. (check-in: 3a16c0ce4d user: drh tags: trunk)
18:22
Fix the count-optimization so that it honors the NOT INDEXED clause. (check-in: 0d23a0b209 user: drh tags: trunk)
15:28
New test cases added to test/fuzzdata8.db. (check-in: 3fce9711a4 user: drh tags: trunk)
10:44
Do not retry on a failed realloc() unless SQLITE_ENABLE_MEMORY_MANAGEMENT is available, meaning that the retry has some possibility of success. (check-in: e9a8f910b5 user: drh tags: trunk)
2020-05-07
19:55
Fix a failing assert() in fts3 triggered by a corrupt database. (check-in: cb299a090c user: dan tags: trunk)
14:39
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 652e4b23ff user: dan tags: trunk)
14:26
Fix an error that could occur if the first transaction executed by a connection configured to use blocking locks is a write-transaction for which the WRITER lock cannot be obtained. (Closed-Leaf check-in: 49e4dc72f7 user: dan tags: setlk-deadlock-changes)
14:05
Merge trunk changes into this branch. (check-in: ac4ee69664 user: dan tags: setlk-deadlock-changes)
01:56
Fix the handling of reserve-bytes so that the maximum value of 255 can be used. (check-in: 99749d4fd4 user: drh tags: trunk)
2020-05-06
21:25
Avoid leaking a file-handle in test file walsetlk.test. (check-in: 3cfc675e2e user: dan tags: setlk-deadlock-changes)
21:24
Fix an assert() failure that could follow an IO error. (check-in: e89c864299 user: dan tags: setlk-deadlock-changes)
20:55
Fix harmless compiler warnings. (check-in: 92dc59132f user: drh tags: setlk-deadlock-changes)
20:45
Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined. (check-in: 98eb54c6d8 user: dan tags: setlk-deadlock-changes)
20:27
Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock. (check-in: f3ef9c7c2b user: dan tags: setlk-deadlock-changes)
19:22
Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 22de99ef41 user: dan tags: setlk-deadlock-changes)
19:14
Block on the WRITER lock when attempting to run recovery. (check-in: 105d6c9bbc user: dan tags: setlk-deadlock-changes)
18:46
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: b2325a6e1c user: drh tags: branch-3.28)
18:43
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option. (check-in: 63e659d9a7 user: drh tags: trunk)
17:18
Add tests for running recovery when opening a write transaction or performing a checkpoint with blocking locks enabled. Fix some failing assert() statements. (check-in: d096ea3fe2 user: dan tags: setlk-deadlock-changes)
15:07
Merge latest trunk changes into this branch. (check-in: a3727dba10 user: dan tags: setlk-deadlock-changes)
2020-05-05
20:30
Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database. (check-in: d6f819a9e6 user: dan tags: setlk-deadlock-changes)
19:54
The only known path to a corruption detection branch was cut off by the previous commit implementing earlier index corruption. So make the branch NEVER. Maybe a fuzzer will find a new path. (check-in: 9a84d8eb44 user: drh tags: trunk)
18:42
Earlier detection of index corruption caused by missing index entries. (check-in: f339f31f9e user: drh tags: trunk)
13:41
Fix a compiler warning in cksumvfs.c. (check-in: 68033bcade user: drh tags: trunk)
2020-05-04
19:52
Fix harmless compiler warnings. (check-in: 8eee591d3c user: drh tags: trunk)
19:42
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 553423c231 user: dan tags: setlk-deadlock-changes)
19:04
Minor change to the sqlite_stmt virtual table, for test coverage. (check-in: 838987b209 user: drh tags: trunk)
17:15
Simplify the initialization of built-in extensions. (check-in: 729f239735 user: drh tags: trunk)
11:47
Ensure that the master-journal name is in a form suitable to be passed into sqlite3_uri_parameter(). (check-in: d1ba026d88 user: drh tags: trunk)
2020-05-02
04:08
Add the SQLITE_FCNTL_CKPT_START file-control and use it to optimize the cksumvfs extension. (check-in: efdecb1309 user: drh tags: trunk)
03:46
Add support for PRAGMA analyze_limit and approximate analysis. (check-in: 812547525d user: drh tags: trunk)
03:29
Add a missing VdbeCoverage() macro. (Closed-Leaf check-in: 77a55c394d user: drh tags: approximate-analyze)
00:31
Merge the bytecode and tables_used table-valued functions. Requires -DSQLITE_ENABLE_BYTECODE_VTAB at compile-time. (check-in: d09bcce37f user: drh tags: trunk)
00:01
Corner-case changes to the bytecode virtual table for testability and correctness. (Closed-Leaf check-in: baa720e4a8 user: drh tags: bytecode-function)
2020-05-01
18:58
Merge recent enhancements from trunk. (check-in: 96dfc71ea5 user: drh tags: bytecode-function)
18:43
Fix problems with UPDATE...FROM statements that modify rowid or primary-key values. (check-in: 623ab585d1 user: dan tags: update-from)
18:37
Add the SQLITE_FCNTL_CKPT_START file-control. Use it to optimize the cksumvfs extension. (Closed-Leaf check-in: b40f5aa344 user: drh tags: ckpt-start-fcntl)
15:04
Merge recent trunk enhancements. (check-in: 2100b2c8f3 user: drh tags: approximate-analyze)
13:45
Clarification to the sqlite3_uri() family of interfaces. Documentation enhancement only - no changes to code. (check-in: 853703cd6d user: drh tags: trunk)
13:32
Update documentation for sqlite3_close_v2() for clarity. No functional changes. (check-in: 80498b69ea user: drh tags: trunk)
11:31
Add the new SQLITE_IOERR_DATA result code and use it in cksumvfs. Also enhance cksumvfs to emit an sqlite3_log() message whenever it finds an invalid checksum. (check-in: a094e8bfde user: drh tags: trunk)
2020-04-30
18:28
Add OOM tests for the new code on this branch. (check-in: e4a18601e5 user: dan tags: update-from)
15:49
Report an error if an UPDATE...FROM statement has an ORDER BY but no LIMIT clause. Add tests for multi-column primary keys. (check-in: ffcdb66891 user: dan tags: update-from)
2020-04-29
20:11
Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement. (check-in: b717dc3c5f user: dan tags: update-from)
17:41
Fix various bugs in new feature on this branch. (check-in: 823ba94e29 user: dan tags: update-from)
01:09
Do not allow page_size changes on an active cksumvfs database. (check-in: 2c17cdce26 user: drh tags: trunk)
2020-04-28
23:09
Fix incorrect error message when something goes wrong with the sqlite3_dbpage() table-valued function in the .dbinfo command of the CLI. (check-in: 0dcf002463 user: drh tags: trunk)
20:47
Add the cksumvfs extension. (check-in: 237c10f941 user: drh tags: trunk)
14:01
Use AtomicStore() when setting the mem0.nearlyFull boolean to avoid harmless TSAN warnings and to forestall doubts about threadsafety. (check-in: ce980af65a user: drh tags: trunk)
11:45
Use an AtomicLoad() macro in sqlite3HeapNearlyFull(). (check-in: 7556bc632e user: drh tags: trunk)
2020-04-27
20:55
Allow a FROM clause in UPDATE statements. (check-in: f353a1a613 user: dan tags: update-from)
2020-04-26
22:04
Yet another attempt to enhance sqlite3_load_extension() so that it works with Window-style pathnames using a backslash separator character. (check-in: b73d9a7d6f user: drh tags: trunk)
14:33
Fix an issue with check-in [bc3bf7c6681a96bc] when compiling on Windows. (check-in: 57b16d8ca3 user: drh tags: trunk)
2020-04-25
21:05
Fix the sqlite3_load_extension() interface so that it tolerates backslashes in place of forward-slashes in pathnames on Windows. (check-in: bc3bf7c668 user: drh tags: trunk)
15:01
Ensure affinity is not discarded from a view column if the view appears on the rhs of a LEFT JOIN. Fix for [45f4bf4e]. (check-in: ac31edd3ee user: dan tags: trunk)
2020-04-24
18:20
The new sqlite3_database_file_object() interface requires that the pager never invoke xOpen with SQLITE_OPEN_MAIN_JOURNAL unless it is using a pointer to the journal name found in the Pager structure itself. Make this the case when processing a master-journal. (check-in: b4987a5ced user: drh tags: trunk)
17:55
New test case for ticket [1dcb4d44964846ad]. (check-in: 9e9f1e96c9 user: drh tags: trunk)
2020-04-23
20:45
Fix an uninitialized variable in the newly enhanced ".output" command of the CLI. See forum post [https://sqlite.org/forum/forumpost/5978955ac1|5978955ac1] (check-in: 65c6c26bb4 user: drh tags: trunk)
2020-04-22
13:49
Fix an off-by-one error in the "calculated" page count output from the sqlite3_analyzer utility for databases that are more than 1GB in size. (check-in: 8789368b91 user: drh tags: trunk)
11:11
Fix an integer overflow in fts3 causing a usan error. (check-in: e256f85289 user: dan tags: trunk)
00:50
Clarify the comment on the sqlite3BtreeGetRequestedReserve() routine. No changes to code. (check-in: 52a6acca6d user: drh tags: trunk)
2020-04-21
20:19
Add the sqlite3_database_file_object() interface. (check-in: f534ebeaaf user: drh tags: trunk)
19:27
Add the sqlite3_database_file_object() interface to sqlite3ext.h. (Closed-Leaf check-in: 3cabe06b6e user: drh tags: sqlite3_database_file_object)
01:06
Experimental API: sqlite3_database_file_object(). (check-in: ae697b152d user: drh tags: sqlite3_database_file_object)
2020-04-20
17:35
Do not use O_NOFOLLOW when opening a directory just to call fsync() on that directory. (check-in: 2fc80ef16c user: drh tags: trunk)
16:21
Enhance the ".filectrl" command in the CLI to support the --schema option. (check-in: 698d40db58 user: drh tags: trunk)
15:18
The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the more general SQLITE_FCNTL_RESERVE_BYTES which is an API and which can operator on more than just the main schema. (check-in: abc1aad74f user: drh tags: trunk)
14:05
Remove an obsolete comment. No changes to code. (check-in: 4135cb0244 user: drh tags: trunk)
2020-04-18
14:12
Add the --bom option to the ".excel", ".once", and ".output" commands of the CLI. Also fix the "--all" option on ".help" so that it works with two dashes in addition to just one. (check-in: d5b0def96b user: drh tags: trunk)
2020-04-17
23:46
Fix the ".excel" command and the ".open -x" and ".open -e" command so that they work better when running from an in-memory database and on Windows and when running from a script. (check-in: 07752164c2 user: drh tags: trunk)
2020-04-16
15:56
Merge accidentally created fork. (check-in: cb772b7a8f user: dan tags: trunk)
11:35
Improve corruption detection in fts3 shadow tables earlier in order to prevent an assert() from failing. (check-in: a9ec8c8f80 user: dan tags: trunk)
2020-04-15
17:39
Clarification of the byte-order determination for UTF16 inputs to routines like sqlite3_bind_text16() and sqlite3_result_text16() and others that accept UTF16 input strings. (check-in: a42fdcf54b user: drh tags: trunk)
2020-04-14
15:53
Build the UINT collating sequence extension into the CLI. (check-in: 2b8c6b035a user: drh tags: trunk)
15:48
Add the UINT collating sequence extension. The implementation is copied out of the "natsort" branch. (check-in: 6f46c6e3e3 user: drh tags: trunk)
15:35
Change the name from NATSORT to UINT. Provide an OMIT compile-time option. (Leaf check-in: cc56cbdb61 user: drh tags: natsort)
15:24
Merge trunk enhancements. (check-in: f1c284dd1e user: drh tags: natsort)
2020-04-09
19:00
Merge recent trunk changes into begin-concurrent-pnu-wal2. (check-in: 6c11b67bd2 user: drh tags: begin-concurrent-pnu-wal2)
18:51
Merge recent trunk changes into the apple-osx branch. (Leaf check-in: d6fda470fe user: drh tags: apple-osx)
18:46
Merge recent trunk enhancements into the wal2 branch. (check-in: 6fb870625c user: drh tags: wal2)
18:44
Merge recent trunk enhancements into the begin-concurrent-pnu branch. (check-in: cedd138c74 user: drh tags: begin-concurrent-pnu)
18:29
Merge recent trunk enhancements into the begin-concurrent branch. (check-in: 92f71a88c4 user: drh tags: begin-concurrent)
15:31
When compiling the shell for WinRT, avoid using Win32 APIs that are unavailable. (check-in: 85d3dc8c50 user: mistachkin tags: trunk)
15:07
Merge recent trunk enhancements into the bytecode-function branch. (check-in: 7e6576ec00 user: drh tags: bytecode-function)
15:01
Merge trunk enhancements into the approximate-analyze branch. (check-in: 17901ea6a1 user: drh tags: approximate-analyze)
2020-04-07
15:07
Limit LIKE/GLOB pattern length to 100 bytes (default is 50K) when running dbsql cases in the fuzzcheck utility. (check-in: 10306118e8 user: drh tags: trunk)
13:08
Add the --spinner option to the fuzzcheck test program. (check-in: b1eae2686f user: drh tags: trunk)
01:18
The ALTER TABLE fix of check-in [7e5ad8e0ab7ee91a] is no longer needed due to the changes at check-in [4cf8721f5ceb1fda]. But, we keep the defense in place as an assert() for extra safety. (check-in: 230556e859 user: drh tags: trunk)
00:54
Remove dead code that was added during initial development of RENAME COLUMN but never actually served a purpose. (check-in: c95c4cda46 user: drh tags: trunk)
2020-04-06
20:35
Performance improvement in sqlite3ResolveExprNameList(). (check-in: 7e170e67f2 user: drh tags: trunk)
18:16
Performance improvement for column name lookup. (check-in: 1e4b6a9398 user: drh tags: trunk)
16:37
When running ALTER TABLE, avoid adding some internally generated tokens to the token map to improve performance on schemas with nested views. (check-in: 4cf8721f5c user: dan tags: trunk)
2020-04-04
11:58
Remove a NEVER() that could be true in sqlite3MatchEName(). (check-in: 921448f0e2 user: drh tags: trunk)
00:29
In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce]. Also, avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (Leaf check-in: 43612157f8 user: drh tags: branch-3.31)
00:15
In the push-down optimization, do not substitute columns that have previously been identified as being constant by the propagate-constants optimization. Fix for ticket [51166be0159fd2ce] (check-in: 70c44811d1 user: drh tags: trunk)
2020-04-03
20:14
Restore an #if block inadvertently removed via check-in [9c77bfe41e]. (check-in: bf6bcfc16e user: mistachkin tags: branch-3.31)
19:37
Avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values. Fix for [fd1bda016d1]. (check-in: 98d56b4a34 user: dan tags: trunk)
16:11
Add a test case to fuzzdata8.db for the recent Henry Liu bugs. (check-in: 42b02454b1 user: drh tags: trunk)
15:48
Merge updates from trunk. (check-in: 348c40136c user: drh tags: bytecode-function)
13:39
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. Also, in the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: b64674919f user: drh tags: branch-3.31)
13:29
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: 52f800fa93 user: drh tags: branch-3.31)
13:19
In the event of a semantic error in an aggregate query, early-out the resetAccumulator() function to prevent problems due to incomplete or incorrect initialization of the AggInfo object. Fix for ticket [af4556bb5c285c08]. (check-in: 4a302b42c7 user: drh tags: trunk)
11:52
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2]. (check-in: 684293882c user: dan tags: trunk)
11:20
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1]. (check-in: d09f8c3621 user: dan tags: trunk)
2020-04-02
19:58
Fix a minor problem with EXPLAIN QUERY PLAN for triggers. (check-in: 6e11c03f84 user: drh tags: bytecode-function)
17:21
Minor changes for better test coverage. (check-in: ae3ac297d2 user: drh tags: bytecode-function)
13:21
Fix an obsolete comment in the parameter binding logic of the CLI. No changes to code. (check-in: c9c735e201 user: drh tags: trunk)
13:08
Fix another harmless compiler warning. (check-in: 949eec2530 user: drh tags: bytecode-function)
12:53
Add a missing #ifdef to avoid a harmless compiler warning. (check-in: cc54de3543 user: drh tags: bytecode-function)
12:24
Merge enhancements from trunk. (check-in: d1731385c0 user: drh tags: bytecode-function)
2020-04-01
17:10
Add support for the "ANALYZE WITH LIMIT=N" syntax. (Leaf check-in: 7e666b6022 user: drh tags: analyze-with-limit)
01:15
Simple fixes to PRAGMA analysis_limit. (check-in: c20d4fdee2 user: drh tags: approximate-analyze)
2020-03-31
20:57
Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by ANALYZE when N is positive. Positive N also disables collecting stat4. (check-in: a279b151c1 user: drh tags: approximate-analyze)
18:41
Merge recent enhancements from trunk. (check-in: c705ce266a user: drh tags: approximate-analyze)
2020-03-30
19:38
Minor bug fix in NATSORT collating function. (check-in: a61be10927 user: drh tags: natsort)
15:39
Add the NATSORT collating sequence. No test cases yet. (check-in: 79fcaa8e07 user: drh tags: natsort)
13:35
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available. (check-in: a49f8ec552 user: dan tags: trunk)
11:17
Fix "GCC_VESRION" typo in wal.c. (check-in: fbd9378727 user: dan tags: trunk)
2020-03-28
19:02
Enhancements to the SQLITE_ENABLE_SETLK_TIMEOUT compile-time option to avoid rare deadlocks on recovery. (check-in: 06885e9aa4 user: drh tags: trunk)
12:01
MSVC does not allow constant expressions as initializers for constants with /fp:strict. (check-in: 076658e5d2 user: drh tags: trunk)
2020-03-27
17:23
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database. (Closed-Leaf check-in: c516027d5f user: dan tags: setlk-deadlock-fix)
2020-03-26
16:48
Add the tables_used() table-valued function as a variation on bytecode(). (check-in: 6283c677d5 user: drh tags: bytecode-function)
15:28
Merge updates from trunk. (check-in: d7db091018 user: drh tags: bytecode-function)
00:29
Reinstate the optimization that converts "x IN (y)" into "x==y". (check-in: 27936e6884 user: drh tags: trunk)
2020-03-25
20:31
For the LIKE pattern in the .dump command of the CLI, accept backslash as an escape character. (check-in: 029ceea612 user: drh tags: trunk)
12:50
Enhance the ".dump" command in the CLI so that it accepts multiple LIKE pattern arguments and shows the union of all matching tables. (check-in: 45fba3d705 user: drh tags: trunk)
2020-03-24
18:41
Optimize the "subprog IS NULL" constraint. (check-in: ca8c5f028b user: drh tags: bytecode-function)
17:52
Fix a memory leak. (check-in: c9f3405eea user: drh tags: bytecode-function)
13:27
Provide content for the bytecode.subprog column. (check-in: df893364b7 user: drh tags: bytecode-function)
2020-03-23
23:17
Fix the build so that it works even without SQLITE_ENABLE_EXPLAIN_COMMENTS. (check-in: 5896cbf4d0 user: drh tags: bytecode-function)
20:58
The bytecode() function now runs and sometimes works, but it untested and there are known problems. (check-in: 6819b86eb2 user: drh tags: bytecode-function)
19:14
Further simplification and modularization of the EXPLAIN logic. (check-in: aee1c12f42 user: drh tags: bytecode-function)
17:24
Begin breaking appear the sqlite3VdbeList() routine into subroutines that can be reused by the bytecode() table. (check-in: 2c4dd79fbd user: drh tags: bytecode-function)
15:49
Infrastructure for the bytecode() table-valued function. The function itself is not yet implemented. (check-in: 2795f0d633 user: drh tags: bytecode-function)
2020-03-21
23:10
Fix to the recomputation of the colUsed field added by check-in [a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3]. (check-in: 5d14a1c4f2 user: drh tags: trunk)
22:03
Enhance the treeview system to show the SrcList_item.colUsed field for FROM clause elements. (check-in: 8a5c539b77 user: drh tags: trunk)
20:58
Simplify some of the code modified by the previous commit. (check-in: 04abadb545 user: dan tags: trunk)
15:41
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. (check-in: 682b426f56 user: dan tags: trunk)
15:10
Consolidate some code on this branch. (Closed-Leaf check-in: a85c63daa6 user: dan tags: main-alias-fix)
15:07
Change a bitfield in sqlite3_stmt into an unsigned character, for slightly smaller code and better performance. (check-in: 0d4d3c6424 user: drh tags: trunk)
14:22
Performance optimization in sqlite3VdbeMakeReady(). (check-in: aa92f9b95f user: drh tags: trunk)
14:05
Merge updates from trunk. (Leaf check-in: 2383aa2cb8 user: drh tags: explain-improvements)
03:40
Back out the sqlite3_stmt_mode() and EXPLAIN TABLES enhancements, but keep the other miscellaneous improvements to EXPLAIN that were implemented while adding the above: Turn magic numbers into symbolic constants. Add the sqlite3MemPrint() interface accessible to the debugger. Improve the performance and reduce the code size. (check-in: 62aece6677 user: drh tags: explain-improvements)
00:05
Recompute the set of columns used for each table when the table is involved in query flattening. (check-in: a9bb71ba70 user: drh tags: trunk)
2020-03-20
20:54
Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias. (check-in: 75c85ca32f user: dan tags: main-alias-fix)