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: 32a3a53b62 user: drh tags: trunk)
15:26
Fix CLI Windows build, refine its help, re-org ShellState (check-in: 991a06a480 user: larrybr tags: shell-tweaks)
13:27
Update stale evidence marks on sqlite3_vtab_rhs_value() test cases. (check-in: 46744b83d5 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: fc4c82e569 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: d4e6b9f0f7 user: drh tags: relaxed-alter-table)
11:13
Fix documentation typo. (check-in: 1a7d8bb5ea user: drh tags: trunk)
01:01
Typo fixes in documentation. (check-in: 1ec747d1c3 user: drh tags: trunk)
2022-02-04
21:49
CLI .param save/load done; many other small refinements (check-in: 6d415ac2c1 user: larrybr tags: shell-tweaks)
20:16
Test case for permissive ALTER TABLE RENAME when writable_schema=ON. (check-in: 7ee44f66c8 user: drh tags: relaxed-alter-table)
20:07
One more case of disabling errors for ALTER TABLE RENAME when writable_schema=ON. (check-in: c52d0dd8f4 user: drh tags: relaxed-alter-table)
19:13
Add a compile-time option to include vt02.c in fuzzcheck. (check-in: c404c8c726 user: drh tags: trunk)
18:12
Merge trunk enhancements into the reuse-schema branch. (check-in: 5744e1020b user: drh tags: reuse-schema)
18:02
Merge recent trunk changes into the begin-concurrent-pnu-wal2 branch. (check-in: cb045aba7c user: drh tags: begin-concurrent-pnu-wal2)
17:52
Merge trunk enhancements into the wal2 branch. (check-in: d2de02f372 user: drh tags: wal2)
17:51
Merge all recent trunk enhancements into the begin-concurrent-report branch. (check-in: 1c88bcfff5 user: drh tags: begin-concurrent-report)
17:40
Merge trunk enhancements into the begin-concurrent branch. (check-in: 85054a8691 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: 197cbabf17 user: drh tags: relaxed-alter-table)
13:15
Fix various harmless compiler warnings. (check-in: 70049342d5 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: 9f67ad00cd user: drh tags: trunk)
09:39
Fix .param edit unable to edit script vars (bad assert) (check-in: 62d212d0da user: larrybr tags: shell-tweaks)
2022-02-03
21:07
Sync to trunk. Shell tests pass. (check-in: 79275b81dc user: larrybr tags: shell-tweaks)
20:57
Scripting and .parameter enhancements most in; all in working (check-in: a1581118b0 user: larrybr tags: shell-tweaks)
18:14
Minor typo fix in comment. No code changes. (check-in: f9b763042c user: drh tags: trunk)
14:37
Do not allow the vdbe-compress.tcl script to generate structures named "do" or "if". (check-in: e35ab16dd0 user: drh tags: trunk)
14:19
Prohibit schema changes within xBestIndex callbacks. (check-in: bb0f056b3f user: drh tags: trunk)
2022-02-02
21:06
Improvement to the sqlite3_vtab_in_first() documentation. (check-in: 403e7ac900 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: 52559af093 user: drh tags: trunk)
19:30
Additional test cases. (Closed-Leaf check-in: 733d81c3a6 user: drh tags: batch-in-operator)
19:15
Test cases for sqlite3_vtab_in() and sqlite3_vtab_distinct(). (check-in: 21afb81d0a user: drh tags: batch-in-operator)
18:47
Improved documentation for sqlite3_vtab_in(). No code changes. (check-in: c99df4ab5d 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: 3bf2153440 user: drh tags: batch-in-operator)
15:10
Be sure that sqlite3_vtab_in_first() and _next() set the correct encoding. (check-in: 04edf36ee8 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: 8965929be2 user: drh tags: batch-in-operator)
11:37
Fix a harmless code indentation issue. (check-in: 41d8d26e48 user: drh tags: trunk)
2022-02-01
21:59
Tweaks to the sqlite3_vtab_in() interface. (check-in: 75040183b8 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: 5acf90a931 user: drh tags: batch-in-operator)
15:08
Take CLI's wordwrap from trunk (check-in: 768c70a926 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: eb84b80e1f 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: 00b1b7020a 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: 1b528e31f8 user: drh tags: trunk)
02:50
Add "--wordwrap on/off" option for CLI columnar modes, qwbox shortcut (check-in: 10dbc27870 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: fd42f4c304 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: 070fae3a09 user: drh tags: trunk)
20:39
CLI: Fix a problem with tabs in the new qbox mode. (check-in: ca96ab3ef7 user: drh tags: trunk)
19:52
Sync to trunk (check-in: f51a17b627 user: larrybr tags: shell-tweaks)
19:23
Cleanup dot-command handling, make multi-line work, honor exit requests from more contexts (check-in: 5cf66e8907 user: larrybr tags: shell-tweaks)
16:29
Fix harmless compiler warnings in MSVC. (check-in: 3ec6141c41 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: f8766231d2 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: 539cef5214 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: 639fc7633b user: drh tags: trunk)
10:55
CLI: Fix the new ".mode box" output so that it works with unicode characters. (check-in: 454af48724 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: c10ed4a7fe user: drh tags: trunk)
11:44
Always enable all JSON tests, now that JSON is included by default. (check-in: 8c9f350182 user: drh tags: trunk)
11:42
Remove a faulty NEVER(). Fix for dbsqlfuzz 4678cf825d27f87c9b8343720121e12cf944b71a (check-in: d4e402458d user: drh tags: trunk)
01:35
Sync with trunk (check-in: 59693d3e73 user: larrybr tags: shell-tweaks)
01:21
Enhance shell parser for multi-line dot-commands (check-in: 5ed528e27b user: larrybr tags: shell-tweaks)
2022-01-29
21:41
Documentation enhancements. No code changes. (check-in: 312642d982 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: 1e227ad9f4 user: drh tags: trunk)
23:19
Add a NEVER() on an unreachable branch. (Closed-Leaf check-in: 388926254b 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: ae088cbc96 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: 8f8cab0d0e 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: c4c30df7cd 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: 140480b3ec 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: 38c5151eb8 user: drh tags: vtab-limit-offset)
18:45
Make LIMIT and OFFSET values available to sqlite3_vtab_rhs_value(). (check-in: b2d37c086c user: drh tags: vtab-limit-offset)
16:14
Give the virtual table xBestIndex method access to (some) OFFSET and LIMIT clauses. (check-in: 74fa5757ee 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: 64fa9e8c87 user: drh tags: trunk)
2022-01-25
16:28
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 6e4154d414 user: drh tags: reuse-schema)
16:05
Merge the latest trunk changes into begin-concurrent-pnu-wal2 (check-in: 3d949775e3 user: drh tags: begin-concurrent-pnu-wal2)
15:57
Merge the latest trunk changes into the wal2 branch. (check-in: 84f737abd1 user: drh tags: wal2)
15:48
Merge the latest trunk enhancements into the begin-concurrent-report branch. (check-in: 42e6d842ab user: drh tags: begin-concurrent-report)
15:20
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: dae81f45d2 user: drh tags: begin-concurrent)
00:03
Minor adjustment to error handling in sqlite3FinishCoding(). (check-in: a8db69411b user: drh tags: trunk)
2022-01-24
21:47
Remove an unnecessary assert() that is sometimes not true following an OOM. (check-in: e9361d72f3 user: drh tags: trunk)
20:20
New dbsqlfuzz cases added to test/fuzzdata8.db. (check-in: d1fbf63330 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: 11df9187da user: drh tags: trunk)
19:38
Add ALWAYS() macros. Change some existing ALWAYS() into assert(). Other code simplifications. (check-in: 4aa27b4fcd 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: 1f7fa46126 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: 6a45d8fe8b user: drh tags: trunk)
14:01
Fix testcase for CLI .read recursion. (check-in: 53d4404458 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: ad7aace761 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: 4293656578 user: dan tags: trunk)
07:11
Take CLI input redirect recursion limit from trunk (check-in: 5e70204415 user: larrybr tags: shell-tweaks)
06:36
Limit CLI input redirect nesting (check-in: 7a07393175 user: larrybr tags: trunk)
04:21
Add CLI .x command, make string redirection work (check-in: 2f2f1aaed6 user: larrybr tags: shell-tweaks)
00:22
CLI prepared for reading string input (check-in: 073ded4d18 user: larrybr tags: shell-tweaks)
2022-01-23
20:54
Factor out DB protection lift and restore in CLI (check-in: 4462ed8964 user: larrybr tags: shell-tweaks)
04:19
Shell refinements, seeargs, booleans, undocumented commands (check-in: 8735caf13f user: larrybr tags: shell-tweaks)
02:53
Create new branch named "shell-tweaks" (check-in: 3f13df296b 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: e4caf1e393 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: 4289edf3c5 user: drh tags: sqlite3_vtab_distinct)
19:19
Iimproved documentation for sqlite3_vtab_distinct(). No changes to code. (check-in: 7af03f0294 user: drh tags: sqlite3_vtab_distinct)
02:52
Omit the WhereLoopBuilder.pOrderBy field, which is no longer needed. (check-in: a13afc909c user: drh tags: sqlite3_vtab_distinct)
00:18
An initial attempt to implement sqlite3_vtab_distinct(). (check-in: d571262d23 user: drh tags: sqlite3_vtab_distinct)
2022-01-21
19:26
Update evidence marks for the latest changes to the documentation. (check-in: 19247e919f 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: 2f5dc7a9ee 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: 3bc8d16207 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: 4db5217a28 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: e19a0b132a user: drh tags: trunk)
00:38
Add requirements marks and tuning. (Closed-Leaf check-in: ac951490fd user: drh tags: sqlite3_vtab_rhs_value)