Commit Graph

  • ad39fa81af Fix the sqlite3VdbeTypeofColumn() function so that it works correctly even when SQLITE_DEBUG is defined. drh 2025-05-06 16:28:44 +00:00
  • 3b51a1ac01 Fix console-I/O on Windows for DEBUG=3 builds. Broken by [925e97e6f4238f02]. drh 2025-05-06 15:39:39 +00:00
  • fc3e726389 Account for Tcl 8.x's lack of Tcl_BounceRefCount(). stephan 2025-05-05 23:44:41 +00:00
  • b64b143b61 Part 2 of 2(?) of adding the -asdict flag to the db eval command of the Tcl interface. This needs a critical review from seasoned Tcl C API users before merging can be considered (noting that it's not planned for inclusion until 3.51). stephan 2025-05-05 22:56:07 +00:00
  • f44bf6c482 Part 1 of 2(3?) of adding the -asdict flag to the db eval command of the Tcl interface, as proposed in [forum:dce85c5ab9f0bc10|forum post dce85c5ab9f0bc10]. This is the lowest-level part but it does nothing because the higher-level part does not yet exist to activate it, a notable consequence of which is that it's untested. Rename pArray to pTgtName because the former name is now confusingly incorrect. stephan 2025-05-05 20:44:58 +00:00
  • d50c4a4b33 Flesh out the break-as-null test cases to better demonstrate how it compares to the default of returning an empty string. stephan 2025-05-05 17:13:15 +00:00
  • 66937b8fbd Allow Tcl-defined UDFs to 'break' to result in an SQL NULL, as per suggestion in [forum:585ebac2c48f1411|forum post 585ebac2c48f1411]. stephan 2025-05-05 16:49:16 +00:00
  • ba6a769e12 Merge trunk into cygwin-fixes branch. 'make test' failure count = 1 (delete_db-1.3.0) both before and after the merge, stephan 2025-05-05 15:12:23 +00:00
  • d7324103b1 Enhance sqlite3_rsync so that if the first attempt to invoke a copy of itself on the remote system using ssh fails, try again after augmenting the PATH. This enables sqlite3_rsync to work without the --exe option when the remote system is a Mac. drh 2025-05-03 15:17:21 +00:00
  • 37b76bac18 Fix a harmless redundant variable declaration in sqlite3_rsync. drh 2025-05-03 10:55:47 +00:00
  • e618674714 Addition summary results output when using -vvv on sqlite3_rsync. drh 2025-05-03 10:49:39 +00:00
  • d7b83224bb Promote the --protocol option to sqlite3_rsync from being an undocumented debug option to being a supported and user-visible option. This is sometimes needed to work around bugs in prior versions running on the remote. drh 2025-05-03 10:35:32 +00:00
  • f4d435dc0d Enhance sqlite3_rsync (in a backwards-compatible way) so that it has the ability to send hashes for blocks of pages in addition to individual pages. By judicious use of this capability, network bandwidth requirement to sync two similar databases is reduced. drh 2025-05-03 08:17:46 +00:00
  • e2826db73a Improvements to protocol negotiation. faster-rsync drh 2025-05-03 07:00:51 +00:00
  • 5f4d013732 Clean up command-line parsing. Add the undocumented -protocol option for debugging. drh 2025-05-02 23:50:30 +00:00
  • bef9565485 Now appears to be working. More testing needed. Refinement of the version-2 algorithm needed. drh 2025-05-02 22:25:40 +00:00
  • f124ddf36a Bug fixes. Added new debugging features to better visualize the protocol. drh 2025-05-02 18:32:46 +00:00
  • fbafaa5619 This is the start of an experiment in getting sqlite3_rsync to use less bandwidth when the two databases are very similar, by sending hashes over blocks of pages initially, rather than over individual pages, then requesting more detail when hashes do not match. drh 2025-05-02 17:39:21 +00:00
  • 5db695197b Do not allow sqlite3_rsync to convert the replica from WAL-mode into DELETE-mode, as that can disrupt existing clients on the replica side. DELETE-mode to WAL-mode conversions are allowed, however. See [forum:/forumpost/6b575b66156673ee|forum thread 6b575b66156]. drh 2025-05-02 11:18:09 +00:00
  • 2bd983a974 Enhance sqlite3_rsync so that, by default, it will sync non-WAL-mode database files. Add a new command-line option --wal-only that restricts the sync to WAL-mode databases only (the former default). Improve command-line option parsing so that only a single "-" is required before each option. drh 2025-05-01 18:07:27 +00:00
  • 391f70c527 Allow sqlite3_rsync to work on non-WAL-mode databases, as long as the --wal-only flag is not used. rsync-non-wal-mode drh 2025-05-01 16:07:52 +00:00
  • c493177e10 Allow sqlite3_rsync to work on non-WAL-mode databases, as long as the --wal-only flag is not used. rsync-delete-mode drh 2025-05-01 16:02:02 +00:00
  • f23a61258b Fix a harmless problem in the CLI in which SQL errors that occur during the ".schema" command are properly ignored, yes still appear in the ".log" output. [forum:/forumpost/42fe6520b803be51|Forum post 42fe6520b8] drh 2025-04-30 14:37:00 +00:00
  • 88ed1806a4 Fix an issue in Bloom filters on RHS subsqueries to IN operators. See [forum:/forumpost/792a09cb3df9e69f|forum post 792a09cb3d] for a description of the problem. Also improve comments related to [baa83b460c677c21] which was origin of the problem. drh 2025-04-30 12:48:20 +00:00
  • a20c09c477 Upstream teaish for a tcl portability fix on Haiku and a much nicer impl of proj-tclConfig-sh-to-autosetup. stephan 2025-04-29 17:30:51 +00:00
  • 5a9a2d8526 Remove the run-fuzzcheck makefile targets, since testrunner now accomplishes that for us, and does a better job of it. drh 2025-04-29 16:30:58 +00:00
  • 2ba946b341 Add the "--fuzzdb FILENAME" to testrunner.tcl as an alternative to setting the FUZZDB environment variable (as that can be awkward to do on Windows). Further improvements to the testrunner.tcl documentation. drh 2025-04-29 14:23:21 +00:00
  • 873fc5dff2 Update testrunner.tcl documentation. Fix typo in testrunner.tcl output. drh 2025-04-29 11:35:51 +00:00
  • c171d7624e Improved --explain display of FUZZDB test plans in testrunner.tcl. drh 2025-04-29 10:41:16 +00:00
  • ece7709f18 Do not run FUZZDB on either Windows-Memdebug or Windows-Win32Heap. drh 2025-04-29 10:29:35 +00:00
  • 8a68ab963e Make testrunner.tcl more restrictive about which configurations run fuzzcheck-asan and fuzzcheck-ubsan. drh 2025-04-29 01:37:31 +00:00
  • 246dc92354 Testrunner.tcl now runs fuzzcheck-asan and fuzzcheck-ubsan tests. drh 2025-04-28 19:15:46 +00:00
  • d4cc3a42e2 If the FUZZDB environment variable is set when running testrunner.tcl and that env-var points to a fuzzcheck database, then suppliment the fuzzcheck tests with that extra database. drh 2025-04-28 17:56:23 +00:00
  • 1365bcffbf Enhance testrunner.tcl so that it does not build testfixture unnecessarily - if the pattern does not match any TCL test. drh 2025-04-28 16:28:00 +00:00
  • 7fec7c96c4 Fix testrunner.tcl so that it honors pattern matches in non-testfixture tests, such as fuzzcheck and sessionfuzz. drh 2025-04-28 16:17:17 +00:00
  • 738443c523 Remove a stray blank line from the test/testrunner.tcl script. drh 2025-04-28 15:00:28 +00:00
  • 9112717180 Remove long-obsolete performance testing scripts from the tools/ folder. The test/speedtest.tcl script is what should be used these days. This is just cruft clean-up. drh 2025-04-28 13:32:46 +00:00
  • 886f674198 tea: pull in upstream teaish. Consolidate the build definition from the upstream build and this one to ease maintenace. Improve compatibility with historical TEA usage of --with-tcl=... (it insists on a /lib suffix for that path). stephan 2025-04-28 09:25:19 +00:00
  • c26cde3bfd proj.tcl: correct the auto-reconfigure rules to include any X=Y passed to configure. Improve handling of quoted CFLAGS. stephan 2025-04-27 06:01:26 +00:00
  • c49c7dad89 autoconf/tea: the default value of --threadsafe=X is now based on a pkgconfig query using the target tclsh, which is much more reliable than grepping Tcl's linker flags. Doc touchups. stephan 2025-04-27 04:21:27 +00:00
  • 0f0450eda3 Fix an off-by-one error in an assert(), discovered by oss-fuzz. This is a harmless error in as much as assert()s are disabled in production builds, and because the off-by-one only occurs on nonsensical CREATE INDEX statements. drh 2025-04-25 12:39:32 +00:00
  • ef90c4209c Teaish internal API tweaks and ensure that -encoding utf-8 is used when source'ing test scripts. stephan 2025-04-25 11:27:13 +00:00
  • d3b39b18d0 Upstream teaish fixes and improvements. stephan 2025-04-23 14:54:13 +00:00
  • 37f22ff75e Fix a problem in the fts5matchinfo.test file that prevented it from working on Mac. drh 2025-04-22 18:45:40 +00:00
  • 024818be2b Latest upstream jimtcl to fix rare segfault cases. stephan 2025-04-22 09:29:53 +00:00
  • 204d787644 Generic cleanups and fixes in the teaish build. stephan 2025-04-22 01:01:19 +00:00
  • d2fd099570 Remove an extra conditional that was inserted earlier today and which is unreachable. drh 2025-04-21 23:44:55 +00:00
  • 81cde80f7b Further improvements to the decision of whether or not a BLOB input is JSONB. drh 2025-04-21 20:58:49 +00:00
  • cbe4a26e02 Do a better job of providing bug compatibility with SQLite 3.44.0. See [forum:/forumpost/07e206fcd6|forum thread 07e206fcd6] for background. drh 2025-04-21 19:53:12 +00:00
  • 9133179e12 Merge all the latest trunk enhancements into the reuse-schema branch. drh 2025-04-21 13:08:19 +00:00
  • f34c9b0fb2 Merge all the latest trunk enhancements into the bedrock branch. drh 2025-04-21 13:02:25 +00:00
  • 3c430b72ca Merge the latest trunk enhancements into the wal2 branch. drh 2025-04-21 12:56:24 +00:00
  • 06263e5a15 Merge all recent trunk enhancements into the begin-concurrent branch. drh 2025-04-21 12:41:38 +00:00
  • c4e7cf68ce Update to comments in sqlite3session.h. dan 2025-04-19 20:08:04 +00:00
  • f857482ed1 Add an appropriate _declspec to the declaration of the sqlite3_dbdata_init() function in the recovery extension. drh 2025-04-18 14:47:56 +00:00
  • 31e08190ab Upstream teaish, which simplifies how extension metadata are initialized and shrinks proj.tcl by 4k. stephan 2025-04-17 19:41:37 +00:00
  • 10744c61ad When logging errors using sqlite3_log() and the error text includes the text of an SQL statement, but the SQL statement text at the end so that if the error message buffer overflows it is the SQL statement text that gets truncated, not the statement of the problem. drh 2025-04-17 19:01:54 +00:00
  • 56747d1840 Increase the size of the output buffer for sqlite3_log(). drh 2025-04-17 17:46:28 +00:00
  • 680a9584c6 Add docs explaining how to test the teaish build. stephan 2025-04-16 22:25:02 +00:00
  • c264a0fd95 Latest upstream teaish. Most notably it adds the ability for the extension to specify a minimum Tcl version, and this build now enforces a minimum Tcl of 8.6. stephan 2025-04-16 21:53:01 +00:00
  • 259532c0ad Update doc/tcl-extension-testing.md for Unix systems, consolidating the Tcl 8.x and 9.x sections. stephan 2025-04-16 17:47:16 +00:00
  • 6fe2a9a8f1 Attempt to provide EBCDIC translations to the tables in the JSON implementation. The SQLite developers do not have access to any computers using EBCDIC and so have no way to test this patch, and cannot vouch for its accuracy. drh 2025-04-16 17:36:26 +00:00
  • cd83a85e05 Change the target libdir name in the teaish build to match historical tea builds. stephan 2025-04-16 15:40:40 +00:00
  • b70d450426 A portability fix for proj.tcl: some Tcl builds do not like (array set x $someArray). Also better --mandir handling on Haiku (where the former problem was found).7 stephan 2025-04-16 14:21:48 +00:00
  • b1cc4aeb61 Latest upstream teaish for fixes and improvements. stephan 2025-04-16 12:48:27 +00:00
  • 42182f1c1c Correctly handle the case of a multi-column UNIQUE constraint that contains the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. drh 2025-04-16 10:53:20 +00:00
  • 0243ca8245 Correctly handle the case of a multi-column UNIQUE constraint that contains the ROWID as one of it columns, and then the columns of that UNIQUE are used in a row-value IN operator as a WHERE clause constraint. Reported by [forum:/forumpost/b9647a113b465950|forum post b9647a113b]. Problem introduced by [723f1be3d4a905a6], part of ticket [da78413751863]. drh 2025-04-15 21:59:38 +00:00
  • 8488789d74 Fix a minor typo in a code comment. drh 2025-04-15 19:53:36 +00:00
  • 850289bf1e Cleanups and refactoring in proj.tcl and teaish. stephan 2025-04-15 15:20:30 +00:00
  • 136afcfcc1 Avoid a potential integer overflow in non-default builds of the fts3 matchinfo() function. dan 2025-04-15 11:06:37 +00:00
  • 56da8772bd Further cleanups and code consolidation between teaish.tcl and sqlite-config.tcl parts. stephan 2025-04-15 02:02:36 +00:00
  • dc2d79f80f Slight simplifications in the teaish build. stephan 2025-04-15 00:47:31 +00:00
  • 5950eb8aa7 Update teaish to the latest upstream copy. Move some of its utility code into proj.tcl for reuse in the top-level configure bits. stephan 2025-04-14 23:52:11 +00:00
  • 483e1181c5 Improved estimate on the number of output rows in a recursive common table expression that uses the UNION operator. Follow-up to [f911f1c4977fbcae] and it's output row estimate changes associated with DISTINCT queries. drh 2025-04-14 19:43:30 +00:00
  • c801f8954e JNI: part 3 (of 3) of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3]. Tested with jdk v8 and v21. stephan 2025-04-14 13:31:18 +00:00
  • d01239f379 JNI: part 2 of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3]. stephan 2025-04-14 12:09:24 +00:00
  • 6cabff0c22 JNI: part 1 of typos and Java style tweaks suggested in [forum:99ac7961d82f57f3|forum post 99ac7961d82f57f3]. stephan 2025-04-14 11:31:10 +00:00
  • 6964b2f737 Doc/help text tweaks in autoconf/tea. stephan 2025-04-14 10:20:41 +00:00
  • a572bbfc7c Minor cleanups and fixes in the autoconf/tea pieces. stephan 2025-04-14 10:18:40 +00:00
  • a5198b2e13 Latest upstream teaish, which restructures the teaish files a bit. stephan 2025-04-13 16:22:58 +00:00
  • 6b4dcad514 tea build: use autosetup's file-normalize instead of Tcl's (file normalize) because the latter throws on cygwin for names like '.' and './'. Update a doc URL. stephan 2025-04-12 21:47:18 +00:00
  • 337f703c54 Port autoconf/tea from the autotools to autosetup. stephan 2025-04-12 21:24:10 +00:00
  • 837dc09bce Move the post-configure dot-in-file validation from sqlite-config.tcl to proj.tcl for reuse in the tea port and other downstream trees. stephan 2025-04-12 19:26:18 +00:00
  • 6b0429676e Doc typo fix. teaish stephan 2025-04-12 18:37:53 +00:00
  • 807186f1d3 Eliminate a duplicate -lz flag in the teaish build. stephan 2025-04-12 10:33:12 +00:00
  • a69b2b2973 Add missing teaish.test.tcl. stephan 2025-04-12 03:20:42 +00:00
  • 22a85a418e Add missing exports of various LDFLAGS and CFLAGS for the teaish build. stephan 2025-04-12 03:08:13 +00:00
  • 71b7e44869 Correct out-of-tree build for autoconf/tea. stephan 2025-04-12 02:44:02 +00:00
  • 19b0701087 Initial port of the TEA build (autoconf/tea) from autotools to autosetup. stephan 2025-04-12 02:30:04 +00:00
  • 0aa95099f5 Fix a memory leak in sqlite3session_diff(). dan 2025-04-10 20:52:47 +00:00
  • a863bafba7 Improved detection of run-time errors (ex: OOM errors) in speedtest1. drh 2025-04-10 19:54:56 +00:00
  • f95e964b6b Provide new command-line options --hard-heap-limit and --soft-heap-limit for speedtest1. drh 2025-04-10 19:39:34 +00:00
  • e4856e86cd Be sure that speedtest1 reports any errors that it encounters while running the speed tests. drh 2025-04-10 19:03:42 +00:00
  • 7b1afecf53 Fix a comment in sessionD.test. dan 2025-04-10 17:25:57 +00:00
  • da00cc101c Improve the error messages returned by sqlite3session_diff(). dan 2025-04-10 16:48:04 +00:00
  • 08122e96fe Fix an obscure problem allowing the propagate-constants optimization to improperly substitute a column of a sub-query with NONE affinity. [forum:/forumpost/0109bca824|Forum post 2025-04-08T14:18:45Z]. dan 2025-04-10 15:01:58 +00:00
  • 2d1c71abeb Fix an obscure problem allowing the propagate-constants optimization to improperly substitute a column of a sub-query with NONE affinity. forum-0109bca824 dan 2025-04-10 14:53:32 +00:00
  • 8a6f89c845 Remove unnecessary "www." prefixes on domain names in URLs. drh 2025-04-10 10:18:07 +00:00
  • 509d899a2d Doc updates in proj.tcl. Improve configure check for whether fdatasync or nanosleep require -lrt. Remove references to 'tcl-config' build mode from sqlite-config.tcl, as that build is now implemented without a depency on sqlite-config.tcl because the TEA build's needs are considerably more modest. stephan 2025-04-09 13:32:15 +00:00
  • fda6e50ac8 Remove an incorrect ALWAYS() macro. [forum:/forumpost/23875495059357a2|Forum post 2025-04-08T19:16:42Z]. drh 2025-04-08 20:00:33 +00:00