drh
1e472f2d32
Bug fix in sqlite3_str_free(): Do not crash if called on an sqlite3_str
...
object returned from sqlite3_str_new() following an OOM.
FossilOrigin-Name: 92d8ac0c4938e43b00111b43630ecfa91c30e5200ca03937a84f4b50bd1a13b3
2026-04-15 14:17:58 +00:00
drh
e3dbf75160
Add support for the analyze() extension function to the fuzzcheck test
...
program.
FossilOrigin-Name: abd94554d24122f0e0c3b7b36e5846e8c7aa0dddbddd9aae35b3f6ae6ab283c0
2026-04-15 13:05:43 +00:00
drh
ade9289540
Improve the analyze() extension so that it returns a simple error message
...
as text (it does not throw an error) if the database is empty or is "temp"
or does not exist.
FossilOrigin-Name: 35379f60922f14d4f6d231ae627df066ad4e4510208bcc244505b9afb279f2fa
2026-04-15 12:47:37 +00:00
drh
dfba4eb34a
Fix harmless compiler warnings seen by MSVC in the previous check-in.
...
Also add ext/misc/analyze.c to the makefile dependencies for the CLI.
FossilOrigin-Name: 5a0ee6e227042e41ac64869c75f961798b252458670c18662175fe5bfa8b87d3
2026-04-15 12:35:23 +00:00
drh
b57d2a5a51
Add the analyze() SQL function implemented the ext/misc/analyze.c extension
...
(but not part of the amalgamation). Make that function available in the
CLI and add a new ".dbinfo" command to the CLI using that function.
FossilOrigin-Name: 4c4988e56df3c668b8891e2a55887a6618f5b84e9111e562b93059ddb9a662dc
2026-04-15 12:20:11 +00:00
drh
84c1079220
Add a missing open_db() call in the new ".dbstat" command of the CLI.
...
FossilOrigin-Name: a138e44a243466f8679e9652421f8c893a4a1bc0addc86736588d9aee51cf090
2026-04-15 11:58:54 +00:00
drh
c8d866294b
Add the .dbstat command to the CLI.
...
FossilOrigin-Name: fdba76df2b3a5b4d56ba79f80fd8b16d5faebca1fb07a266262be2ea635e6f94
2026-04-15 11:41:50 +00:00
stephan
f0baddb205
On platforms which support ./configure --with-icu-config, ensure that 'make tclextension' includes the ICU pieces in the tcl extension. Intended to resolve [forum:92a88de4b88929fe|forum post 92a88de4b88929fe].
...
FossilOrigin-Name: 404fde8bacc3f05254a2fcdb1531a7f53125a7ad45dc6b68a5065c1d0c73b670
2026-04-15 11:40:13 +00:00
dan
ec2ea68d1f
Avoid a potentially undefined left-shift in the fts5 porter tokenizer.
...
FossilOrigin-Name: 46a288e43e4c48fca6610bce6a2db418aaa3c8a1dcb115b7a0bfad2063355e58
2026-04-15 11:23:30 +00:00
dan
c71e6dd054
Handle the case where the name of the constraint in an "ALTER TABLE DROP CONSTRAINT" command is quoted. [forum:8bfbaec404 | Forum post 8bfbaec404].
...
FossilOrigin-Name: 7f5afb12f4a5d35cfe6b95f17d85ce85ce62159515bfe26fb9c67d3ce26b6d4a
2026-04-15 11:07:58 +00:00
drh
9efde40a5d
Compute the average fanout for b-trees of depth 2 or more.
...
FossilOrigin-Name: 2f8598bb09f32100f22dd1d9465f3fa0f7f8d81f5d67c34de9919708345f090b
2026-04-15 10:49:14 +00:00
stephan
afef1f2923
Minor doc typo fixes contributed by BrickViking.
...
FossilOrigin-Name: c4660ce205919ce0d9262e7fd7879375a72ef65d9e5ac97f19caf5dc36e355aa
2026-04-14 23:53:38 +00:00
drh
09f37099a7
Code simplifications. Return NULL is the specified SCHEMA does not exist.
...
FossilOrigin-Name: 953969c88149ea2f589942b98a0a96d907956319e5aa09e2d5a3ae76d3e7d70a
2026-04-14 23:19:02 +00:00
dan
846fbd6653
Handle a special case of a corrupt changeset in sqlite3changegroup_add().
...
FossilOrigin-Name: eba625f917935437e3f366197df1c6717c7120ce0418a0cbac1d2024b2235091
2026-04-14 20:18:54 +00:00
dan
1b14a925dc
Have the session module detect some corrupt changesets earlier.
...
FossilOrigin-Name: 0de91ff0d798cff21289d893cc441b89fc37b051d5cdf611d92d3ae2bc41cdf2
2026-04-14 20:17:41 +00:00
drh
526acc1834
Merge trunk enhancements and fixes into the analyze-sql-func branch.
...
FossilOrigin-Name: bb4a9beac87796b4186efce416bf03f840041bc588be6702c5a444d643df684e
2026-04-14 20:17:03 +00:00
drh
d962afef2d
Various minor tweaks and refinements to the analyze() function.
...
FossilOrigin-Name: 48d94e72eaec443011dd1f7a7264e5222c05bb515c84deaf20ed4195b74d45ff
2026-04-14 20:07:29 +00:00
dan
839433d457
Handle a special case of a corrupt changeset in sqlite3changegroup_add().
...
FossilOrigin-Name: 49b3bac482c831f503c7f90c35959e7ea731950e991baba86b2ab95987d2539b
2026-04-14 20:02:49 +00:00
drh
395ac6c1bc
Implementation of the analyze() SQL function is now mostly complete.
...
FossilOrigin-Name: 1ca0386ab2df0d88ed52941469d459114f483ecf6b7e4691bcc32e909636cb7d
2026-04-14 19:36:33 +00:00
drh
e9d0bc6b68
Much, but not all, of the report generation is added. An incremental check-in.
...
FossilOrigin-Name: 289fefc3edfeecb06dc11897d3ff24763fd9e25db44e369eeec29b9ed3de5ccc
2026-04-14 19:02:40 +00:00
dan
ab6a63ec67
In RBU vacuum commands, do as SQLite does and ignore any trailing SQL statements in the sql column of the sqlite_schema table.
...
FossilOrigin-Name: cf7dad1b105ab35cd7180efec735b7cbeaf42b8d53dfec5582b63cd121c3425c
2026-04-14 18:08:30 +00:00
drh
57ed7f322f
Check-in [495e4851d4296b49] breaks the build for Windows. Fixed here.
...
FossilOrigin-Name: 5b004348c3ec15a02dd657b3619502b6f8ba1c6f46918108b3de9534622076a0
2026-04-14 18:06:41 +00:00
drh
34c2c8dc47
Further fixes and clarifications. Now ready to start generating the
...
actual report.
FossilOrigin-Name: 037a0e586c4aa81a53aea164080e739f9d5b87197d04fdd68feb0ab5eb01020b
2026-04-14 13:18:04 +00:00
drh
3f9df1f5fb
Further improvements to error messages and robustness.
...
FossilOrigin-Name: 45917c1124310fd77daca47865959d3261154f7b0c6771d3689e6d345a3fd153
2026-04-14 12:46:12 +00:00
drh
2eeac123c8
Improved error messages and robustness.
...
FossilOrigin-Name: c09ed9eb914bde96cdc5157e29b6384ce488262a2dadc7321c44941a1d08a187
2026-04-14 12:23:11 +00:00
drh
64a123a216
Initial prototype implementation of a new run-time loadable SQL function
...
to do approximately the same work as sqlite3_analyze.
FossilOrigin-Name: 03934b5a6c88a97117a4743a68ee36d30bcbdcebcf11342d30ac42daf9f10874
2026-04-14 11:25:22 +00:00
stephan
a10e79d91a
Minor README typo fix reported off-list by BrickViking.
...
FossilOrigin-Name: aa3432af90b2b9ab0b92f56a8e9c926930b9859e986500bd00d5600c1dd036bf
2026-04-14 02:09:43 +00:00
stephan
6e93d28950
Pass the ICU-related build flags through the 'tclextension' target, not just 'tclextension-install'.
...
FossilOrigin-Name: 499c89f8745fac7ee93ff79a340abd69b4f06b07983b4d50057fa5d0893b2f3b
2026-04-14 00:48:34 +00:00
stephan
008395614a
Tweak 'make tclextension' to pass on any --with-icu-config build flags so that it can link with the various ICU libs. This works for me but needs testing on a wider selection of systems before being moved to trunk. Intended to resolve [forum:92a88de4b88929fe|forum post 92a88de4b88929fe].
...
FossilOrigin-Name: a8c022d7946e8a29114400c1321f36f03979a2277253f1dcd769d8f36e944ece
2026-04-14 00:11:23 +00:00
drh
d20673a95f
Fix typos and inaccuracies in comments. No changes to code.
...
FossilOrigin-Name: a6c2d7ce84f4f5f8a82cc566a27f98f5418f251e87f1f264ae57935fb10399f7
2026-04-13 17:33:34 +00:00
drh
f02d100e08
".prompt" command improvements in the CLI: Guard against mistakenly saying
...
".prompt show" without the "--" before "show". Add the --hard-reset option
to .prompt to make it more easily testable.
FossilOrigin-Name: 495e4851d4296b49a37b963edd8410314de1510b2ae0b9dbe9dc0307c466c3b5
2026-04-13 12:22:16 +00:00
drh
4c8f0621fd
Improvements to the prompt_filename() function in the CLI so that it finds
...
the database filename even if the connection is not yet fully open.
FossilOrigin-Name: efb3e808a0281014512a812920d526a4909467e925ea000956606318bb6f2e65
2026-04-13 11:34:15 +00:00
stephan
6abc21cfb8
Latest upstream jimsh0.c.
...
FossilOrigin-Name: 414ae4dd65182ce571a6abb1a1a2ba2c169b204156f4f8923c42f64805a3ef9f
2026-04-13 10:56:14 +00:00
stephan
20079bb358
Doc typo fix which broke the docsrc build, reported by BrickViking.
...
FossilOrigin-Name: 3c212b5d85338f90a5f1a2d1484e54c0bf699eedef19a16f4c0de76a76dd9d07
2026-04-12 17:47:57 +00:00
drh
3d6fa49c54
Bug fix in the revised ".prompt" command of the CLI, with test cases.
...
FossilOrigin-Name: 7583385593354f90a9818d1820543841109f253dffcec5ca5ed7629336e29fac
2026-04-12 10:46:35 +00:00
stephan
4df365e5a7
Fix a typo which causes .headers to not show up in the shell's .help.
...
FossilOrigin-Name: d379b14a48d331933240fb99ab43c3cc978638d7ad0a8d5975bb211a72eaef2b
2026-04-12 05:41:28 +00:00
drh
9d8bf6f04a
Change the prompt escape design yet again, to use / as the escape character,
...
since % and just about every other punctuation character is special to
cmd.exe, batch files, and nmake, on Windows.
FossilOrigin-Name: 79a8d3edf8207d72f0c4650272ee239a1c7783a07f907fbf0cf5a7ad99b27a2a
2026-04-11 23:58:15 +00:00
drh
c0026ff7a6
CLI prompt design change: The escape character is changed from \ to
...
%#37;. This avoids lots of quoting problems when trying to specify prompt
strings in various programming languages and shells.
FossilOrigin-Name: e7e6ecc45dfe1a163d259be26877bd7e528ce154e73b3ca8ab7edc5aa94d2d02
2026-04-11 22:58:25 +00:00
drh
1e3f888acf
Two C-preprocessor macros SQLITE_PS1 and SQLITE_PS2 can be set to override
...
the default prompt strings in the CLI.
FossilOrigin-Name: 6fa0216a19c2f165110121227d3f9b9119369f8cd61f9c6d13eaa1ae42a60d60
2026-04-11 22:18:05 +00:00
drh
2d4dfbccdc
Make sqlite3_incomplete() available to extensions.
...
FossilOrigin-Name: 50d81300ba0f021f388aab1e86e97d688ed762cee408c610cf70977f7b488803
2026-04-11 20:53:53 +00:00
stephan
6142310e08
When fiddle terminal mode is enabled, add a link to the jquery.terminal project in the About box.
...
FossilOrigin-Name: d64f0c8845104008d6c251f9a1406c6ff717a916c13b64014aa1d154501d5fab
2026-04-11 20:43:49 +00:00
drh
42ae7e7f34
Fix harmless UB in sqlite3_incomplete().
...
FossilOrigin-Name: 8dfdff559faefd943b97827dc3c7100fc4469e2f8353a264fb322e23af5cb669
2026-04-11 20:41:54 +00:00
stephan
57cf5c2dfc
fiddle: disable jquery.terminal's pre-processing of user input, as discussed in [forum:c6665017c0dbba1f|forum post c6665017c0dbba1f], with many thanks to the jquery.terminal team for this workaround.
...
FossilOrigin-Name: ea7e121ab2a7b2fee5372ca12a2a53c7e98ffa1b49d85944f7ce4a7251a777c8
2026-04-11 20:31:03 +00:00
drh
a212476ad2
Improvements to the interactive prompt in the CLI:
...
(1) CLI honors SQLITE_PS1 and SQLITE_PS2 envvars as prompt strings,
(2) CLI prompt strings expand various backslash escapes,
(3) No arbitrary length limits on CLI prompt strings,
(4) New default prompt shows the database filename using the \f
escape,
(5) SQLite core adds the sqlite3_incomplate() API, used by
the \H escape in prompt string rendering,
(6) Enhancements to the ".prompt" dot-command.
FossilOrigin-Name: 55af98054e073d6eee3e85fd7564c83eca935ae205da68f5e8f1b561e7f08c00
2026-04-11 18:38:54 +00:00
drh
d08caad3a5
Fix harmless compiler warnings.
...
FossilOrigin-Name: 3b4cc8d3beab8c910dd954bf8093f7ab499e4690b9cf882f981c4415dd7a7540
2026-04-11 17:47:31 +00:00
drh
28456958ca
Initial test cases for the CLI prompt enhancements.
...
FossilOrigin-Name: b7ecc84735d41e9cdb498020b86d8219efa18ca5b40aef1031a14809f1ac2d38
2026-04-11 16:12:12 +00:00
drh
3b27ffa534
Add --reset, --show, and -- options to the ".prompt" command of the CLI.
...
FossilOrigin-Name: 8075576ba2324a458440bae398baecc7872b6528574b7fe6681a3a30b62d58ef
2026-04-11 15:45:45 +00:00
drh
fc2c730c87
Enhancements to shell_prompt_test() for better testing. Enhance the
...
".open" command so that it does ~/ expansion on filenames.
FossilOrigin-Name: ec6830fe60b73bc606d3c2a5d407a39db53f6dadee760829410abfa1df46389e
2026-04-11 14:11:56 +00:00
drh
cd28797117
Remove arbitrary limits on the length of CLI prompts. Use environment
...
variables SQLITE_PS1 and SQLITE_PS2 (if they exist) as the default
CLI prompts.
FossilOrigin-Name: a46ceaeab968d8f376c5a225c23c0be8619fed4511b7e567baf3a8d7736c19d1
2026-04-11 12:35:53 +00:00
drh
c8b130f255
Fix the \B escape for prompts so that it uses wcwidth() instead of
...
strlen() to compute spacing.
FossilOrigin-Name: c6ff4f701d9cf963cf2472ed72ad4e201227560dde2ba8d48602af2e49170e89
2026-04-11 11:24:09 +00:00