Roll src/third_party/sqlite/src/ 9e45bccab..8368e7f47 (411 commits)

https://chromium.googlesource.com/chromium/deps/sqlite.git/+log/9e45bccab2b8..8368e7f47150

$ git log 9e45bccab..8368e7f47 --date=short --no-merges --format='%ad %ae %s'
2024-08-08 memmott Do not let the number of terms on a VALUES clause be limited by SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that appear to be variables due to the use of double-quoted string literals.
2024-07-23 memmott Amalgamations for release 3.46.0
2024-05-23  Version 3.46.0
2024-05-21 Dan Kennedy Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption.
2024-05-21 Dan Kennedy Do not attempt to run mmapcorrupt.test with builds that do not support mmap().
2024-05-21  Fix harmless compiler warnings.
2024-05-21  Fix the -> and ->> operators so that when the RHS is a string that looks like a number, it is still treated as a string, because that is what PG does. [forum:/forumpost/9e52cdfe15c3926e|Forum post 9e52cdfe15c3926e].
2024-05-20  Omit a capi3 test from 2007 that depends upon undefined behavior (UAF).
2024-05-20 Dan Kennedy Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation.
2024-05-20  Improvements to the sqlite3_vtab_distinct() documentation.
2024-05-18  Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy".  Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed.
2024-05-18 stephan JS error message and doc typos reported in the forum. No code changes.
2024-05-17  Improvements to a VDBE comment.  No changes to anything that affects queries.
2024-05-16 Dan Kennedy Add extra tests for the error messages generated by sqlite3_declare_vtab() when passed something other than a well-formed CREATE TABLE statement.
2024-05-16  The sqlite3_declare_vtab() interface should return SQLITE_ERROR, not SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. [forum:/forumpost/4b875d7b2a|Forum post 4b875d7b2a].
2024-05-15  Back out the assert() fixes from [a9443dbfbe25e588] and [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch.
2024-05-15 Dan Kennedy Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command.
2024-05-15 Dan Kennedy If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value.
2024-05-11 Dan Kennedy Add tests to bestindexC.test. No changes to code.
2024-05-10 Dan Kennedy Add a test for the fixes on this branch.
2024-05-10  The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as an OOM, since it simulates an OOM.  Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs.
2024-05-10  Improvements to the ".testctrl fault_install" command in the CLI.
2024-05-10  Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine.
2024-05-10 stephan Squelch two OMIT-flag-related warnings reported in [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes.
2024-05-09 stephan Add a maintenance-reminder comment explaining [dc58ed65492857].
2024-05-09 stephan Reformulate a for-in loop to a for loop in wasm.xWrap() to work around a downstream framework-level misbehavior, as reported in [forum:b549992634b55104|forum post b549992634b55104].
2024-05-08 stephan Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum post 2ba65af31]. No functional changes.
2024-05-08  Fix a hyperlink typo in session documentation.
2024-05-07 Dan Kennedy Fix bug in test script sessionconflict.test.
2024-05-07 Dan Kennedy Ensure successive scans of pragma virtual tables return consistent rowids.
2024-05-07 stephan Fix a compilation error in test/lemon-test01.y, reported in [forum:f0ad095705|forum post f0ad095705].
2024-05-06 Dan Kennedy When extracting links from sqlar archives, clobber any existing file or link, and do not call utimes() to set the timestamp - it looks through the link and operates on the target.
2024-05-06  Omit redundant unary + operators from the AST.
2024-05-06  Avoid unnecessary recursion in sqlite3ExprDeleteNN().  This complicates the code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN.
2024-05-06 Dan Kennedy Edit comments in sqlite3session.h.
2024-05-06 Dan Kennedy Add tests for sqlite3changegroup_add_change().
2024-05-06 Dan Kennedy Fix problem in sqlar_uncompress() when being used to extract symbolic links.
2024-05-05  Add comment to the test/lemon-test01.y file indicating that it does not work and is for historical reference only.
2024-05-04 Dan Kennedy Add new sessions API sqlite3changegroup_add_change().
2024-05-04 Dan Kennedy Add test cases to test/in7.test. No code changes.
2024-05-04  Assume that a function is able to return a subtype if either (1) it is itself marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype.  This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two.
2024-05-04  Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype.
2024-05-03  The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set.  This fixes an corner-case for the patch at [ba789a7804ab96d8].
2024-05-02 Dan Kennedy Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38].
2024-05-02 Dan Kennedy Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt.
2024-05-02 Dan Kennedy Fix a case where the recovery extension might write uninitialized data to the recovered database.
2024-05-02  Add a test case to the fix to PRAGMA integrity_check in the previous check-in.
2024-05-02  Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number.  Treat it as a table name that just happens to look like a number.
2024-05-02  Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f] because it is a no-op.  Even if the integrity_check failes, the CREATE TABLE is stull successful.  The OP_SqlExec just burns CPU cycles for no reason.
2024-05-01 Dan Kennedy Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row.
(...)
2024-01-26  Bug fixes in the function that expands the parser stack.
2024-01-26  Experimental changes that prevent parser stack overflows by growing the parser stack with heap memory when it reaches its limit.
2024-01-24  Add NEVER() to a branch that is no longer reachable.
2024-01-24 stephan Update ext/wasm/SQLTester for recent internal-API reorgs.
2024-01-23  Slight adjustment to test results for Windows in mmap1.test due to the previous check-in.
2024-01-23 Dan Kennedy In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes.
2024-01-23  Fix typo in the tag-20240123-a in a comment.
2024-01-23  If a BLOB looks like JSON when cast to text, then treat it as if it really were JSON.  This replicates a long-standing bug in the JSON processing routines, and thereby avoids breaking legacy.
2024-01-23 stephan Change the shell's --help flag to exit with code 0 instead of 1, per /forum and /chat discussions.
2024-01-23 Dan Kennedy Add extra checks for the validity of a numeric literal to sqlite3DequoteNumber().
2024-01-22  Simplification of the error reporting logic.
2024-01-22 Dan Kennedy Fix a problem in the previous commit with hex literals that start with "0X" instead of "0x".
2024-01-22 Dan Kennedy Allow underscores to occur in hex literals.
2024-01-22 Dan Kennedy Add extra tests for the code on this branch.
2024-01-22  Do not allow digit separators that are not surrounded on both sides by digits.
2024-01-22  Improved error message when a double-quoted string is used and it seems likely that the user wanted a single-quoted string literal.
2024-01-22  The -DSQLITE_JSON_BLOB_INPUT_BUG_COMPATIBLE compile-time option causes blob inputs to JSON functions that are not JSONB to be processed as if they where text, immulating historical bugging behavior which some applications have come to rely upon.  See [forum:/forumpost/012136abd5292b8d|forum thread 012136abd5292b8d] for discussion.
2024-01-22 Dan Kennedy Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds.
2024-01-22  Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE. ([forum:/forumpost/0bfc5888a384d430|Forum post 0bfc5888a384d430]). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used.
2024-01-22  Add a notice to the user-authentication documentation to say that the extension is deprecated and may disappear in the future.
2024-01-22 Dan Kennedy Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds.
2024-01-22 larrybr Make CLI .dump immune to pragma reverse_unordered_selects, as reported in [forum:/forumpost/c42be01880e961eb|Forum thread "Missing ORDER BY in .dump?"]
2024-01-21  Fix a harmless typo in a comment.
2024-01-20 Dan Kennedy Ensure that values generated by DEFAULT clauses that specify real numbers that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers.
2024-01-20  Simplifications to the strftime() logic.
2024-01-20  Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18].  No changes to SQLite itself.
2024-01-20 Dan Kennedy Add test cases for the new code on this branch.
2024-01-20  Make sure that %V and %G are testing for every since day in between 1970-01-01 and 2023-01-19.
2024-01-20  Rig sqlite3_serialize() so that it will initialize a previously uninitialized database prior to serializing it, so that it does not have a zero-byte size and does not return NULL (except for OOM). [forum:/forumpost/498777780e16880a|Forum thread 498777780e16880a].
2024-01-20 Dan Kennedy Allow "_" characters to appear following any digit in an integer or real SQL literal.
2024-01-20  When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer.  This is a deeper fix to the problem observed by [forum:/forumpost/3776b48e71|forum pose 3776b48e71].  The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7.
2024-01-20  Ensure that the replace() SQL function always returns a TEXT value even when its first argument is numeric and its second argument is an empty string. Fix for the issue reported by [forum:/forumpost/3776b48e71|forum post 3776b48e71].
2024-01-20  When backing out a character in a constructed string in JSON, first make sure the string has not been reset by on OOM. dbsqlfuzz 2fffbea91a5376526ea118d4fe4188c8dd35e317.
2024-01-20  Fix the version number in the TEA configure script.  This should have been changed by [1481baf3d55effcc] three check-ins ago. It is unclear how testing missed this.
2024-01-20  Implement a new algorithm for computing ISO week values in strftime() based on the idea (from [forum/forumpost/3681cb1bcd|Nuno Cruces]) of shifting the date being tested to the Thursday of the same week.
2024-01-19 Dan Kennedy Allow large hexadecimal literals to be used as DEFAULT values.
2024-01-18  Increase the version number to 3.46.0 to begin the next development cycle.
2024-01-18  Add support in the strftime() SQL function for conversion letters %G, %g, %U, and %V.
2024-01-16  Fix harmless "unused parameter" compiler warning in the new fts3IntegrityMethod implementation.
2024-01-16 Dan Kennedy Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases.
2024-01-16  Clutter the code with "fall-through" comments in order to suppress nuisance compiler warnings.  No logic changes.
2024-01-16  Remove the LLONG_MAX preprocessor macro from the series.c extension as it is apparently only C99 and later. [forum:/forumpost/4af649419b|Forum post 4af649419b].
2024-01-11 stephan wasm build: reformulate an awk invocation to account for awks which do not support the -e flag. Problem reported on the forum via a docker-hosted build.
2024-01-11 stephan Internal JS doc cleanups.
2024-01-11 stephan Remove some dead JS code. Minor doc cleanups.
2024-01-11 stephan Split the JS vfs/vtab helper code into discreet units as a step towards a build which optionally elides those pieces. This is an internal restructuring change and does not affect the API.
2024-01-08 stephan Make explicit which JS APIs are for internal use only by moving the JS-bound internal-use-only functions out of client-visible reach and renaming the WASM-exported ones from sqlite3_wasm... to sqlite3__wasm... (with two underscores). These have always been documented as internal-use-only, so this is not a breaking change except for clients which have ignored the docs.
2023-09-03 stephan In mksqlite3c.tcl, pass EXTRA_SRC files through verbatim instead of applying the post-processing needed for sqlite's own source files.
2023-09-02 mistachkin Also add support for EXTRA_SRC in the Makefile for MSVC.
2023-09-02 stephan Add EXTRA_SRC build var. If set, it is treated like a list of files, each of which gets appended verbatim to sqlite3.c. The intent is to enable easily extending the amalgamation. Requested in/around [forum:3fcc655f0ac0efe8|forum post 3fcc655f0ac0efe8].

Created with:
  roll-dep src/third_party/sqlite/src

Change-Id: Ifeb70a90580880c56e5a37f65f21858f4c071642
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5736235
Auto-Submit: Nathan Memmott <memmott@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1339239}
3 files changed
tree: 87561a342c5d55cac0eed9736ae604a22c041bca
  1. android_webview/
  2. apps/
  3. ash/
  4. base/
  5. build/
  6. build_overrides/
  7. buildtools/
  8. cc/
  9. chrome/
  10. chromecast/
  11. chromeos/
  12. codelabs/
  13. components/
  14. content/
  15. courgette/
  16. crypto/
  17. dbus/
  18. device/
  19. docs/
  20. extensions/
  21. fuchsia_web/
  22. gin/
  23. google_apis/
  24. google_update/
  25. gpu/
  26. headless/
  27. infra/
  28. ios/
  29. ipc/
  30. media/
  31. mojo/
  32. native_client_sdk/
  33. net/
  34. pdf/
  35. ppapi/
  36. printing/
  37. remoting/
  38. rlz/
  39. sandbox/
  40. services/
  41. skia/
  42. sql/
  43. storage/
  44. styleguide/
  45. testing/
  46. third_party/
  47. tools/
  48. ui/
  49. url/
  50. webkit/
  51. .clang-format
  52. .clang-tidy
  53. .clangd
  54. .eslintrc.js
  55. .git-blame-ignore-revs
  56. .gitallowed
  57. .gitattributes
  58. .gitignore
  59. .gitmodules
  60. .gn
  61. .mailmap
  62. .rustfmt.toml
  63. .vpython3
  64. .yapfignore
  65. ATL_OWNERS
  66. AUTHORS
  67. BUILD.gn
  68. CODE_OF_CONDUCT.md
  69. codereview.settings
  70. CPPLINT.cfg
  71. DEPS
  72. DIR_METADATA
  73. LICENSE
  74. LICENSE.chromium_os
  75. OWNERS
  76. PRESUBMIT.py
  77. PRESUBMIT_test.py
  78. PRESUBMIT_test_mocks.py
  79. README.md
  80. WATCHLISTS
README.md

Logo Chromium

Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.

The project's web site is https://www.chromium.org.

To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.

Documentation in the source is rooted in docs/README.md.

Learn how to Get Around the Chromium Source Code Directory Structure.

For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.

If you found a bug, please file it at https://crbug.com/new.