Commit Graph

  • ec047587e3 Merge the latest trunk changes into the alter-table-constraints branch. drh 2025-11-18 19:36:45 +00:00
  • 074b753bca Merge the latest trunk enhancements into the temp-trigger-refs branch. drh 2025-11-18 19:34:11 +00:00
  • f1928b3e54 Do not attempt to make the generated file "shell.c" read-only. This turns out to be annoying in general, and especially annoying on macs. drh 2025-11-18 19:11:21 +00:00
  • 3432c86eaf Merge the latest trunk changes into the reuse-schema branch drh 2025-11-18 19:09:01 +00:00
  • dbd613c318 Merge all the latest trunk changes into the bedrock branch drh 2025-11-18 18:59:55 +00:00
  • 82d685dae8 Merge all the latest trunk enhancements into the wal2 branch. drh 2025-11-18 18:53:20 +00:00
  • 0123bf7ed0 Merge all the latest trunk enhancements into the begin-concurrent branch drh 2025-11-18 18:52:50 +00:00
  • f639befec8 New subcomponent, the Query Result Formatter (QRF), that formats query results for display to humans on a fixed-width font terminal. Rework the CLI to make use of the QRF. Renovate the .mode command of the CLI. Also incorporate the QRF into the TCL interface as the "format" method. drh 2025-11-18 17:49:48 +00:00
  • 4b43acc718 Add support for SQLITE_LIMIT_PARSER_DEPTH to limit the size of the stack used by the parser. This can help prevent deeply nested parse trees that then cause problems on machines with smaller CPU stacks. Modify the %realloc and %free directives of Lemon and add the new %stack_size_limit directive in support of this capability. drh 2025-11-18 17:27:46 +00:00
  • 9e91a1fe89 Modify the "%realloc" and "%free" commands in Lemon so that the functions they specify take an extra parameter at the end, the %extra_context pointer. This allows the implementation to distinguish between OOM errors and failures to increase the stack size because of the stack size limit. parser-stack-size drh 2025-11-18 15:40:02 +00:00
  • 9432655038 Lower the default stack size for the parse to 50. drh 2025-11-18 15:20:22 +00:00
  • fef2233090 Add the SQLITE_LIMIT_PARSER_DEPTH value for sqlite3_limit(). This isn't something that many applications will need, but it is useful for testing. drh 2025-11-18 14:48:33 +00:00
  • d26ac414c8 Yet another attempt at controlling the parser stack size. drh 2025-11-18 13:03:08 +00:00
  • ef4abc0a63 Fix incorrect "#line" generation in Lemon. drh 2025-11-18 10:38:41 +00:00
  • 6b783ec950 Pervent the parser stack from growing to be larger than 100 plus four times the SQLITE_LIMIT_EXPR_DEPTH setting. parser-recursion-limit drh 2025-11-18 02:24:46 +00:00
  • 94818fe81d Experimental SQLITE_MAX_SUBQUERY compile-time option. max-subquery drh 2025-11-18 00:16:40 +00:00
  • 847d2ed685 Add api.oo1=0 flag to ext/wasm/GNUmakefile to strip out the sqlite3.oo1 pieces from the build. Part of the ongoing response to [forum:4b7d45433731d2e0|forum post 4b7d45433731d2e0]. stephan 2025-11-17 23:55:41 +00:00
  • 07e071e500 If SQL is entered as additional command-line arguments to CLI, that counts the same as getting input from a pipe or file for the purpose of determining the default format mode. qrf drh 2025-11-17 19:46:04 +00:00
  • 18a9bdd90a Fix a harmless compiler warning. drh 2025-11-17 19:19:58 +00:00
  • 53794ab541 The -textjsonb option is on by default in the standard non-batch mode of the CLI. New fast screening test for JSONB. drh 2025-11-17 18:51:55 +00:00
  • 234d2e51ac CLI comes up in legacy "list" mode if neither stdin or stdout are a tty, or if "--compat 20251114" or earlier is specified, or if "--batch" is used. New modes "batch" and "tty" select either legacy "list" mode or the newer "qbox" mode with limits. Make CVS output compatible with legacy. Break out ".import" into a separate subroutine in anticipation of forthcoming improvements. General code cleanup. drh 2025-11-17 16:44:13 +00:00
  • 02268693c3 Fix test cases impacted by the use of ~/.sqliterc drh 2025-11-17 00:15:14 +00:00
  • 4d91527aa5 Fix a bug in ".show". Adjust test cases for the new default mode. drh 2025-11-16 23:06:45 +00:00
  • 1db7790ecb Default .mode is now qbox with limits. New --compat YYYYMMDD command-line option, and new -DCOMPATIBILITY_DATE=YYYYMMDD compile-time options can override. Command ".mode YYYYMMDD" sets the mode to the default for the date given. drh 2025-11-16 17:27:21 +00:00
  • e20406040a Fix a long-standing bug in .schema when the argument contains a ".". drh 2025-11-16 10:49:51 +00:00
  • 4dc404cef4 Fix a problem with the new command-line parsing in the CLI. drh 2025-11-16 02:32:06 +00:00
  • f4870a2b51 Improved --safe mode defenses. Fix a test case error. drh 2025-11-16 01:34:01 +00:00
  • 36a54c001e Improved error detection in the argument to .mode --widths. drh 2025-11-16 01:03:53 +00:00
  • 4e12c0b0e9 Fix formatting problem in .schema and .fullschema drh 2025-11-16 00:56:24 +00:00
  • 1d06c9f700 Help text improvements in the CLI. drh 2025-11-15 20:10:32 +00:00
  • 3e2ecc390b Remove an unused struct. stephan 2025-11-15 16:06:03 +00:00
  • 3b2754446a Bug fix to the --lineline option in the CLI. Other minor CLI tweaks. drh 2025-11-15 15:30:55 +00:00
  • a1dede1e58 JNI: when validing the eTextRep argument in sqlite3_create_function(), only validate the lower four bits (the high bits are for other flags). Add flags to test functions to ensure this case is triggered. stephan 2025-11-15 15:30:45 +00:00
  • dd3b30ec85 Columnar modes respond to nScreenWidth. drh 2025-11-15 15:18:41 +00:00
  • 982274b8e9 Replace the JNI binding's internal use of sqlite3ErrorWithMsg() with sqlite3_set_errmsg() and have it handle OOM in a way consistent with the rest of the JNI bindings. stephan 2025-11-15 15:09:04 +00:00
  • e83ffd5c87 Random JS build cleanups and parallel build mkdir race fixes. Reinstate the recently-removed [a65bd978cbc646ec] after finding a reformulation which works on Emscripten 4.0.19 (and saves about 85kb on the JS deliverables). stephan 2025-11-15 13:30:13 +00:00
  • 18c7b4d651 Columnar formats respond to --screenwidth restrictions by removing cell padding. drh 2025-11-15 12:09:13 +00:00
  • 393a4d8ac5 Reorder initialization of sqlite3ApiBootstrap()'s bownstrapped config object so that it's possible to inject the wasm memory and exports via that, to simplify plugging-in of sqlite3-api.js in other builds. Previously the build-provided wasm exports/memory overrode any which a client might want to use. stephan 2025-11-15 11:53:30 +00:00
  • 987870a6a0 Generic internal JS cleanups towards improving portability of sqlite3-api.js to other build systems. stephan 2025-11-15 11:30:45 +00:00
  • 3338ca5f56 Data structure improvements on columnar layout. Prep work for getting columnar layouts to respond to nScreenWidth. drh 2025-11-15 11:28:23 +00:00
  • a804a65617 Move sqlite3-api-cleanup.js into post-js-footer.js to remove the final direct Emscripten dependency from the intermediary build product sqlite3-api.js (the whole library, waiting to be bootstrapped). This is partly in response to [forum:4b7d45433731d2e0|forum post 4b7d45433731d2e0], which demonstrates a potential use case for a standalone sqlite3-api.js. This is a build/doc change, not a functional one. stephan 2025-11-15 09:19:03 +00:00
  • 5279cbd353 API doc typo fix. stephan 2025-11-15 08:05:12 +00:00
  • 7a0d5bdd29 Improve columnar layout in QRF so that it correctly deals with control characters, and especially tabs. drh 2025-11-15 00:23:09 +00:00
  • 850da77de1 Make use of the new sqlite3_str_free() interface in the CLI. drh 2025-11-14 21:49:27 +00:00
  • c2b9896e50 Enforce the --charlimit constraint in QRF. drh 2025-11-14 21:40:20 +00:00
  • 9a3561e2d9 Merge the latest trunk enhancements into the qrf branch. drh 2025-11-14 20:11:15 +00:00
  • c14ae9cd3b New interfaces sqlite3_str_truncate() and sqlite3_str_free(). Version number increases to 3.52.0. drh 2025-11-14 20:09:01 +00:00
  • c5d6fbdeea Fix harmless display bug in previous check-in. Add the -noinit command-line option to bypass reading the ~/.sqliterc file. drh 2025-11-14 19:04:23 +00:00
  • 8254c1a4fa Add the --tag and --list options to the ".mode" command. drh 2025-11-14 18:41:21 +00:00
  • ed7981ea3e If SQLITE_EXPERIMENTAL_PRAGMA_20251114 is defined at build-time, send an experimental pragma file-control to the VFS if a call to take a SHARED lock is to be immediately followed by one to take a RESERVED. dan 2025-11-14 17:27:20 +00:00
  • e1f7ec65fd Slight restructure of the previous checkin. stephan 2025-11-14 17:23:24 +00:00
  • 02751a7162 Add the --once option to the .mode command. Improvements to help text. drh 2025-11-14 17:11:06 +00:00
  • 505d8a43db In sqlite3-api-cleanup.js, if no Emscripten module is detected then simply return, rather than throw. This should enable the generated sqliet3-api.js (normally an intermediary file) to be used as-is, with the caveat that the caller has to bootstrap the library themselves. stephan 2025-11-14 16:56:51 +00:00
  • 408c991017 Remove a harmless duplicated makefile var assignment from mkwasmbuilds.c. stephan 2025-11-14 15:03:55 +00:00
  • a7b9a10707 Fix harmless compiler warnings. Incorporate "USAGE:" comments on dot-command implementations into the CLI ".help" command output. drh 2025-11-14 14:59:43 +00:00
  • 09cc9b5184 Fix a makefile ordering bug which caused certain builds to fail unless others had already been built. Remove the superfluous sqlite3-node.wasm from the final deliverables dir (sqlite3-node.mjs uses sqlite3.wasm instead). stephan 2025-11-14 14:42:00 +00:00
  • d5ee8aa625 Fix various bugs and compiler warnings. All tests now passing on linux, mac, and windows. More testing needed, though. drh 2025-11-14 13:07:45 +00:00
  • e85b670a55 Merge compiler-warning fix from trunk into the qrf branch. drh 2025-11-14 11:06:27 +00:00
  • 9bafbd122b Fix a harmless compiler warning in testing code. drh 2025-11-14 11:02:49 +00:00
  • ce4a86e08f Fix a memory error in the .schema command. drh 2025-11-14 10:42:29 +00:00
  • 0412f3297a Suppress a harmless compiler warning. drh 2025-11-14 03:26:48 +00:00
  • c4f198bfc4 Merge all the latest trunk enhancements into the qrf branch. drh 2025-11-14 02:27:58 +00:00
  • c37fcdd5d1 Improvements to --titles handling in the .mode command. Fix shell1 test cases having to do with quoting of NULL values in "tcl" mode. drh 2025-11-14 02:22:39 +00:00
  • 7a796b702f A better fix for the issue with RETURNING triggers on eponymous virtual tables and SQLITE_SCHEMA errors first addressed by [45d820ca22]. dan 2025-11-13 20:37:09 +00:00
  • 8b34ce7d61 Add an OOM test case for the issue with dropping RETURNING triggers when the schema is reset while preparing a statement that uses an eponymous vtab. dan 2025-11-13 18:02:22 +00:00
  • 826bebdb31 Add better test case for the issue with dropping RETURNING triggers when the schema is reset while preparing a statement. dan 2025-11-13 17:42:55 +00:00
  • 388c1da56e Generic makefile cleanups and doc updates. stephan 2025-11-13 17:37:40 +00:00
  • 9e6474c5a8 Internal doc fix (renamed file). stephan 2025-11-13 16:38:45 +00:00
  • 319870836c JS code reformatting and doc updates. No functional changes. stephan 2025-11-13 15:33:44 +00:00
  • a9025a5f1a Add the #include -raw flag to ext/wasm/c-pp-lite.c to support a pending feature. stephan 2025-11-13 14:47:41 +00:00
  • 525d297450 CLI shell: ensure that .dump propagates its error code on error. drh 2025-11-13 12:22:14 +00:00
  • bf891f707b Get --screenwidth auto working on linux and windows. drh 2025-11-13 11:52:34 +00:00
  • 2605119d14 Fix a problem in the EXISTS-to-JOIN optimization so that it works with nested WHERE and EXISTS statements. drh 2025-11-13 11:42:16 +00:00
  • 237778289b Fix a problem in the EXISTS-to-JOIN optimization ([e33da6d5dc964db8]) so that it works with nested WHERE and EXISTS statements. [forum:/forumpost/0704c3c41e49631b|Forum post 0704c3c41e4] drh 2025-11-13 11:36:48 +00:00
  • de223ffbbd Merge various minor code and documentation fixes from trunk into the patch branch for 3.51. drh 2025-11-13 11:34:38 +00:00
  • 57a533a7c3 mkwasmbuilds.c doc updates. Merge in the parts of [8611cf643b] which are not contentious. stephan 2025-11-13 09:03:48 +00:00
  • 5e2e34aef8 Re-add the (still) unsupported and (still 100%) untested sqlite3-node.mjs back to the dist bundle, as its removal in 3.51 has [caused some downstream disruption](https://github.com/sqlite/sqlite-wasm/issues/118). This is stashed in a branch for now and may never be merged - we're still negotiating the terms of its re-addition and my eventual capitulation. sqlite3-node.mjs stephan 2025-11-13 08:36:52 +00:00
  • f47095a5a0 Teach c-pp to export its argv as a #define list so that we can embed it in the generates files. stephan 2025-11-13 08:26:11 +00:00
  • 791b767b26 Doc typo fix reported in [forum:00e49e9aa1|forum post 00e49e9aa1]. stephan 2025-11-13 07:07:28 +00:00
  • ce53b80819 Minor doc correction and a JS error message tweak. stephan 2025-11-13 06:49:12 +00:00
  • 2a376849ca Implement the --titles option to the .mode command. drh 2025-11-12 20:50:08 +00:00
  • b9a471a745 More details on the format of the QRF_STYLE_Json and QRF_STYLE_JOBject. drh 2025-11-12 19:03:05 +00:00
  • a9136b45fa Continuing code cleanup. Various minor bug fixes. All legacy tests now pass. All planned features for ".mode" are implemented, at least at the interface level, though some features are still no-ops. drh 2025-11-12 18:54:09 +00:00
  • b867030b1a Clarify that 'pikchr' is not a typo. stephan 2025-11-12 17:25:17 +00:00
  • ed72bb3fa3 Add a new direct CLI testing script in test/modeA.clitest to demonstration that can be done. Rig this this to be run by test/shellB.test during normal testing. drh 2025-11-12 13:46:11 +00:00
  • 3b847a4040 Rename QRF_STYLE_JsonLine to QRF_STYLE_JObject. Add new convenience modes to the CLI and generally refactor and improve the ".mode" command. Some tests are failing, mostly due to changes in error message output and similar. drh 2025-11-12 12:44:02 +00:00
  • b43e8920d8 Minor refactoring of some field names in the sqlite3_qrf_spec object, to try to make the names more intuitive, memorable, and succinct. drh 2025-11-11 18:07:42 +00:00
  • 0a416b9fd9 Merge trunk with this branch. dan 2025-11-11 17:06:24 +00:00
  • 055cc9c9b9 Add further test cases for temp triggers to this branch. dan 2025-11-11 16:50:31 +00:00
  • 45fe5b35be Merge latest trunk with this branch. dan 2025-11-11 14:57:12 +00:00
  • 7f947dbd6c Move the ".output" command into a separate subroutine. Enhance .output so that it is able to capture output in a sqlite3_str object, then compare that captured output we patterns to accomplish tests. drh 2025-11-11 14:08:50 +00:00
  • 3a5f3aa858 Factor the code for ".mode" out of do_meta_command() and into its own subroutine, to show how the new infrastructure makes this easy. We need to do the same for all the dot-commands. At the same time, add the -textjsonb option to .mode. drh 2025-11-11 00:44:25 +00:00
  • babac214d6 Bug fixes. All tests are now passing. drh 2025-11-11 00:21:26 +00:00
  • 71b65c5055 Revamp the internal data structures that the CLI uses for tracking and managing the display mode. This is an incremental check-in. The code compiles and runs, but not all tests are passing. drh 2025-11-10 23:40:40 +00:00
  • 0c4c0dbc7d Keep explicit NULL values in QRF_STYLE_Json output. drh 2025-11-10 22:05:42 +00:00
  • dfeb788b0f Merge all the latest trunk improvements into the qrf branch. drh 2025-11-10 20:11:36 +00:00
  • 7efded5edc Improved concurrency for "make devtest" by splitting fuzzdata1.db and fuzzdata2.db into slices for asan and ubsan testing. drh 2025-11-10 20:01:39 +00:00
  • f07576429e Avoid dropping RETURNING triggers when the schema is reset while preparing a statement. dan 2025-11-10 19:11:15 +00:00
  • a04f5335f9 Improved argument parsing and error message infrastructure for dot-commands in the CLI. drh 2025-11-10 18:39:33 +00:00
  • 14fcb8252a Avoid dropping RETURNING triggers when the schema is reset while preparing a statement. returning-fix dan 2025-11-10 17:37:59 +00:00