SQLite

Timeline
Login

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

100 check-ins occurring around 639fc7633bd74042.

2022-02-05
21:49
Record the position of many identifiers in the parse using the new Expr.w.iOfst field. This is done with the idea of providing offset results for sqlite3_error_offset() for a more kinds of errors, though that part is not yet implemented. (check-in: 32a3a53b user: drh tags: trunk)
15:26
Fix CLI Windows build, refine its help, re-org ShellState (check-in: 991a06a4 user: larrybr tags: shell-tweaks)
13:27
Update stale evidence marks on sqlite3_vtab_rhs_value() test cases. (check-in: 46744b83 user: drh tags: trunk)
12:39
When PRAGMA writable_schema=ON, allow ALTER TABLE to proceed even if there are entries in the sqlite_schema table that do not parse. (check-in: fc4c82e5 user: drh tags: trunk)
12:05
Fix a NULL pointer dereference that can occur after OOM. Problem introduced by check-in [197cbabf1767d060]. (Closed-Leaf check-in: d4e6b9f0 user: drh tags: relaxed-alter-table)
11:13
Fix documentation typo. (check-in: 1a7d8bb5 user: drh tags: trunk)
01:01
Typo fixes in documentation. (check-in: 1ec747d1 user: drh tags: trunk)
2022-02-04
21:49
CLI .param save/load done; many other small refinements (check-in: 6d415ac2 user: larrybr tags: shell-tweaks)
20:16
Test case for permissive ALTER TABLE RENAME when writable_schema=ON. (check-in: 7ee44f66 user: drh tags: relaxed-alter-table)
20:07
One more case of disabling errors for ALTER TABLE RENAME when writable_schema=ON. (check-in: c52d0dd8 user: drh tags: relaxed-alter-table)
19:13
Add a compile-time option to include vt02.c in fuzzcheck. (check-in: c404c8c7 user: drh tags: trunk)
18:12
Merge trunk enhancements into the reuse-schema branch. (check-in: 5744e102 user: drh tags: reuse-schema)
18:02
Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: cb045aba user: drh tags: begin-concurrent-pnu-wal2)
17:52
Merge trunk enhancements into the wal2 branch. (check-in: d2de02f3 user: drh tags: wal2)
17:51
Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: 1c88bcff user: drh tags: begin-concurrent-report)
17:40
Merge trunk enhancements into the begin-concurrent branch. (check-in: 85054a86 user: drh tags: begin-concurrent)
16:43
Allow ALTER TABLE RENAME COLUMN to proceed even if there are errors in the schema, as long as PRAGMA writable_schema=ON is active. (check-in: 197cbabf user: drh tags: relaxed-alter-table)
13:15
Fix various harmless compiler warnings. (check-in: 70049342 user: drh tags: trunk)
13:05
For the MULTI-INDEX-OR optimization, when pushing down WHERE clause terms from the main query into the various OR-term subqueries, do not push down slices of a vector comparison, since the right-hand operand of the comparison might have only been initialized in a different OR branch that was not taken. dbsqlfuzz 80a9fade844b4fb43564efc972bcb2c68270f5d1. (check-in: 9f67ad00 user: drh tags: trunk)
09:39
Fix .param edit unable to edit script vars (bad assert) (check-in: 62d212d0 user: larrybr tags: shell-tweaks)
2022-02-03
21:07
Sync to trunk. Shell tests pass. (check-in: 79275b81 user: larrybr tags: shell-tweaks)
20:57
Scripting and .parameter enhancements most in; all in working (check-in: a1581118 user: larrybr tags: shell-tweaks)
18:14
Minor typo fix in comment. No code changes. (check-in: f9b76304 user: drh tags: trunk)
14:37
Do not allow the vdbe-compress.tcl script to generate structures named "do" or "if". (check-in: e35ab16d user: drh tags: trunk)
14:19
Prohibit schema changes within xBestIndex callbacks. (check-in: bb0f056b user: drh tags: trunk)
2022-02-02
21:06
Improvement to the sqlite3_vtab_in_first() documentation. (check-in: 403e7ac9 user: drh tags: trunk)
19:51
Add the sqlite3_vtab_in() interface that allows virtual tables to process IN constraints all at once, rather than one value at a time. (check-in: 52559af0 user: drh tags: trunk)
19:30
Additional test cases. (Closed-Leaf check-in: 733d81c3 user: drh tags: batch-in-operator)
19:15
Test cases for sqlite3_vtab_in() and sqlite3_vtab_distinct(). (check-in: 21afb81d user: drh tags: batch-in-operator)
18:47
Improved documentation for sqlite3_vtab_in(). No code changes. (check-in: c99df4ab user: drh tags: batch-in-operator)
16:24
Relax the restriction that the RHS of the IN operator must be a list in order for sqlite3_vtab_in() to work. Change an unreachable branch into an assert(). (check-in: 3bf21534 user: drh tags: batch-in-operator)
15:10
Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding. (check-in: 04edf36e user: drh tags: batch-in-operator)
14:36
Refactor sqlite3_vtab_in() to make use of the existing sqlite3_value_pointer() mechanism for passing the list of IN operator RHS values into xFilter, for improved memory safety. (check-in: 8965929b user: drh tags: batch-in-operator)
11:37
Fix a harmless code indentation issue. (check-in: 41d8d26e user: drh tags: trunk)
2022-02-01
21:59
Tweaks to the sqlite3_vtab_in() interface. (check-in: 75040183 user: drh tags: batch-in-operator)
16:30
Index in 2nd argument to sqlite3_vtab_in() should be on the aConstraint[] array, not the internal array of all constraints. (check-in: 5acf90a9 user: drh tags: batch-in-operator)
15:08
Take CLI's wordwrap from trunk (check-in: 768c70a9 user: larrybr tags: shell-tweaks)
14:58
Add new interfaces to enable virtual table to process IN operator constraints all at once, rather than one element at a time. (check-in: eb84b80e user: drh tags: batch-in-operator)
13:17
CLI: Take extra care to not split a multi-byte unicode character when doing wordwrap. (check-in: 00b1b702 user: drh tags: trunk)
12:28
CLI: Add the --ww option as an alias for --wordwrap. Improve the wordwrap algorithm so that it breaks at punctuation if it cannot find space. Always wordwrap with --ww even if there is a .width setting for the column. (check-in: 1b528e31 user: drh tags: trunk)
02:50
Add "--wordwrap on/off" option for CLI columnar modes, qwbox shortcut (check-in: 10dbc278 user: larrybr tags: trunk)
00:00
CLI: In ".mode column" output, if any row contains a newline or wraps, then put a single blank line in between each pair of rows to provide additional visual separately. (check-in: fd42f4c3 user: drh tags: trunk)
2022-01-31
22:14
CLI: for columnar output modes, make sure the header is not too big. Also, improve the help text. (check-in: 070fae3a user: drh tags: trunk)
20:39
CLI: Fix a problem with tabs in the new qbox mode. (check-in: ca96ab3e user: drh tags: trunk)
19:52
Sync to trunk (check-in: f51a17b6 user: larrybr tags: shell-tweaks)
19:23
Cleanup dot-command handling, make multi-line work, honor exit requests from more contexts (check-in: 5cf66e89 user: larrybr tags: shell-tweaks)
16:29
Fix harmless compiler warnings in MSVC. (check-in: 3ec6141c user: drh tags: trunk)
15:59
Do not attempt to limit the number of columns used in a table to a prefix if the table will be used to construct an automatic index or bloom filter. dbsqlfuzz 787d9bd73164c6f0c85469e2e48b2aff19af6938. (check-in: f8766231 user: drh tags: trunk)
14:14
CLI: Enhancements to columnar output modes. (See [forum/forumpost/5b53cd851f66441f9|forum post 5b53cd851] for discussion.) New output mode "qbox". New output options "--quote" and "--wrap N". (check-in: 539cef52 user: drh tags: trunk)
12:29
Fix an obscure problem in sqlite3_backup_init() caused by [6a45d8fe8bfbc11a|check-in 6a45d8fe8bfbc11a]. See forum post 8b39fbf3e7 for the original bug report. (check-in: 639fc763 user: drh tags: trunk)
10:55
CLI: Fix the new ".mode box" output so that it works with unicode characters. (check-in: 454af487 user: drh tags: trunk)
2022-01-30
21:09
CLI: For columnar modes ("box", "column", "table", "markdown") the ".width" is now both the minimum and maximum width of the column. Text that spans multiple lines or that contains tabs is properly formatted. If any part of the output contains multi-line text, then extra separators are provided between each row. (check-in: c10ed4a7 user: drh tags: trunk)
11:44
Always enable all JSON tests, now that JSON is included by default. (check-in: 8c9f3501 user: drh tags: trunk)
11:42
Remove a faulty NEVER(). Fix for dbsqlfuzz 4678cf825d27f87c9b8343720121e12cf944b71a (check-in: d4e40245 user: drh tags: trunk)
01:35
Sync with trunk (check-in: 59693d3e user: larrybr tags: shell-tweaks)
01:21
Enhance shell parser for multi-line dot-commands (check-in: 5ed528e2 user: larrybr tags: shell-tweaks)
2022-01-29
21:41
Documentation enhancements. No code changes. (check-in: 312642d9 user: drh tags: trunk)
2022-01-28
23:44
Add the SQLITE_INDEX_CONSTRAINT_LIMIT and SQLITE_INDEX_CONSTRAINT_OFFSET constraints to the sqlite3_index_info for the xBestIndex method of virtual tables. (check-in: 1e227ad9 user: drh tags: trunk)
23:19
Add a NEVER() on an unreachable branch. (Closed-Leaf check-in: 38892625 user: drh tags: vtab-limit-offset)
21:39
When nesting Parse objects, make sure the new one has nErr set if there has been an OOM error. (check-in: ae088cbc user: drh tags: trunk)
19:53
Include hidden columns of table valued functions that are constrained by the function arguments in the colUsed bitmask. (check-in: 8f8cab0d user: drh tags: vtab-limit-offset)
18:43
Remove a NEVER() that has become reachable now that we have the sqlite3_vtab_rhs_value() interface. (check-in: c4c30df7 user: drh tags: vtab-limit-offset)
13:18
Enable SQLITE_INDEX_CONSTRAINT_LIMIT/OFFSET even if there are vector comparison operators in the WHERE clause. Also: Do not enable sqlite3_vtab_rhs_value() for LIMIT/OFFSET if the value is negative, as this violates an invariant on Expr.u.iValue. (check-in: 140480b3 user: drh tags: vtab-limit-offset)
2022-01-27
21:18
Query planner always honors the aConstraintUsage[].omit flag for the SQLITE_INDEX_CONSTRAINT_OFFSET constraint. (check-in: 38c5151e user: drh tags: vtab-limit-offset)
18:45
Make LIMIT and OFFSET values available to sqlite3_vtab_rhs_value(). (check-in: b2d37c08 user: drh tags: vtab-limit-offset)
16:14
Give the virtual table xBestIndex method access to (some) OFFSET and LIMIT clauses. (check-in: 74fa5757 user: drh tags: vtab-limit-offset)
13:52
Enforce the restriction that 'unixepoch' only works as the first modifier after the time-value. This has been documented since 2004, but has never actually been enforced before. Also add new test cases for date/time functions with evidence marks. (check-in: 64fa9e8c user: drh tags: trunk)
2022-01-25
16:28
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 6e4154d4 user: drh tags: reuse-schema)
16:05
Merge the latest trunk changes into begin-concurrent-pnu-wal2 (check-in: 3d949775 user: drh tags: begin-concurrent-pnu-wal2)
15:57
Merge the latest trunk changes into the wal2 branch. (check-in: 84f737ab user: drh tags: wal2)
15:48
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: 42e6d842 user: drh tags: begin-concurrent-report)
15:20
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: dae81f45 user: drh tags: begin-concurrent)
00:03
Minor adjustment to error handling in sqlite3FinishCoding(). (check-in: a8db6941 user: drh tags: trunk)
2022-01-24
21:47
Remove an unnecessary assert() that is sometimes not true following an OOM. (check-in: e9361d72 user: drh tags: trunk)
20:20
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: d1fbf633 user: drh tags: trunk)
20:16
One of the ALWAYS() macros in the previous check-in could sometimes be false, following an OOM. Remove it. Problem found by dbsqlfuzz. (check-in: 11df9187 user: drh tags: trunk)
19:38
Add ALWAYS() macros. Change some existing ALWAYS() into assert(). Other code simplifications. (check-in: 4aa27b4f user: drh tags: trunk)
16:47
Remove many redundant checks for sqlite3.mallocFailed now that any OOM should cause Parse.nErr to be non-zero. (check-in: 1f7fa461 user: drh tags: trunk)
15:34
Make it so that any Parse object is always linked into the database conenction while it is active. Hence, an OOM will cause Parse.nErr to be set. (check-in: 6a45d8fe user: drh tags: trunk)
14:01
Fix testcase for CLI .read recursion. (check-in: 53d44044 user: larrybr tags: trunk)
12:48
Make sure the sqlite3OomFault() routine sets an error in the Parse object if there is a Parse object active and linked to the database connection. (check-in: ad7aace7 user: drh tags: trunk)
11:25
Ensure that any error encountered while coding a trigger program is transfered to the main Parse structure before it is used with any other routine that might set the error code. (check-in: 42936565 user: dan tags: trunk)
07:11
Take CLI input redirect recursion limit from trunk (check-in: 5e702044 user: larrybr tags: shell-tweaks)
06:36
Limit CLI input redirect nesting (check-in: 7a073931 user: larrybr tags: trunk)
04:21
Add CLI .x command, make string redirection work (check-in: 2f2f1aae user: larrybr tags: shell-tweaks)
00:22
CLI prepared for reading string input (check-in: 073ded4d user: larrybr tags: shell-tweaks)
2022-01-23
20:54
Factor out DB protection lift and restore in CLI (check-in: 4462ed89 user: larrybr tags: shell-tweaks)
04:19
Shell refinements, seeargs, booleans, undocumented commands (check-in: 8735caf1 user: larrybr tags: shell-tweaks)
02:53
Create new branch named "shell-tweaks" (check-in: 3f13df29 user: larrybr tags: shell-tweaks)
2022-01-22
22:28
Add support for the sqlite3_vtab_distinct() interface. Virtual table implementations can use this API to determine more detail about the ordering requirements needed by the query plan and perhaps reduce the amount of work required to compute a correct answer. This is an optimization opportunity for the virtual table implementation. The correct answer should still be obtained (though perhaps more slowly) even if sqlite3_vtab_distinct() is ignored. (check-in: e4caf1e3 user: drh tags: trunk)
20:45
Bring sqlite3_vtab_distinct() up to spec so that it works as described in the documentation. (Closed-Leaf check-in: 4289edf3 user: drh tags: sqlite3_vtab_distinct)
19:19
Iimproved documentation for sqlite3_vtab_distinct(). No changes to code. (check-in: 7af03f02 user: drh tags: sqlite3_vtab_distinct)
02:52
Omit the WhereLoopBuilder.pOrderBy field, which is no longer needed. (check-in: a13afc90 user: drh tags: sqlite3_vtab_distinct)
00:18
An initial attempt to implement sqlite3_vtab_distinct(). (check-in: d571262d user: drh tags: sqlite3_vtab_distinct)
2022-01-21
19:26
Update evidence marks for the latest changes to the documentation. (check-in: 19247e91 user: drh tags: trunk)
18:57
Fix some of the new date/time function features to comply with the spec. Update requirement marks. (check-in: 2f5dc7a9 user: drh tags: trunk)
16:47
When computing a vector to be used as a key for an index lookup, do not check for NULL values and abort until after all key values have been computed, in case one of the later key values involves some initialization that is needed by a LEFT JOIN. Fix for the problem identified by Forum post ab95010d410a0a55. (Leaf check-in: 3bc8d162 user: drh tags: branch-3.37)
16:41
When computing a vector to be used as a key for an index lookup, do not check for NULL values and abort until after all key values have been computed, in case one of the later key values involves some initialization that is needed by a LEFT JOIN. Fix for the problem identified by Forum post ab95010d410a0a55. (check-in: 4db5217a user: drh tags: trunk)
01:00
Add the sqlite3_vtab_rhs_value() interface, allowing the xBestIndex method of a virtual table to access known values on the right-hand side of constraint expressions. (check-in: e19a0b13 user: drh tags: trunk)
00:38
Add requirements marks and tuning. (Closed-Leaf check-in: ac951490 user: drh tags: sqlite3_vtab_rhs_value)