Commit Graph

  • 20d93e16d7 Enhancements to the fp-speed-N.c programs, suggested by Andreas Kupries. drh 2026-03-28 14:17:53 +00:00
  • c409eaaf14 Reduce the compiled size of the quote() SQL function. drh 2026-03-28 13:59:34 +00:00
  • 2e01416762 Turn an sqlite3VMPrintf() into an sqlite3DbStrDup(). drh 2026-03-28 13:30:47 +00:00
  • ff8a0895d6 Fix up the floating-point speed tests so that they only need to be run once to get a performance comparision. Provide the fp-speed-test makefile target to build and run them both. drh 2026-03-27 20:18:06 +00:00
  • a2f78f665c Add a comment to test/fptest01.sql to remind us that failures in that script might not be the fault of SQLite. drh 2026-03-27 19:25:25 +00:00
  • c4cedd7ffe New test cases for text→float conversions. drh 2026-03-27 18:58:50 +00:00
  • 00c6eca32c Enable the use of intrinsic high-precision multiplies on Windows ARM. Make the SQLITE_DISABLE_INTRINSIC option effective on high-precision multiple subroutines, for testing purposes. drh 2026-03-27 16:09:10 +00:00
  • be2242d2ee Change the print resolution the fp-speed-1.c test to 17 digits. drh 2026-03-27 14:54:01 +00:00
  • 2dd3b4a646 Update fp-speed-1.c and fp-speed-2.c to include its own timers, so that it works on platforms that lack the "time" command. drh 2026-03-27 14:19:01 +00:00
  • 4570aeb7bc Add the fp-speed-2.c performance test program. drh 2026-03-27 14:03:41 +00:00
  • 59b13ce421 Merge the latest trunk enhancments into the reuse-schema branch. drh 2026-03-27 13:13:32 +00:00
  • 8f4a4f6410 Merge the latest trunk enhancements into bedrock via wal2 drh 2026-03-27 12:58:49 +00:00
  • bc534cef73 Merge the latest trunk enhancements into the wal2 branch drh 2026-03-27 12:38:30 +00:00
  • 25a7567583 Merge the latest trunk enhancements into the begin-concurrent branch drh 2026-03-27 12:05:13 +00:00
  • 1283969f26 Add a comment showing reserved file-control numbers to sqlite3.h drh 2026-03-27 11:46:11 +00:00
  • 772ea2f01c Add SQLITE_STRICT_SUBTYPE to PRAGMA compile_options, an omission reported in [forum:3906a71526|forum post 3906a71526]. stephan 2026-03-26 19:11:57 +00:00
  • d4af925e34 Enhance the return value from sqlite3AtoF() so that it reports if the input includes more than 19.25 significant digits. drh 2026-03-26 18:19:47 +00:00
  • 61d3bc8ddc Revamp the return code from sqlite3AtoF() for additional information and for small speed improvement and size reduction. drh 2026-03-26 16:33:03 +00:00
  • f9a3b78561 Improvements to the sqlite3AtoF() interface. Add a test-control for direct testing of sqlite3AtoF(). drh 2026-03-26 14:19:34 +00:00
  • f855727e45 Back out the sqlite3_atof() API, for now. drh 2026-03-26 12:09:37 +00:00
  • 3d58f022a8 Fix an off-by-one error that cause a loop to (harmlessly) run more times than necessary. Performance optimization, not a bug fix. drh 2026-03-25 21:23:23 +00:00
  • 7e9eaf3c1f Performance optimization when zero-padding in printf(). drh 2026-03-25 21:05:18 +00:00
  • 0944b3efad Small size reduction and performance increase in sqlite3Atoi64(). drh 2026-03-25 19:36:16 +00:00
  • f3f194c385 Signification optimizations to layout of text for floating point conversions in sqlite3_str_vappendf(). drh 2026-03-25 17:59:22 +00:00
  • d446d1cf18 Extra argument to sqlite3_atof() is returned if the input string is not perfectly well-formed. 2-argument-atof drh 2026-03-25 16:13:10 +00:00
  • 183a73c352 Handle the case where the compile-time default page-size is greater than 8192 bytes. dan 2026-03-25 11:19:38 +00:00
  • 53197b7940 Prevent overly long JSON paths from using too much stack space. drh 2026-03-24 19:26:05 +00:00
  • f1f1784f4b Limit JSONB recursion depth in the json_patch() function. drh 2026-03-24 12:39:05 +00:00
  • 814f592cf0 Improved error messages for JSONB nested too deep. drh 2026-03-24 11:54:55 +00:00
  • 9b805c6248 Remove a stale reference to the long-removed SQLITE_MUTEX_APPDEF, as pointed out in [forum:348453389b|forum post 348453389b]. stephan 2026-03-24 11:33:22 +00:00
  • 3c2ccd2903 Minor simplification to JSON path error reporting. drh 2026-03-24 11:25:44 +00:00
  • 7bf4d708dc Recognize artifical JSONB blobs with deep recursion as being ill-formed. drh 2026-03-24 00:31:28 +00:00
  • 5239e821e8 Move datatype and structure definitions up near the top in the CLI source code, to facilitate future changes. No changes to the actual logic (yet). drh 2026-03-23 21:03:34 +00:00
  • a217a4af09 Require a button click to start the OPFS concurrency tester, rather than simply launching all N workers immediately on page load. stephan 2026-03-23 13:17:13 +00:00
  • 3e3c31ff0e Use sqlite3_atof() instead of atof() in the CLI. Dogfooding. drh 2026-03-23 13:00:56 +00:00
  • dc32016ee0 Move the definition of the new sqlite3_atof() function in sqlite3.h so that it is adjacent to sqlite3_mprintf(). drh 2026-03-23 12:25:52 +00:00
  • 5700f8c471 Add the sqlite3_atof() interface. drh 2026-03-23 10:58:29 +00:00
  • 80b88b2482 Proposed new API routine: sqlite3_atof(). atof drh 2026-03-22 20:52:23 +00:00
  • 8e7f122c7d Performance enhancements and improved documentation for sqlite3AtoF(). drh 2026-03-22 18:26:43 +00:00
  • dfd31e158c Additional performance improvements in sqlite3AtoF(). Also update the header comments. optimize-atof drh 2026-03-22 17:50:48 +00:00
  • cc19c1dafd Further simplification and performance improvement drh 2026-03-22 02:51:18 +00:00
  • 99571bf3c3 Performance improvements in the floating-point number parser. drh 2026-03-22 02:26:38 +00:00
  • 3c1f727603 Because version 3.52.0 was withdrawn, that means QRF has never been officially released. Hence the new nMultiInsert field of the spec can be moved out of the extensions area and into the main part of the spec, and the version number can drop back from 2 to 1. drh 2026-03-21 19:49:38 +00:00
  • fd8171dfed Merge all the latest trunk enhancements into the reuse-schema branch drh 2026-03-21 18:42:16 +00:00
  • d1e8f247c7 Merge the latest trunk enhancements into the bedrock branch via wal2. drh 2026-03-21 18:05:57 +00:00
  • 38b95d70b9 Merge the latest trunk enhancements into the wal2 branch drh 2026-03-21 17:56:26 +00:00
  • e17ca27afe Merge all the latest trunk enhancements into the begin-concurrent branch drh 2026-03-21 17:47:43 +00:00
  • d9e70f2b90 Try to fix harmless compiler warnings from legacy C compilers in the CLI. drh 2026-03-21 13:21:41 +00:00
  • 4c78799bb0 Add support for REINDEX EXPRESSIONS drh 2026-03-21 13:05:54 +00:00
  • 958b6a52e5 Undo "indices"→"indexes" changes in comments, to avoid diff clutter. Fix a couple of unreachable branches. reindex-expressions drh 2026-03-21 12:55:57 +00:00
  • f62cff6a9e Fix harmless compiler warnings in the csv.c. drh 2026-03-20 20:35:21 +00:00
  • f163bfba4e If the argument to REINDEX is EXPRESSIONS (with no schema prefix) then it updates both expression indexes, and any indexes named "expressions" or all indexes of any tables name "expressions". drh 2026-03-20 19:30:58 +00:00
  • b0a4b69b95 If there are not collating sequences, tables, or indexes named "EXPRESSIONS" then the "REINDEX EXPRESSIONS" command rebuilds all expression indexes. drh 2026-03-20 14:37:39 +00:00
  • bd580270a5 Ensure that collation sequences on non-PK columns of a WITHOUT ROWID table are used correctly when they are part of a row value comparison. Fix for forum post [forum:7a308e933d | 7a308e933d]. dan 2026-03-20 11:35:15 +00:00
  • de4ef2dc70 Ensure that sqlite3RCStr values returned by json_group_array() and json_group_object() are zero-terminated. drh 2026-03-19 23:49:29 +00:00
  • 0cb7603d4c Update fts5 scan costs to take into account that a prefix query combined with a rowid equality constraint is still quite expensive. dan 2026-03-19 17:56:10 +00:00
  • 28cfb1e4a7 Restructure some internal subroutine signatures for improved performance of affinity type conversions. drh 2026-03-19 17:08:08 +00:00
  • 915a55444b Use compiler intrinsics to improve the performance of sqlite3Multiply160(). drh 2026-03-19 13:40:40 +00:00
  • 58012b85b0 Do not assume that a recursive CTE emits rows in ORDER BY order. Fix for forum post [forum:deb1eadf4d677bd5 | deb1eadf4d677bd5]. dan 2026-03-19 10:51:40 +00:00
  • a2d80200b1 Reverse the if() condition added by this branch. forum-deb1eadf4d dan 2026-03-19 10:39:24 +00:00
  • 08eb5e9e51 Continue enforcing the legacy declaration-before-statement C-language rule, since some downstream still uses it. drh 2026-03-18 22:31:56 +00:00
  • b425ebdd4f Add logic to silently and transparently deal with stale expression index values when deleting or update a table row, instead of reporting a corrupt database. Enhance PRAGMA integrity_check to identify non-serious stale expression index entries as such, rather than proclaiming that the indexes is broken. drh 2026-03-18 20:17:48 +00:00
  • ac53ce155a Minor optimization to error message generation in integrity_check. idxdelete-tolerance drh 2026-03-18 18:14:14 +00:00
  • 5a6772eaa5 Comment improvements. Ensure that tests in shellB.test that require virtual tables do not run when compiling without virtual table support. drh 2026-03-18 17:16:18 +00:00
  • acc213b42f Improve the integrity-check error message when floating point index values are off by one or two ULPs. Change the name of the eiib1.test test module to expridx1.test. drh 2026-03-18 15:51:15 +00:00
  • 345bc91673 Do not assume that a recursive CTE emits rows in ORDER BY order. Forum [forum:deb1eadf4d677bd5 | deb1eadf4d677bd5]. dan 2026-03-18 15:40:26 +00:00
  • 1539575e05 Take care not to overread the record header when decoding the record in vdbeIsMatchingIndexKey(). drh 2026-03-18 14:47:20 +00:00
  • f0648f6924 Pad the allocation in vdbeIsMatchingKey() a little to avoid undefined behaviour if the record is corrupt and getVarint32() reads past the end of it. dan 2026-03-18 14:01:21 +00:00
  • 15a3b2d4e1 Adjust the fix at [f7389cdb129d3386] so that integrity_check output still appears prior to the SQLITE_CORRUPT return. drh 2026-03-18 13:49:06 +00:00
  • 765ff2189a Simplification to the logic that decides whether or not an index field matches when floating point values are close but not exact. drh 2026-03-18 12:36:01 +00:00
  • 3ca448dee5 Fix harmless signed/unsigned compiler warnings. drh 2026-03-18 11:15:57 +00:00
  • 3f2d7d4aaa Fix some cases where integrity-check would fail to identify real values in indexed expressions that are with 2 ULPs of each other. dan 2026-03-18 11:06:10 +00:00
  • 00989bcd9f Fix harmless "unused variable" compiler warning. drh 2026-03-18 11:04:15 +00:00
  • 362b9cecdb Modify integrity-check so that it is only tolerant of very small distortions of real values in indexed expression fields. dan 2026-03-17 21:17:42 +00:00
  • f4e6483cda Improved error handling in OP_IFindKey and in vdbeIsMatchingIndexKey(). drh 2026-03-17 18:55:24 +00:00
  • ae2820ab28 When integrity-check finds a missing index entry, search a small range (currently 10) of entries around the missing key for an entry that matches all non-virtual and non-expression fields. dan 2026-03-17 17:05:45 +00:00
  • bdbad43f33 Do not run index healing on an invalid cursor. drh 2026-03-17 13:13:02 +00:00
  • d6965b1dab Merge recent trunk enhancements into the idxdelete-tolerance branch drh 2026-03-17 12:16:47 +00:00
  • ccf2babd42 Fix an assertion fault that could occur in RTree when given a corrupt database. drh 2026-03-17 12:07:49 +00:00
  • 2953e950c8 Fix display of P4_INDEX values in EXPLAIN output. dan 2026-03-17 11:26:57 +00:00
  • 8736da94bc Fix compiler warning an inefficiency introduced by previous commit. dan 2026-03-17 11:22:51 +00:00
  • b302c4d39c Typo fix in sqlite3Multiply128(): The datatype should be *unsigned*. drh 2026-03-17 11:19:16 +00:00
  • 022f2f96bc Change the sqlite3VdbeFindDeleteKey() routine so that all index fields that are not expressions or virtual columns must match the table for the delete to succeed. dan 2026-03-17 11:17:54 +00:00
  • 5a73386511 Fix a harmless compiler warning. drh 2026-03-17 10:19:11 +00:00
  • 1c1f7c259e Merge trunk enhancements into the idxdelete-tolerance branch drh 2026-03-17 09:53:02 +00:00
  • cf93c51790 Enhance text→float conversions for exact rounding in all cases. drh 2026-03-17 09:49:07 +00:00
  • b50ce08591 Include the float-point table generator utility in the tools directory. fp-accuracy drh 2026-03-17 09:45:47 +00:00
  • e9018e5ff5 Reorder bounds checking in sqlite3Fp10Convert2() drh 2026-03-17 09:18:36 +00:00
  • 4cc023bd01 Remove a couple of unused variables. dan 2026-03-16 19:14:07 +00:00
  • 129d6ee2f4 Update walrestart.test so that it does not depend on the exact number of frames in the wal file. The version on trunk is already updated. branch-3.51 dan 2026-03-16 17:13:40 +00:00
  • f6308e68ff Further tests for the code on this branch. dan 2026-03-16 16:44:14 +00:00
  • 066a5bcdd7 If OP_IdxDelete cannot find an index entry to delete, first search 10 entries in either direction of where the entry should be in the index. If that fails, search the entire index for an entry with matching PK fields. dan 2026-03-16 16:21:43 +00:00
  • b2006499c7 Fix a problem with the find-delete-key method on this branch. dan 2026-03-16 15:49:58 +00:00
  • bf057073c3 Rework the ".indexes" command of the CLI. (1) The PATTERN now matches the name of the index itself, not the name of the table containing the index, thus making the pattern actually useful. (2) System-generated indexes (for UNIQUE constraints and similar) are omitted unless the -a|-all or --sys options are added. (3) The --expr option causes only expression indexes to be shown. drh 2026-03-16 15:35:41 +00:00
  • d21413adcb Make OP_IdxDelete tolerant of small variations in index key values. dan 2026-03-16 15:16:13 +00:00
  • 061459bf76 Properly fix temp triggers created as part of FK processing to their schemas. Otherwise they may become confused by similarly named child tables in other attached databases. Fix for forum post [forum:636bd0180a | 636bd0180a]. dan 2026-03-16 11:14:26 +00:00
  • a6640846dd Improve accuracy of text→floating-point conversions by moving from 64-bit to 96-bit approximations to powers of ten. drh 2026-03-16 09:40:12 +00:00
  • 689d60903a Add a missing sqlite3_test_control_fault_install to walrestart.test, as pointed out in [forum:c3f17017b45f661c|forum post c3f17017b45f661c]. stephan 2026-03-14 16:40:44 +00:00
  • f8fdb3b637 Add a missing return for the invalid arguments error case in sqlite3_test_control_fault_install. No current scripts trigger this error. stephan 2026-03-14 16:35:32 +00:00
  • 7539d2f1ba Add a missing return for the invalid arguments error case in sqlite3_test_control_fault_install. No current scripts trigger this error. stephan 2026-03-14 16:30:13 +00:00