)]}'
{
  "log": [
    {
      "commit": "8aa6a2014f2bfe37d557b2d43908fff5bc267972",
      "tree": "62a34491103e4dd4820ed672ee7c3dd61c49f446",
      "parents": [
        "3720a9ad600157657ca0ebe849827b5be0fa3570"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Thu Mar 19 17:14:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 19 17:16:02 2026"
      },
      "message": "[SQLite] Use WriteAndCheck in sql_generate_corpus.cc\n\nThis replaces the now-private base::File::Write with\nbase::File::WriteAndCheck, which uses base::as_byte_span for safety.\n\nThis issue wasn\u0027t detected in crrev.com/c/7639363, because\nsql_generate_corpus.cc is not built on any of the default builders.\n\nFixed: 493893808\nChange-Id: I72102da1fcef64cee4aced18ab2a03d90635b990\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7684278\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1602076}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1c967b2074613df187c67ce7a53cf76aa8af1ba6\n"
    },
    {
      "commit": "3720a9ad600157657ca0ebe849827b5be0fa3570",
      "tree": "d620e22961748dbdba69915c6d43e2a65316a65a",
      "parents": [
        "c50d1c9708f9df0970cc77c9a80178db4d8ca570"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Wed Mar 18 15:14:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 18 15:17:30 2026"
      },
      "message": "Roll src/third_party/sqlite/src/ 727f7c899..508ab21dc (10 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/727f7c8991f7..508ab21dc257\n\n$ git log 727f7c899..508ab21dc --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2026-03-17 grt Amalgamations for release 3.51.3\n2026-03-13  Version 3.51.3\n2026-03-12  Fix a problems with RIGHT JOINs.\n2026-03-06  Avoid an obscure race condition between a checkpointer and a writer wrapping around to the start of the wal file.\n2026-01-15 Dan Kennedy Fix a buffer overrun that could occur when deleting rows in secure-delete mode from a strategically corrupted fts5 database.\n2026-01-15 Dan Kennedy Avoid unsigned integer overflow in the delta_apply() extension function. Not part of any standard deliverable. [forum:/forumpost/d41879b367c7f7ec|Forum thread d41879b367c7f7ec].\n2026-01-15 Dan Kennedy Prevent a malicious delta from causing an integer overflow in the fossildelta extension.  This code is not used in the SQLite core.\n2026-01-14  Guard against oversized index entries in databases larger than 2GiB.\n2026-01-13  Increase the version number to 3.51.3\n2026-01-13  Fix integer overflow problems and error reporting memory leaks in the zipfile extension.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 492934500\nChange-Id: I346d369a3cc575770bc8e12084a5df234db31ee5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7678330\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1601287}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 016a5e5704f7b931b2c920c21c9e6faa85a0d6ce\n"
    },
    {
      "commit": "c50d1c9708f9df0970cc77c9a80178db4d8ca570",
      "tree": "facd8e98d90d96ff2a91a11848a3bd9f23e1ae72",
      "parents": [
        "f677044bf52ce006434d774bea5fc9758dcdf93e"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Wed Feb 11 16:02:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 11 16:08:06 2026"
      },
      "message": "Roll src/third_party/sqlite/src/ 7d348fc79..727f7c899 (642 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/7d348fc79216..727f7c8991f7\n\n$ git log 7d348fc79..727f7c899 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2026-02-10 grt Amalgamations for release 3.51.2\n2026-01-09  Version 3.51.2\n2026-01-09 Dan Kennedy To ensure that the sqlite3_hard_heap_limit() call it makes is effective, add \"sqlite3_config(SQLITE_CONFIG_MEMSTATUS, 1);\" to fuzzcheck.c.\n2026-01-09  Avoid signed integer overflow when an fts5 \u0027merge\u0027 command is passed -2147483648 as a parameter.\n2026-01-09  Fix potential OOB read on the undocumented test function rtreenode() in the RTREE extension.\n2026-01-03  Fix yet another bug in the EXISTS-to-JOIN optimization.\n2026-01-02  Ensure that loops created by the exists-to-join optimization use unique cursor numbers, even if the EXISTS expression in the WHERE clause is a copy of an expression from the result-set of the SELECT.\n2025-12-31  Use 64-bit integers to track memory allocation sizes in the CSV extension.\n2025-12-31  Update the autoconf tarball Makefile.msc to align with the canonical makefile.\n2025-12-31  Use sqlite3_malloc64() in all places in the compress.c extension to avoid integer overflow.\n2025-12-31  Fix a typo in check-in 0819fe670f9ceec7 that lead to incomplete protection against buffer overflow in the zipfile extension.\n2025-12-19  Fix a memory leak in the fileio extension on windows.  Other changes to makefiles and similar to get zipfile testing working on Windows.\n2025-12-15 Dan Kennedy Enhance the unixIsSharingShmNode() code (check-in [6385a1962c69c69c]) to avoid possible deadlocks with threads in findResuableFd().\n2025-12-09  Fix an incorrect answer that might arise if a scalar query is both DISTINCT and contains an OFFSET clause.\n2025-12-05  Increase the patch number to 3.51.2\n2025-12-05  Ensure that the EXISTS-to-JOIN break happens even if the inner loop is a \"no-op\" loop that never executes more than once because it is controlled by a UNIQUE index.\n2025-12-01 stephan Fix a potential UAF in sqlite3.oo1.DB.exec()\u0027s teardown pieces.\n2025-11-28  Version 3.51.1\n2025-11-28  A better fix for the issue with RETURNING triggers on eponymous virtual tables and SQLITE_SCHEMA errors.\n2025-11-28  Fix a buffer overread in fts5 that might occur while processing a corrupt db.\n2025-11-28  Fix a problem in the xFilter() method of the fts5_vocab virtual table causing it to omit some result rows in some cases where a virtual cursor is used more than once by SQLite.\n2025-11-13  CLI shell: ensure that .dump propagates its error code on error.\n2025-11-13  Fix a problem in the EXISTS-to-JOIN optimization so that it works with nested WHERE and EXISTS statements.\n2025-11-13  Merge various minor code and documentation fixes from trunk into the patch branch for 3.51.\n2025-11-09 stephan Kick off branch-3.51: bump version to 3.51.1 and cherrypick [0f712b6b0516dc151d].\n2025-11-04  Version 3.51.0\n2025-11-03  Use the same compile-time options for the CLI in the auto-setup tarball as are used in the canonical source tree. [forum:/forumpost/8975130218|Forum post 8975130218].\n2025-11-03 Dan Kennedy Add new column \"cwd\" to the jobs table in testrunner.db. For recording the directory in which the test ran or is running.\n2025-11-03  Adjust the dbstatus2.test module so that it works on 32-bit builds in addition to 64-bit builds.\n2025-11-03  Update test result output from test/dbstatus2.test module so that it reports the actual value of nTmpSpill when that value is out of range.\n2025-11-03  Fix the test/speedtest.tcl script so that the CC\u003d command-line option works.\n2025-11-03  Fix a harmless memory leak in the CLI caused by the --cmd option generating an error message.\n2025-11-02  Add pedantic OOM detection logic to some disused diagnostic and test code. No changes to any deliverables.\n2025-11-01  Update the test/walthread.test testing script so that it uses a random database name.\n2025-11-01 stephan Fix ext/wasm/mkdist.sh to use ./version-info instead of ../../version-info (a recent build change made to ensure that builds with a custom sqlite3.c embed that version info).\n2025-10-31  Updates to the compile-for-windows.md document.  No changes to code.\n2025-10-31 Dan Kennedy Detect some cases of ambiguous column references in USING clauses that can come up with nested joins.\n2025-10-31  Change the name of a file-scope constant array in carray.c so that it does not conflict with other variables names in other files when carray.c is amalgamated.  This is down to resolve a harmless compiler warning.\n2025-10-31  Update the main README.md file to use the robot-safe /rchvdwnld page on the server for downloads.\n2025-10-31  Fix the output of \".dump\" in the CLI so that the sqlite_sequence table is created using correct syntax.\n2025-10-30  New assert() statements to help out static analyzers.\n2025-10-30 stephan Add SQLITE_OMIT_WAL checks around some functions to avoid defining unused statics in such builds. Fixes OMIT_WAL builds on msys2 and passes tool/omittest-msvc.tcl.\n2025-10-30  Further improvements the \".dump\" command to handle corner cases.\n2025-10-30 stephan Another (void), as per [dd6edfc09434].\n2025-10-30 stephan Add (void) to two places for the sake of SQLITE_OMIT_WAL builds. Why these do not complain on tests in this tree, but do on a downstream tree (same machine, same compiler), is a mystery.\n2025-10-30 stephan wasm: re-add SQLITE_OMIT_WAL to the c-pp-lite build flags.\n2025-10-30 stephan Macro tweaks to get SQLITE_OMIT_WAL building. Remove some nearby stray EOL whitespace.\n2025-10-30  Fix a typo and improve wording in README.md\n2025-10-30  Updates to the tool/warnings.sh script for better compiler warnings.\n2025-10-30  Fix a harmless compiler warning associated with flexarrays.\n(...)\n2025-06-09  Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw.\n2025-06-06  Remove unnecessary whitespace and otherwise improve comments in the wherecode.c module.  No coding changes.\n2025-06-06  Update the \"msort\" function in Lemon so that it works with lists of any length, and also so that the sort is stable.  This patch was motivated by [forum:/forumpost/63750d717c9ed961|forum post 63750d717c] but was independently developed, then tested by temporarily setting LISTSIZE to 2.\n2025-06-05  Remove the clunky test_windirent.h and test_windirent.c files from src/ and replace them with a much cleaner and more compact ext/misc/windirent.h.\n2025-06-05  Enhance the FSDIR virtual table with a new \"level\" column.  The query planner knows how to optimize to avoid search deeper than the maximum requested level.\n2025-06-04 stephan tea build: add an info-exists check after a \u0027scan\u0027 call, as scan does not create its target vars on error. Problem reported at [forum:fde857fb8101a4be | forum post fde857fb8101a4be] and triggers when the \u0027vsatisfies\u0027 test for the host\u0027s Tcl version fails (so the build would fail anyway, but will fail more informatively with this fix).\n2025-06-03 stephan Apply the duplicate \u0027export default\u0027 workaround to the (untested and unsupported) node-specific build rules in mkwasmbuilds.c to resolve a problem reported off-list by Thomas Steiner.\n2025-06-03  Enhance sqlite3_rsync so that it works even if the replica database is initially malformed.\n2025-06-03  Fix an off-by-one error in sqlite3_rsync, reported in [forum:/forumpost/b6d78f60fc|forum post b6d78f60fc].\n2025-06-03  Fix harmless compiler warning introduced by the setlk-snapshot-fix merge.\n2025-06-02  Fix JSONB edit so that when it is trying to reduce the size of an element it understands 0xf0 (8-byte) sizes.\n2025-06-02  Increase the version number to 3.51.0\n2025-06-02 Dan Kennedy Fix os_win.c so that SQLITE_ENABLE_SETLK_TIMEOUT\u003d2 builds work on windows.\n2025-06-02  Improve the accuracy of affinity and collating sequence analysis for NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries.  Initial problem report in [forum:/forumpost/829306db47|forum post 829306db47].\n2025-06-02 Dan Kennedy Updates to new test cases to run with SQLITE_ENABLE_SETLK_TIMEOUT\u003d2 builds.\n2025-06-02 stephan Slight modernization of the TEA README.txt.\n2025-06-02 stephan TEA: remove the stale man page and references to the MSC makefiles from the README.txt. Based on discussion at [forum:87e6660191a472c5 | forum post 87e6660191a472c5].  A couple of weeks ago we internally discussed pulling in the MSC makefiles from the 3.49 tree but they are stale and possibly unused, so opted against it for the time being.\n2025-06-02  Remove an unnecessary parameter from sqlite3VdbeRecordUnpack().  Improved comments and assert()s on KeyInfo.\n2025-06-02  Fix stale comments related to KeyInfo.  Add new assert()s associated with memory management of KeyInfo.\n2025-06-01  Fix an off-by-one error in the size computation of a vdbe-sorter. [forum:/forumpost/c1cc8b057a|Forum post c1cc8b057a]. Problem introduced by checkin [d4307a0d43f42e96].\n2025-06-01  Fix VACUUM so that it works even when ATTACH_WRITE is disabled.\n2025-05-31  Enhance \"box\" and \"column\" mode formatting in the CLI to better deal with double-wide characters.\n2025-05-31 Dan Kennedy Update a few test scripts so that they run on windows.\n2025-05-31  New makefile target \"xdevtest\" works like \"releasetest\" except that it omits the \"verify-source\" dependency so that it can be run with uncommitted changes in the source tree.\n2025-05-31 Dan Kennedy Fix an affinity problem caused by a USING or NATURAL JOIN on the LHS of a FULL JOIN. [forum:/forumpost/5028c785b6|Forum post 5028c785b6].\n2025-05-31  Relax query flattener constraint (3b) and thereby allow flattening the RHS of a LEFT JOIN even if the RHS contains a virtual table.  This was previously disallowed by [9dbae1df75219e2a] as a performance optimization.  It turns out that the constraint causes performance issues, and we do not have a record of any performance issue that it solves.\n2025-05-31 Dan Kennedy Fix assert() statements in os_unix.c and os_win.c. Allow walsetlk_recover.test to run in non-SQLITE_ENABLE_SNAPSHOT builds.\n2025-05-31 stephan Move a mis-located makefile comment block.\n2025-05-31 stephan tcl extension: UDFs may now \u0027break\u0027 to return an SQL NULL. Add the (eval -asdict) flag to use a dict, instead of an array, for the eval row data.\n2025-05-31 stephan Add some missing UNUSED_PARAMETER() annotations to squelch downstream build warnings when using -Wextra -pedantic.\n2025-05-30  Follow-up to the previous:  The same optimization suppression needs to happen if the left-hand side is coming from a LEFT JOIN.\n2025-05-30 Dan Kennedy If blocking locks are enabled, avoid using the busy handler when blocked by another process running recovery.\n2025-05-30  When synthesizing an ON constraint from a USING or NATURAL, if the left-hand side is coming from a RIGHT JOIN, be sure to set the EP_CanBeNull flag so that the optimizer knows to check for NULL even if the column has a NOT NULL constraint.  Fix for the problem reported by [forum:/forumpost/4fc70203b61c7e12|forum post 4fc70203b61]\n2025-05-30 Dan Kennedy Avoid invoking the busy-handler if a blocking lock times out while attempting to open a snapshot transaction.\n2025-05-30 stephan Configure-related fixes and additions, most notably integration of self-tests for proj.tcl\u0027s APIs. Teaish make-install fixes based on the discussion in [forum:87e6660191a472c5 | forum thread 87e6660191a472c5].\n2025-05-30 stephan Random typo fixes in JNI docs.\n2025-05-30  Use a more robust backup definition for offsetof().\n2025-05-30 Dan Kennedy Add \"include \u003cstddef.h\u003e\" to fts5 and rtree to ensure that they use the system version of the offsetof() macro when it is available, as the built-in version triggers ubsan errors with clang.\n2025-05-30 stephan Squelch an interesting but harmless struct initialization warning emitted after an emsdk update. Fix JS breakage introduced by changes in Emscripten 4.0.7: manually export the HEAPxyz symbols which used to be exposed by default.\n2025-05-29 stephan Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in [forum:5adf1c932a | forum post 5adf1c932a].\n2025-05-29  Extend the fix for ticket [623eff57e76d45f6] so that it covers RIGHT JOIN in addition to LEFT JOIN.  Problem reported by [forum:/forumpost/7dee41d32506c4ae|forum post 2025-05-29T15:10:14Z].\n2025-05-29  Fix a goofy hash function in Lemon.  No changes to SQLite itself.\n2024-06-20  Do not attempt the exists-to-join optimization if the FROM clause is full.\n2024-06-14 Dan Kennedy Add tests for the change on this branch.\n2024-06-12 Dan Kennedy Do not attempt the exists-to-join optimization for expressions from the ON clause of joins.\n2024-06-11  Provide the ability to disable the exists-to-join optimization using SQLITE_TESTCTRL_OPTIMIZATIONS.  Provide tree-trace output for the optimization.\n2024-06-10 Dan Kennedy Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch.\n2024-06-10 Dan Kennedy Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used an unknown collation sequence.\n2024-06-08 Dan Kennedy Add extra tests for the changes on this branch.\n2024-06-07 Dan Kennedy Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nChange-Id: I30c811b0859b4b76c4a3fd09f3c49aec2a4036c8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7566883\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1583239}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b8e1904339728cbb8f2964172f82984267e5136c\n"
    },
    {
      "commit": "f677044bf52ce006434d774bea5fc9758dcdf93e",
      "tree": "4450c9fd962edaa7e70cd32e36c1b248bea865d1",
      "parents": [
        "f4da1300592bb68f83f4bd0a8ba868043b680312"
      ],
      "author": {
        "name": "Etienne Bergeron",
        "email": "etienneb@chromium.org",
        "time": "Tue Nov 11 19:19:39 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 11 19:43:35 2025"
      },
      "message": "Remove SQLITE_OMIT_AUTORESET flag\n\nRemoving SQLITE_OMIT_AUTORESET flag. Chrome code is resetting the\nstatement through the Statement class destructor [1].\n\nOn an OP_HALT (end of statement), the default behavior is to always\nreset the statement.\n\nThe behavior when defining SQLITE_OMIT_AUTORESET is that only statement\nreturning \u0027BUSY\u0027 or \u0027LOCKED\u0027 are reset. \u0027SQLITE_MISUSE_BKPT\u0027 is returned\notherwise.\n\nThe default and recommended behavior is to not use that flag.\n\n ```\nThe SQLite code under that flag is below [2]:\n   if( ALWAYS(p-\u003eeVdbeState\u003d\u003dVDBE_HALT_STATE) ){\n     [...]\n#ifdef SQLITE_OMIT_AUTORESET\n      if( (rc \u003d p-\u003erc\u00260xff)\u003d\u003dSQLITE_BUSY || rc\u003d\u003dSQLITE_LOCKED ){\n        sqlite3_reset((sqlite3_stmt*)p);\n      }else{\n        return SQLITE_MISUSE_BKPT;\n      }\n#else\n      sqlite3_reset((sqlite3_stmt*)p);        \u003c\u003c\u003c--- New behavior\n#endif\n````\n\n[1]\nhttps://source.chromium.org/chromium/chromium/src/+/main:sql/statement.cc;l\u003d80;drc\u003d309e7aa9204b3a6d3c0770254499dd0044166550\n[2]\nhttps://source.chromium.org/chromium/chromium/src/+/main:third_party/sqlite/src/src/vdbeapi.c;l\u003d821;drc\u003d29c7c8b9135362fd1f9deee26e939c885439c36b\n\nChange-Id: I5d91c8717c331dbaf5183845575da7b012a3955c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7133481\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1543249}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e03b8000707197f0098f4939869700923103b960\n"
    },
    {
      "commit": "f4da1300592bb68f83f4bd0a8ba868043b680312",
      "tree": "d4114046b27bd7343262ff5e190c9686389069b9",
      "parents": [
        "bc781485916468638d4524870cdbaa877059c870"
      ],
      "author": {
        "name": "Jordan",
        "email": "rop@google.com",
        "time": "Wed Sep 17 00:42:12 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 17 00:48:43 2025"
      },
      "message": "Add \u0027Update Mechanism: Manual\u0027 to README.chromium files\n\nBug: 445311061\nChange-Id: I2b756ad5795b793be54855c8e1883a2a2d8bbefd\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6953660\nReviewed-by: Jiewei Qian \u003cqjw@chromium.org\u003e\nAuto-Submit: Jordan Brown \u003crop@google.com\u003e\nReviewed-by: Rachael Newitt \u003crenewitt@google.com\u003e\nCommit-Queue: Jordan Brown \u003crop@google.com\u003e\nOwners-Override: Jordan Brown \u003crop@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1516347}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 305b2fe1fa7a2c66e0ffee71ff6cdab160c570a8\n"
    },
    {
      "commit": "bc781485916468638d4524870cdbaa877059c870",
      "tree": "b7e7200561677c4f860eabe6d3f64a1886a3cf5b",
      "parents": [
        "00107da45171c3ee088479fd32d48803c57db8bd"
      ],
      "author": {
        "name": "Ari Chivukula",
        "email": "arichiv@chromium.org",
        "time": "Tue Sep 02 18:30:38 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Sep 02 18:36:51 2025"
      },
      "message": "Fix Fuzzer build error\n\n../../third_party/sqlite/fuzz/sql_query_proto_to_string.cc:57:23: error: declaration requires an exit-time destructor [-Werror,-Wexit-time-destructors]\n   57 | std::set\u003cstd::string\u003e disabled_queries_;\n      |                       ^\n1 error generated.\n\nChange-Id: Ie31286880d98758a7e72c2fa7501221e8c0fae8d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6902693\nAuto-Submit: Ari Chivukula \u003carichiv@chromium.org\u003e\nCommit-Queue: Olivier Li \u003colivierli@chromium.org\u003e\nReviewed-by: Olivier Li \u003colivierli@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1509730}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9ecd010a936144bc7a5a240100e2fa49a47654b3\n"
    },
    {
      "commit": "00107da45171c3ee088479fd32d48803c57db8bd",
      "tree": "8b0805529ccd87fd1c307e949d828f11e41a420f",
      "parents": [
        "85af31eb18322d4355baaa3aa132abf92b87b76e"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Tue Aug 19 17:46:23 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 19 17:52:34 2025"
      },
      "message": "Roll src/third_party/sqlite/src/ cc08c7962..7d348fc79 (45 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/cc08c7962964..7d348fc79216\n\n$ git log cc08c7962..7d348fc79 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-08-16 grt Amalgamations for release 3.50.4\n2025-07-30  Version 3.50.4\n2025-07-22  Fix a potentially uninitialized field in the WhereLoop object that is used as part of the skip-ahead-distinct optimization.\n2025-07-18  Ensure that the accumulator for an aggregate always gets initialized, even when the aggregate is on the right side of a LEFT JOIN and never gets evaluated.  Also increment the version number.\n2025-07-17  Version 3.50.3\n2025-07-15  Optimize allocation of large tombstone arrays in fts5.\n2025-07-07  Rework the fix to the problem described by forum post b9647a113b so that it provides a more complete fix that covers cases that were not resolved by the original fix, and so that it does not cause performance regressions.\n2025-07-07 stephan Work around the Emscripten 4.10 regression described in [https://github.com/emscripten-core/emscripten/issues/24656 | Emscripten ticket #24656].\n2025-07-07  Fix a parsing error introduced by the addition of the ability to disable comments.\n2025-07-04 stephan Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per request in [forum:44a58c807353162f | forum post 44a58c807353162f]. This resolves usage of that pkgconf file on some OSes.\n2025-07-01  Increment the patch level to 3.\n2025-07-01  When attempting to optimize \"expr AND false\" to \"false\" and \"expr IN ()\" to \"false\", take care not to delete aggregate functions in the \"expr\" as doing so can change the meaning of the query.\n2025-06-30 stephan Minor API doc typo fixes from brickviking.\n2025-06-29 stephan Minor API doc typo fixes from brickviking.\n2025-06-28  Version 3.50.2\n2025-06-27  Raise an error right away if the number of aggregate terms in a query exceeds the maximum number of columns.\n2025-06-27  API doc typo fixes and closing DD element tags from brickviking.\n2025-06-26  Minor API doc fixes sent off-list from brickviking.\n2025-06-19  Cherry-pick of documentation updates from trunk - no code changes.\n2025-06-17  Avoid writing frames with no checksums into the wal file if a savepoint is rolled back after dirty pages have already been spilled into the wal file.  Also fix a corner case in the previous check-in on this branch.\n2025-06-16  Fix an issue going back to version 3.39.0 with transitive IS constraints in queries that make use of RIGHT JOIN.\n2025-06-12  Have sqlite3_setlk_timeout() take the database handle mutex. This fixes an assert() failure that could occur if sqlite3_setlk_timeout() were called on a threadsafe handle.\n2025-06-12 stephan Help ext/wasm \u0027make snapshot\u0027 find the wasm docs dir when it\u0027s run from outside of my usual checkout structure.\n2025-06-11  Fix a problem with UPDATEs on fts5 tables that contain blob values.\n2025-06-11  Increase the version number for this branch to 3.50.2.\n2025-06-11  Fix the concat_ws() SQL function so that it includes empty strings in the concatenation.\n2025-06-10  Improved selection of the divisor when subdividing nested Bitvec objects. This fixes a potential stack overflow that can occur when the database size is within 60 pages of the maximum allowed by the file format.\n2025-06-10  Adjustments to ext/misc/fileio.c in an attempt to get it to build using mingw.\n2025-06-06  Version 3.50.1\n2025-06-05  Fix harmless compiler warning introduced by the setlk-snapshot-fix merge.\n2025-06-05  Fixes to ensure SQLITE_ENABLE_SETLK_TIMEOUT builds use a blocking lock and do not call xSleep() when (a) opening a snapshot transaction, and (b) when blocked by another process running recovery.\n2025-06-05 stephan Merge TEA README updates from [bf7be67e3f]. No code changes.\n2025-06-04 stephan tea build: add an info-exists check after a \u0027scan\u0027 call, as scan does not create its target vars on error. Problem reported at [forum:fde857fb8101a4be | forum post fde857fb8101a4be] and triggers when the \u0027vsatisfies\u0027 test for the host\u0027s Tcl version fails (so the build would fail anyway, but will fail more informatively with this fix).\n2025-06-03 stephan Apply the duplicate \u0027export default\u0027 workaround to the (untested and unsupported) node-specific build rules in mkwasmbuilds.c to resolve a problem reported off-list by Thomas Steiner.\n2025-06-03  Relax query flattener constraint (3b) and thereby allow flattening the RHS of a LEFT JOIN even if the RHS contains a virtual table.  This is a performance optimization that would not normally be found on a patch branch, but downstream needs it and does not want to wait on the next full release.\n2025-06-03  Fix an off-by-one error in sqlite3_rsync.\n2025-06-02  Fix JSONB edit so that when it is trying to reduce the size of an element it understands 0xf0 (8-byte) sizes.\n2025-06-02  Improve the accuracy of affinity and collating sequence analysis for NATURAL JOINs to the left of RIGHT JOINs where source tables are views or subqueries.\n2025-06-01  Update the version number to 3.50.1\n2025-06-01  Fix an off-by-one error in the size computation of a vdbe-sorter.\n2025-05-31  Cherrypick obscure (fuzzer-generated) RIGHT JOIN bug fixes from trunk.\n2025-05-30  Add \"include \u0026lt;stddef.h\u0026gt;\" to fts5 and rtree to ensure that they use the system version of the offsetof() macro when it is available, as the built-in version triggers ubsan errors with clang.\n2025-05-30  Extend the fix for ticket 623eff57e76d45f6]so that it covers RIGHT JOIN in addition to LEFT JOIN.\n2025-05-30 stephan Squelch an interesting but harmless struct initialization warning emitted after an emsdk update. Fix JS breakage introduced by changes in Emscripten 4.0.7: manually export the HEAPxyz symbols which used to be exposed by default.\n2025-05-29 stephan Fix the missing -lm link flag for the sqlite3 shell when building the autoconf bundle with --disable-static-shell, as reported in [forum:5adf1c932a | forum post 5adf1c932a].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 434161973\nChange-Id: Ie3d46450787f8126c5a2bf0a675c393d042df091\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6851137\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1503454}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 33c91c7255da81d81a8df067cb9d1ede7bf12a82\n"
    },
    {
      "commit": "85af31eb18322d4355baaa3aa132abf92b87b76e",
      "tree": "6334d4c138d365929ca0ec637a6ca6e6e8687002",
      "parents": [
        "5e7d2e9f2a9ef2945b143ec9329b1c3ff98e107c"
      ],
      "author": {
        "name": "Claudio DeSouza",
        "email": "cdesouza@chromium.org",
        "time": "Thu Aug 07 19:32:06 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 07 19:39:32 2025"
      },
      "message": "[exit-time-destructors] Exclude target with warnings\n\nThis CL is part of number of CLs disabling `-Wexit-time-destructors`in\nplaces where this warning is going off. This will allow having this\nwarning enabled-by-default across the codebase, whilst documenting the\nplaces where corrections for this warning are necessary.\n\nBug: 40031409, 430332953\nChange-Id: I21326a8441055de80e0dc71171750ce76626e2e8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6823064\nReviewed-by: David Benjamin \u003cdavidben@chromium.org\u003e\nCommit-Queue: Claudio DeSouza \u003ccdesouza@chromium.org\u003e\nReviewed-by: Rick Byers \u003crbyers@chromium.org\u003e\nReviewed-by: Sylvain Defresne \u003csdefresne@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1498407}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 16107a74b3c300bf459976dafac4d3b54c47b54f\n"
    },
    {
      "commit": "5e7d2e9f2a9ef2945b143ec9329b1c3ff98e107c",
      "tree": "ce9243174c070d9a025754c10dda57380e7190be",
      "parents": [
        "fde221bae02b46a08ced528a241e89bc8c9b9c9a"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Mon Jun 09 14:25:18 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 09 14:30:52 2025"
      },
      "message": "Revert \"[sqlite] Suppress -Wno-tautological-overlap-compare in sqlite_shell\"\n\nThis reverts commit 53b6c15ce2b4e42895515cfa3482b2565b240d54.\n\nReason for revert: The warning is fixed in the version of sqlite\nwe just rolled to, see bug.\n\nBug: 417151790\nOriginal change\u0027s description:\n\u003e [sqlite] Suppress -Wno-tautological-overlap-compare in sqlite_shell\n\u003e\n\u003e The latest version of Clang warns (see bug). Suppress until sqlite is\n\u003e fixed and rolled.\n\u003e\n\u003e Bug: 417151790\n\u003e Change-Id: Id48f18f7fad9678e94f417dbc06d6a63e5b93f8e\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532996\n\u003e Auto-Submit: Hans Wennborg \u003chans@chromium.org\u003e\n\u003e Commit-Queue: Hans Wennborg \u003chans@chromium.org\u003e\n\u003e Commit-Queue: Greg Thompson \u003cgrt@chromium.org\u003e\n\u003e Reviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1458791}\n\nBug: 417151790\nChange-Id: I1b06c50ff2fe6158864ba5469e7198c64762367b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6624324\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1471181}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3d960ebad98fe1da8859969141ebce724d7d970a\n"
    },
    {
      "commit": "fde221bae02b46a08ced528a241e89bc8c9b9c9a",
      "tree": "7db78fd62882ad4958a3d25b81c05f28164dded6",
      "parents": [
        "ff76f87e267069e40f1019a11c5dd861d4219e44"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Fri Jun 06 14:00:11 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 06 14:08:08 2025"
      },
      "message": "Roll src/third_party/sqlite/src/ 0a1397d27..cc08c7962 (466 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/0a1397d27470..cc08c7962964\n\n$ git log 0a1397d27..cc08c7962 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-06-03 grt Amalgamations for release 3.50.0\n2025-05-29  Version 3.50.0\n2025-05-28  Do not use a partial index if the truth of the WHERE clause does not depend on at least one column from the table being indexed.\n2025-05-26  Slight change to tool/split-sqlite3c.tcl to make it compatible with jimsh\n2025-05-26  Fix a bug in the speedtest.tcl testing script that was introduced by [7e9845433ff26bdc]\n2025-05-26 stephan In the TEA build, enable USE_TCL_STUBS on Mac platforms.\n2025-05-26 Dan Kennedy On OpenBSD, do not test fuzzcheck with ubsan as part of \"make devtest\".\n2025-05-26  Avoid calls to sprintf() in Lemon, since OpenBSD hates sprintf().\n2025-05-26 stephan When detecting TCLLIBDIR, skip over //zipfs paths, as the (file isdirectory) command will actually return true for those, but they\u0027re useless for installation purposes. This resolves the tea build\u0027s inability to install on stock openbsd.\n2025-05-26 stephan tclsqlite.c doc typo fix.\n2025-05-24  Change json_group_object() so that it ignores entries where the label is NULL.  [forum:/forumpost/e5bd251fb5|Forum post e5bd251fb5].\n2025-05-24 stephan vtablog.c doc fixes reported in [forum:416d1e37b2|forum post 416d1e37b2].\n2025-05-24  Amend the previous:  Set SQLITE_JSON_MAX_DEPTH to 500 on *all* builds of fuzzcheck.\n2025-05-23  Limit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent stack overflow on ARM64.\n2025-05-23  Add the --osmalloc option to the test/speedtest.tcl testing script. Adjust ./configure so that it does not check for malloc_usable_size().\n2025-05-22 Dan Kennedy Fix a problem with using streaming iterators with sqlite3changegroup_add_change().\n2025-05-19  Clarify some malloc size computations to simplify the proof that they are safe.  Remove some code associated with cygwin that is marked \"#if 0\".\n2025-05-19  Make the new sqlite3_setlk_timeout() interface accessible to loadable extensions.\n2025-05-19  Remove stray tab characters from source files.\n2025-05-19  Fix a harmless comment typo\n2025-05-19  Adjust the tool/warnings.sh script so that it works on the latest versions of clang on Mac.\n2025-05-17 stephan Minor tcl doc update.\n2025-05-17 stephan Rename feature-tests.tcl to feature.tcl. Haiku tcl portability fixes.\n2025-05-17 stephan Latest upstream teaish pieces for minor fixes. Restructure this copy of teaish to simplify maintenance and the autoconf bundle build.\n2025-05-16  Improved version of the previous check-in.\n2025-05-16  Fix the optimization of check-in [663f5dd32d9db832] that strives to avoid duplicate compuations in the GROUP BY clause so that it works even if the GROUP BY term is a subquery on the RHS of a LEFT JOIN.  Problem found by dbsqlfuzz.  Test cases in TH3.\n2025-05-15  Add the --enablefk option to the \"changeset apply\" command of the changeset program.\n2025-05-15  Enhance the \"changeset\" utility program with new command-line options for the \"changeset apply\" command.\n2025-05-15  Rework the showHelp() function in the CLI implementation so that its purpose and operation are well described by the header commit.  Omit the use of enums that cause issues for MSVC 2025.\n2025-05-14  Back out the \"low-quality index\" query planner hack of check-in [bcac937526d9a6ef].  Subsequent query planner enhancements for dealing with star-queries make that change unnecessary and the change was recently found to cause a performance regression in an unrelated query. Also fix a typo in a debugging message.\n2025-05-13 stephan Adjust the strftime() test in test/date4.test to remove flags not supported in musl libc if that environment is detected.\n2025-05-13  First cut at enhancing the fsdir virtual table so that it works with unicode characters on Windows.\n2025-05-13  Omit the unused readdir_r() routine from test_windirent.c\n2025-05-12 stephan Session extension doc typo fix reported in [forum:75e9408acb|forum post 75e9408acb].\n2025-05-12  Fix a coding mistake in vfstrace.\n2025-05-11  Remove a redundant typedef from the sqlite3_rsync.c source file.\n2025-05-10  Provide the SQLITE_BUG_COMPATIBLE_20250510 compile-time option that restores the JSON5 bug fixed in the previous check-in, in case some applications need it for legacy compatibility.\n2025-05-10  Add enforcement of the obscure JSON5 syntax rule that the \u0026#92;0 escape sequence must not be followed by a digit. [forum:/forumpost/c061e87faf7d1c55|Forum post c061e87faf].\n2025-05-08  Fix PRAGMA trusted_schema\u003dOFF and similar so that it restricts the kinds of functions in CHECK constraints that the documentation says it does.  It was letting through some function that it ought not have.  This is a defect in [5720924cb07766cd].  See [forum:/forumpost/3fa9d44c0b381342|forum thread 2025-05-08T08:50Z]. Additional test cases will be added separately.\n2025-05-08 stephan Internal doc typo fix. No code changes.\n2025-05-07  Fix a harmless warning about and oversize shift operation on malformed JSONB inputs.  [https://issues.oss-fuzz.com/issues/415850463|OSSFuzz 415850463].\n2025-05-06 Dan Kennedy Add test cases for the NOT NULL/IS NULL optimization in CHECK constraints fix.\n2025-05-06  Fix a bug in the NOT NULL/IS NULL optimization of check-in [cb94350185f555c3] that can cause invalid data to be used for a column if that column has a CHECK constraint that includes the NOT NULL or IS NULL operator. Problem discovered by the [https://issues.chromium.org/issues/415397143|Chromium fuzzer].  Never seen in the wild, as far as anybody knows.\n2025-05-06  Fix the sqlite3VdbeTypeofColumn() function so that it works correctly even when SQLITE_DEBUG is defined.\n2025-05-06  Fix console-I/O on Windows for DEBUG\u003d3 builds.  Broken by [925e97e6f4238f02].\n2025-05-03  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.\n2025-05-03  Fix a harmless redundant variable declaration in sqlite3_rsync.\n2025-05-03  Addition summary results output when using -vvv on sqlite3_rsync.\n2025-05-03  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.\n2025-05-03  Improvements to protocol negotiation.\n(...)\n2025-02-08  Use the sqlite3ColumnIndex() routine to look up a column in a table, rather than using a custom loop.  Performance improvement, size reduction, and complexity decrease.\n2025-02-08  Fix GCC-isms and compiler warnings introduced by recent check-ins [c56092507c967230] and [6e57848fe1e0e2b5].\n2025-02-08  Improvements to the hash table used to store symbols in the schema, so that it works better (requires fewer calls to sqlite3StrICmp()) for large schemas, and uses less code space.\n2025-02-07 stephan build: work around a report of (install -d DIR) failing in one environment if DIR already exists.\n2025-02-07  Fix comments on the Parse.nMaxArgs field so that they are correct.  Add assert()s to ensure they are correct.  Other Parse changes to reduce the amount of memset() needed to initialize it.\n2025-02-07  Further reduction in the amount of memset() needed to initialize the Parse object.\n2025-02-07 stephan Mac-specific build fixes discussed in [forum:9dfd5b8fd525a5d7|forum thread 9dfd5b8fd525a5d7]: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib.\n2025-02-07  Reduce the amount of memset() needed to initialize the Parse object.\n2025-02-07 stephan configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in [forum:02db2d4240|forum post 02db2d4240]. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas.\n2025-02-07 stephan Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem [https://github.com/sqlite/sqlite-wasm/pull/99|reported in the downstream npm subproject] and explains the confusion in [4aa025a943a4024094b9] (which has been reverted).\n2025-02-07 stephan Fix out-of-tree builds of the autoconf bundle, as reported in [forum:a0cd0beb1baa6bef|forum post a0cd0beb1baa6bef].\n2025-02-07 stephan Bump TEA configure.ac version number.\n2025-02-06  Adjust the test/speedtest.tcl script so that it uses an on-disk database rather than an in-memory database.\n2025-02-06  Fix a harmless typo in a comment.\n2025-02-06 stephan Bump version number to 3.50.0 for the next dev cycle.\n2025-02-06 stephan Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand.\n2025-02-03 stephan Add a test app to assist in validating the SAHPool digest calculation fix.\n2025-02-03 stephan Initial work on a fix for the SAHPool VFS\u0027s effectively-no-op digest calculation, as reported in [https://github.com/sqlite/sqlite-wasm/issues/97|ticket #97 of the downstream npm subproject]. This requires more testing alongside databases created before this version to ensure that it\u0027s backwards-compatible.\n2025-01-31 stephan Minor cleanups in the opfs-sahpool pause/unpause API demo.\n2025-01-31 stephan Add the conventional license header to sahpool-worker.js and correct the date on the header in sahpool-pausing.js.\n2025-01-31 stephan Add a small test app demonstrating cooperative semi-concurrency of the opfs-sahpool VFS using its un/pauseVfs() APIs.\n2025-01-31 stephan Cleanups in the opfs-sahpool VFS pause/unpause feature and its tests.\n2025-01-30 Dan Kennedy Fix a problem causing the write-lock to be held when it should not be in some circumstances following a SEH exception.\n2025-01-30 Dan Kennedy Have sqlite3_enable_setlk(-1) configure indefinite blocking locks where they are supported.\n2025-01-29 stephan Simplify how OpfsSAHPoolUtil.unpauseVfs()\u0027s returned promise is handled.\n2025-01-29 stephan Add experimental support to pause/unpause an SAHPool OPFS VFS, as discussed in [forum:fe8cdb8431c32455|forum post fe8cdb8431c32455], the intent being enable a page to relinquish, perhaps temporarily, the VFS such that the VFS\u0027s storage can be accessed by another page/tab.\n2025-01-27 Dan Kennedy Add the sqlite3_setlk_timeout() API. For setting the timeout used by SQLITE_ENABLE_SETLK_TIMEOUT blocking locks without also setting the regular retry-based busy-timeout.\n2025-01-24 Dan Kennedy Fix a race condition causing SQLite to use a busy-handler for an operation that should not.\n2025-01-15 Dan Kennedy Have windows SQLITE_ENABLE_SETLK_TIMEOUT builds block indefinitely if the busy-timeout is set to 0x7FFFFFFF.\n2024-12-26 Dan Kennedy Omit code to link all winShm objects open on a single node into a list. This is no longer required.\n2024-12-24 Dan Kennedy Properly wait for asynchronous results for calls to LockFileEx() on FILE_FLAG_OVERLAPPED files even if LOCKFILE_FAIL_IMMEDIATELY, which usually causes LockFileEx() to return synchronously, is specified.\n2024-12-16 Dan Kennedy Fix release test errors on winrt.\n2024-12-16 Dan Kennedy Fix a problem on this branch causing a file-handle to be leaked following an OOM condition.\n2024-12-12 Dan Kennedy Fix a buffer overread in test code. Add test configurations for ENABLE_SETLK\u003d1 and FOR_WINRT\u003d1 builds to release testing.\n2024-12-11 Dan Kennedy Ensure that all win32 API functions invocations in os_win.c are made via the function table. Fix asan error in test code.\n2024-12-10 Dan Kennedy Fix a problem with walsetlk.test on windows.\n2024-12-10 Dan Kennedy Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock.\n2024-12-10 Dan Kennedy Fix walsetlk.test to work on unix.\n2024-12-09 Dan Kennedy Test the case where a db connection blocks for a while and then successfully obtains the lock.\n2024-12-09 Dan Kennedy Enhance tests to ensure that blocking locks, and not calls to xSleep(), are being used by SQLITE_ENABLE_SETLK_TIMEOUT builds when they should be.\n2024-12-04 Dan Kennedy Fix filectrl.test so that it works with winrt builds.\n2024-12-04 Dan Kennedy Assume an NT-based OS when running tests if sqlite_os_type is not set.\n2024-12-03 Dan Kennedy Back out minor changes not required by this branch.\n2024-12-03 Dan Kennedy Further test file tweaks to run with SQLITE_OS_WINRT builds.\n2024-12-03 Dan Kennedy Fix the lock_win32_file test command so that it works with winrt builds.\n2024-12-02 Dan Kennedy Fix a problem with SQLITE_OS_WINRT builds.\n2024-11-30 Dan Kennedy On windows, use a separate handle for each connection for xShmLock() locks.\n2024-11-25 Dan Kennedy Ensure that file-handle winShmNode.hFile.h is used in a thread-safe manner.\n2024-11-25 Dan Kennedy Fixes for code on this branch. Now appears to work, but is not tested well.\n2024-11-22 Dan Kennedy Supports SQLITE_ENABLE_SETLK_TIMEOUT on windows. Does not work properly yet.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 417151790\nChange-Id: I52605227f425db4699c599cf156e7716985e37a8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6618851\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1470509}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f196d5c125b4872577b8c224f0993319903ec69d\n"
    },
    {
      "commit": "ff76f87e267069e40f1019a11c5dd861d4219e44",
      "tree": "5bbc2be21c49a5d272368f61a518a73f894828e8",
      "parents": [
        "2b68069dbe04142c690364e9f4755eb7b426024a"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Tue Jun 03 16:30:45 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 03 16:36:46 2025"
      },
      "message": "[sqlite] Update instructions for creating a new release branch\n\nFixed: 416451557\nChange-Id: If77547c768c8dd7bcd94a89984710e104d619850\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6616169\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1468774}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ed7fc53d79fb3d60f0c1d7e579748c0df9bcbf20\n"
    },
    {
      "commit": "2b68069dbe04142c690364e9f4755eb7b426024a",
      "tree": "44a7a8a8ee426f4356796d3f5221e75f1cca30ab",
      "parents": [
        "6663699a0dda4b1d29bc14d38530387ba9c52144"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Thu May 15 14:54:17 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 15 15:02:18 2025"
      },
      "message": "Roll src/third_party/sqlite/src/ 8a22b25ad..0a1397d27 (19 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/8a22b25ad724..0a1397d27470\n\n$ git log 8a22b25ad..0a1397d27 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-05-13 grt Amalgamations for release 3.49.2\n2025-05-07  Version 3.49.2\n2025-05-06  Fix a bug in the NOT NULL/IS NULL optimization that can cause invalid data to be used for a column if that column has a CHECK constraint that includes the NOT NULL or IS NULL operator.\n2025-04-16  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.\n2025-04-04 stephan Correct a makefile var name type in the configure script, introduced in [8830f86335].\n2025-04-04 stephan Improve --all flag handling so that combinations of (--all --disable-FEATURE) and (--disable-all --FEATURE) work more intuitively. Add missing handling of the --fts3 flag (it was accepted but ignored before). Partial merge of [26ef0ff4bfbb], minus proj.tcl changes.\n2025-04-04 stephan Account for the Mac-specific -install_name linker flag. See [forum:5651662b8875ec0a|forum post 5651662b8875ec0a].\n2025-03-22  Fixes for two problems with the generate_series() table-valued function.\n2025-03-18  Fix two obscure logic problems that cause incorrect answers, found by a third-party fuzzer.\n2025-03-10  Disable the [d1ba200234f40b84|count-of-view optimization] if any subquery is DISTINCT, as the optimization does not work in that case.\n2025-03-10  Fix the build by rerunning test/mkpragmatab.tcl.\n2025-02-28 stephan Bring the autosetup-related bits up to par with trunk.\n2025-02-28 stephan Strive to make sorts stable in the mkpragmatab.tcl build script, so that we get consistent amalgamations regardless of platform. [forum:/forumpost/c9914addebf3da51|Forum thread c9914addebf3da51].\n2025-02-25 stephan Configure script cosmetics: emit the host/build system info before the directory info.\n2025-02-25 stephan Diverse configure tweaks to better support package maintainers on the unix-on-windows environments like msys2, cygwin, and mingw, based largely on feedback in forum posts [forum:e6cf2bbb70da2922|e6cf2bbb70da2922] and [forum:828fdfe9041fd725|828fdfe9041fd725].\n2025-02-21 stephan configure: in several places where support for -Wl,... linker flags are checked, ensure that the check invokes the linker (not just the compiler) to avoid false positives. This allows us to remove the AIX-specific handling and --disable-rpath bits added in [a15e0f680], as well as make several similar checks more robust.\n2025-02-20 stephan Bump VERSION to 3.49.2.\n2025-02-20 stephan configure: automatically fail the check for rpath on AIX systems and provide a --disable-rpath flag as a fallback for use on platforms which pass the configure-time rpath check but then fail at link-time. Based on discussion in [forum:ae5bd8a84b|forum thread ae5bd8a84b].\n2025-02-20 stephan Fix autoconf bundle to honor the --disable-static and --disable-shared flags, as reported in [forum:ae5bd8a84b|forum post ae5bd8a84b]. Problem introduced in 3.49.0.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src --update-readme\n\nFixed: 415397143\nChange-Id: I4adb08f6dd403ef6c35de4509a118075309d7b90\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6540287\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1460715}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5327059b598732d5f4e1efc10e686fe73c70f7e2\n"
    },
    {
      "commit": "6663699a0dda4b1d29bc14d38530387ba9c52144",
      "tree": "eaddca50cb430ff266a574da4274e27111ca53a0",
      "parents": [
        "f852a39e54a8824b212c5298cbaa0690a669d6fe"
      ],
      "author": {
        "name": "Hans Wennborg",
        "email": "hans@chromium.org",
        "time": "Mon May 12 13:10:00 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 12 13:17:14 2025"
      },
      "message": "[sqlite] Suppress -Wno-tautological-overlap-compare in sqlite_shell\n\nThe latest version of Clang warns (see bug). Suppress until sqlite is\nfixed and rolled.\n\nBug: 417151790\nChange-Id: Id48f18f7fad9678e94f417dbc06d6a63e5b93f8e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532996\nAuto-Submit: Hans Wennborg \u003chans@chromium.org\u003e\nCommit-Queue: Hans Wennborg \u003chans@chromium.org\u003e\nCommit-Queue: Greg Thompson \u003cgrt@chromium.org\u003e\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1458791}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 53b6c15ce2b4e42895515cfa3482b2565b240d54\n"
    },
    {
      "commit": "f852a39e54a8824b212c5298cbaa0690a669d6fe",
      "tree": "d3f6fa2a9c7f837ea02dc1e97d20094bebb3ebda",
      "parents": [
        "afec8a5af5f753262b20c17fb295e7325c82fb13"
      ],
      "author": {
        "name": "Joey Scarr",
        "email": "jsca@google.com",
        "time": "Wed Apr 23 23:34:44 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 23 23:40:39 2025"
      },
      "message": "Update SQLite CPEPrefix to match version\n\nChange-Id: Id8ed466c1a321b558039003907cdb1ab3ea2c087\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6485766\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nAuto-Submit: Joey Scarr \u003cjsca@google.com\u003e\nCommit-Queue: Joey Scarr \u003cjsca@google.com\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1450865}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e42d893f8e1c0c9c998f555999e77041ad210157\n"
    },
    {
      "commit": "afec8a5af5f753262b20c17fb295e7325c82fb13",
      "tree": "0457ab1ac0ae552c2fcc160f5cf8337aa35dbe74",
      "parents": [
        "adc766efe7a0e2b92cd117ed1a9b979d75dda347"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed Apr 16 17:03:15 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 16 17:10:25 2025"
      },
      "message": "sqlite: Upgrade to 3.49.1\n\nRoll src/third_party/sqlite/src/ 567495a62..8a22b25ad (1274 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/567495a62a62..8a22b25ad724\n\n$ git log 567495a62..8a22b25ad --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2025-04-15 asully Amalgamations for release 3.49.1\n2025-02-18  Version 3.49.1\n2025-02-17 stephan Add two generated files to the distclean rules of the autoconf bundle.\n2025-02-17 stephan Pull build fix [edb8a78c023] and cleanup [0c085a5ab5] into branch-3.49.\n2025-02-17  Harden the SQLITE_DBCONFIG_LOOKASIDE interface against misuse.  This is a simplification of [1ec4c308c76c69fb] appropriate for use in a patch release.\n2025-02-16 stephan Re-add the --disable-static-shell configure feature to the autoconf bundle. It got lost in the autoconf-to-autosetup port, as reported in [forum:cc219ee7044|forum post cc219ee7044].\n2025-02-16  Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments.\n2025-02-16  Remove the autoconf/tea/configure.ac check from tool/srctree-check.tcl since that file no longer exists.\n2025-02-15 stephan Automate update of the library version number in autoconf/tea/configure.ac as part of the tool/mkautoconfamal.sh process.\n2025-02-15 stephan DLL installation rules no longer create versioned symlinks on platforms where the DLL extension is \u0027.dll\u0027 (cygwin, msys2, etc.), as suggested in [forum:28bb79638844c328|forum post 28bb79638844c328].\n2025-02-15 stephan A cleaner workaround for [6a21d6a2].\n2025-02-14 stephan More informative output for the pthread feature test.\n2025-02-14 stephan Make failure to find pthreads support non-fatal unless --enable-threadsafe is specifically passed in. Build regression reported in [8e0fdb8c0d].\n2025-02-14 stephan Simplify the --help workaround introduced in [6a21d6a2ed].\n2025-02-14 stephan Work around autosetup --help quirk described in [6a21d6a2ed62].\n2025-02-14 stephan ICU config support: add more details to error messages and correct a typo which would cause a configure crash if --with-icu-config\u003dX refered to a non-executable X.\n2025-02-13 stephan When using the --out-implib build option, install the generated .dll.a file to PREFIX/lib.\n2025-02-13 stephan Bring the 3.49 branch\u0027s configure-related files up to par with the current trunk.\n2025-02-11 stephan Rename a configure-internal function and fix handling of --dump-defines for the autoconf bundle.\n2025-02-11 stephan Move the configure flags definition and handling into autosetup/sqlite-config.tcl to avoid duplication between auto.def and autoconf/auto.def while still giving us a way to filter the canonical-tree-only flags out of the autoconf build.\n2025-02-11 stephan Adapt [https://fossil-scm.org/home/info/3bff7b92d6d|Fossil SCM patch 3bff7b92d6d], applying -lrt for platforms which need it for one of {fdatasync, nanosleep}.\n2025-02-11 stephan Make the --out-implib support ([6092b0b86bf93a3d]) specifically opt-in because the feature check for it passes on some platforms where it is not recognized at link-time.\n2025-02-10 stephan configure: when dlopen() is not found, only fail fatally if --enable-loadable-module is explicitly provided, else warn instead. Based on discussion around [forum:2efe9c33bd9021ca|forum post 2efe9c33bd9021ca]. Update proj-indented-notice to behave like its docs say it should when the -error flag is used.\n2025-02-09 stephan Update the \u0027clean\u0027 rules for autoconf/Makefile.in to account for [6092b0b8].\n2025-02-09 stephan Apply [6092b0b8] to autoconf/Makefile.in.\n2025-02-09 stephan configure: if the linker supports --out-implib, generate libsqlite3.X.a, where X is the platform\u0027s DLL file extension. Discussion in/around [forum:0c7fc097b2|forum post 0c7fc097b2].\n2025-02-09 stephan wasm: add some build-time validation to ensure that the problem fixed in [65798c09a00662a3] does not recur. Ensure that files generated via mkwasmbuilds.c have the generated makefile as a dependency.\n2025-02-09 stephan configure: when transfering ENABLE/OMIT flags from CFLAGS to OPT_FEATURE_FLAGS, also do the same for CPPFLAGS and remove those ENABLE/OMIT flags from CFLAGS/CPPFLAGS to mimic legacy build behavior. Strip ENABLE/OMIT flags from BUILD_CFLAGS but do not transfer those to OPT_FEATURE_FLAGS, also to mimic legacy behavior. This is the second part of a fix discussed at [forum:9801e54665afd728|forum post 9801e54665afd728].\n2025-02-07 stephan build: work around a report of (install -d DIR) failing in one environment if DIR already exists.\n2025-02-07 stephan Mac-specific build fixes discussed in [forum:9dfd5b8fd525a5d7|forum thread 9dfd5b8fd525a5d7]: rename dylib links and add legacy-compatibility versioning stamps to libsqlite3.dylib.\n2025-02-07 stephan configure: change extension of static libraries from .lib to .a on msys/cygwin, as per discussion in [forum:02db2d4240|forum post 02db2d4240]. Replace unidiomatic JS-style use of inner procs in autosetup/proj.tcl with TCL lambdas.\n2025-02-07 stephan Reorder a piece of ext/wasm/GNUmakefile to correct the timing of various var accesses. Fixes a problem [https://github.com/sqlite/sqlite-wasm/pull/99|reported in the downstream npm subproject] and explains the confusion in [4aa025a943a4024094b9] (which has been reverted).\n2025-02-07 stephan Fix out-of-tree builds of the autoconf bundle, as reported in [forum:a0cd0beb1baa6bef|forum post a0cd0beb1baa6bef]. Bumd version number to 3.49.1.\n2025-02-06 stephan Fix a dependencies/order-of-operations bug in ext/wasm/GNUmakefile which causes creation of files filtered via c-pp to fail if the ext/wasm/jswasm dir did not exist beforehand.\n2025-02-06  Version 3.49.0\n2025-02-05  Fix a harmless unused-parameter compiler warning introduced by [75f3d8744879].\n2025-02-05 stephan Summarize known incompatibilities/gotches between JimTCL and canonical TCL, and their workarounds. Doc changes only.\n2025-02-05 stephan Upstream JimTCL patch and minor tcl script tweaks to support (fconfigure -translation binary) for better cross-platform build portability.\n2025-02-05  Attempted improvements to the SQLITE_DBCONFIG_... documentation.\n2025-02-04  Detect and report signed integer overflow in the sumInverse() routine, used by window functions.\n2025-02-03  Fix a potential UAF in FTS3.\n2025-02-03  New dbsqlfuzz case added to fuzzdata8.db.\n2025-02-03  The Parse.addrExplain field is never even if SQLITE_OMIT_EXPLAIN is defined.\n2025-02-03  Fixes and improved documentation to the new --sqlid and --dbid range options in fuzzcheck.\n2025-02-03  Enhance fuzzcheck so that the --sqlid and --dbid options can specify a range of tests to be run.\n2025-02-03 stephan Improve the JS-side sqlite3_set_auxdata() test to also trigger the case that the aux data actually gets reused. Test changes only, no library code.\n2025-02-03 Dan Kennedy Fix a use-after-free case in fts5 provoked by fuzzdata8.db. Tcl test case pending.\n2025-02-03  New test case for test/fuzzdata8.db\n2025-02-03 stephan Rework [76c8435a] to eliminate automatic JS-to-WASM function conversions of sqlite3_set_auxdata() destructors because it can leads to leaks on every call of a UDF. This feature never worked before [76c8435a] but fixing it was ill-conceived because of the memory leakage it introduces. WASM function pointers can still be used as destructors in this context.\n2025-02-03 stephan Add a more complete test for [76c8435a] and add some commentary about (A) the inability to automatically clean up automatically-generated WASM proxy functions for sqlite3_set_auxdata() destructors and (B) how to deal with (A) to avoid leaking WASM proxy functions.\n(...)\n2024-06-02  Be more aggressive about freeing memory associated with the sqlite3_index_info.idxStr field.\n2024-06-01 Dan Kennedy Have fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usable plan can be found.\n2024-05-31 Dan Kennedy Further tests for OR constraints on virtual tables.\n2024-05-31 Dan Kennedy Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries.\n2024-05-31  Do not even try star-schema detection if the join has fewer than 5 tables, since 5 is the minimum for a positive detection.\n2024-05-31  Document the OP_Explain opcode.  Add the WhereLoop.rRun value as P3 in OP_Explain opcodes associated with WhereLoops, for testing purposes.\n2024-05-30 stephan Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds.\n2024-05-30 stephan Remove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per [forum:80003e91a7a6cb4d|requests in the forum].\n2024-05-30  Ensure that the second pass call to wherePathSolver() always reports a positive value for the estimated number of output rows.  This fixes a long-standing (though exceedingly minor) problem that was only revealed by a new assert() added yesterday.  dbsqlfuzz 545d6debc2da496ab2b915e33ea34d9a35a935df\n2024-05-30 stephan Update shell.c to use the msteve fork of linenoise, per /chat discussion.\n2024-05-29  Remove an unused parameter from fts5ConfigParseSpecial().  Compiler-warning fix only - no functional changes.\n2024-05-29  Change an assert() (incorrectly) added by the previous check-in into a testcase().\n2024-05-29  Small performance enhancement in wherePathSolver()\n2024-05-29  Improvements to comments and debugging output.\n2024-05-29  Remember the amount of the heuristic cost adjustment associated with star schemas and compensate when computing whether or not to use Bloom filters.\n2024-05-29  Fix typos in the star-schema test cases.\n2024-05-29 larrybr [forum:/forumpost/c9b8d923d5|Fix sqldiff out-of-bounds char classification error mentioned in the forum.]\n2024-05-29  Use a heuristic in the query planner to help it better cope with large star schema queries.\n2024-05-28  Fix a couple of assert() statements so that they cannot fire when the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS debugging capability is activated.  dbsqlfuzz f5b347cf167a62fbe08062b2feee65cb9306e363.\n2024-05-28  Tweaks to the query planner so that it is better able to deal with star queries with many dimensions and bad indexes.\n2024-05-28  Increase the number of parallel paths in the query solver from 12 to 20. In the .wheretrace output, sort the parallel paths in order of increasing cost.\n2024-05-28  Documentation typo fix. [forum:/forumpost/772d6688f5|Forum post 772d6688f5].\n2024-05-28 Dan Kennedy Fix a problem with the error message reported by fts5 in some OOM cases.\n2024-05-28  Query planner tuning:  Increase the maximum number of simultaneous solutions to track int eh solver from 10 to 12.\n2024-05-27  Avoid creating an automatic index on a column that is known to be not very selective.\n2024-05-27  The previous check-in was a little two aggressive about skipping the initialization of entries in the CellArray.ixNx array.  Fixed here.\n2024-05-27  Fix typo in comment used to generate parts of the documentation. [forum:/forumpost/da5a2ca4db|Forum post da5a2ca4db].\n2024-05-27  Very small performance increase and size reduction by removing unnecessary ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s.\n2024-05-27 stephan Doc typo fix. No code changes.\n2024-05-27  For compatibility with PostgreSQL, when right-hand side of the -\u003e\u003e operator is negative, it should index from the right side of the JSON array on the left-hand side.\n2024-05-27 Dan Kennedy Fix a possible buffer overwrite in the \".import\" command. [forum:/forumpost/0c447f0548|forum post 0c447f0548].\n2024-05-27  Add new assert() statements to help out a static analyzer.  Response to [forum:/forumpost/17fe8ac32e0de4f5|forum post 17fe8ac32e0de4f5].\n2024-05-25  Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb.\n2024-05-24 Dan Kennedy Fix another fts5 problem related to unknown tokenizer modules.\n2024-05-24 Dan Kennedy Fix a crash in fts5 that could occur within \"PRAGMA integrity_check\" if the specified tokenizer was unknown.\n2024-05-24  When omitting result columns for the vector-IN optimization, make sure that any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately.\n2024-05-24 Dan Kennedy Ensure that queries like \"SELECT indeterministic(a) FROM tbl GROUP BY 1\" invoke the indeterministic function only once for each row of tbl.\n2024-05-24  Add the stmtrand() extension function for use in testing.\n2024-05-24 Dan Kennedy Fix an \"ifcapable\" expression in values.test.\n2024-05-23  Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs.  This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by [forum/forumpost/bf8f43aa522c2299|forum post bf8f43aa522c2299].\n2024-05-23  Increase the version number to 3.47.0 to begin the next development cycle.\n2024-05-17 Dan Kennedy Fix a problem in where.c preventing SQLite from identifying some ONEROW scans, leading to (slightly) sub-optimal byte-code.\n2024-05-14 Dan Kennedy Optimize queries against fts5vocab(row) tables that do use the \"cnt\" column.\n2024-05-14 Dan Kennedy Avoid calculating the value of the \"cnt\" column for fts5vocab(row) queries that do not use it.\n2024-05-14 Dan Kennedy Have fts5 tables delay initializing the tokenizer until it is first used in all cases where the tokenizer is not \"trigram\".\n2024-05-13 Dan Kennedy Allow existing fts5 tables to be dropped even if the associated tokenizer is not available.\n2024-05-12  Optimization in the implementation of OP_OpenRead and OP_OpenWrite\n2024-05-08  Allow arbitrary expressions as the second argument to RAISE().\n2024-01-10 larrybr Fix a few compiler gripes.\n2024-01-10 larrybr For CLI shell and other utilities, optionally avoid C runtime file I/O on Windows in favor of WIN32 calls, while nominally preserving FILE* API interfaces. (a WIP, awaiting build and testing)\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 410635480\nChange-Id: Iec4c2e23e3672ece8e0956040adf0179ce2f4e86\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6456939\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1447827}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: dea152f023fcd4154bbaa34a7394105441e057a2\n"
    },
    {
      "commit": "adc766efe7a0e2b92cd117ed1a9b979d75dda347",
      "tree": "847c900955b85b40d5121c5eae2e552927d72ee6",
      "parents": [
        "738d345fb362099c42dd6916036b476c8691cb40"
      ],
      "author": {
        "name": "Rachael Newitt",
        "email": "renewitt@google.com",
        "time": "Tue Apr 15 04:33:41 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 15 04:40:39 2025"
      },
      "message": "Update metadata for SQLite to enable us to measure upstream diff.\n\nWe need a git URL in order to measure how far behind upstream we\nare. Swapping the URLs allows us to detect the revision we\u0027re\nusing via git tags.\n\nBug: 410635480\nChange-Id: I74411f1bb1ab304c1ae139f85f74c38c3a689c3e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6456966\nReviewed-by: Jiewei Qian \u003cqjw@chromium.org\u003e\nCommit-Queue: Rachael Newitt \u003crenewitt@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1446924}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a66675eb0de10e79d967f9831d0e7445f2e4ec32\n"
    },
    {
      "commit": "738d345fb362099c42dd6916036b476c8691cb40",
      "tree": "c057eef5196c4d578db38651d5f5e0609b238a21",
      "parents": [
        "71326d4f12658238aa383937997bdd6166f8fa9d"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Fri Apr 04 14:22:58 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 04 14:34:10 2025"
      },
      "message": "Revert \"sqlite: Omit support for CHECK-constraint enforcement\"\n\nThis reverts commit 5eb2cebd5ccd7892d96d587bca48eaa77ea8a903.\n\nReason for revert: http://crbug.com/408243082\n\nOriginal change\u0027s description:\n\u003e sqlite: Omit support for CHECK-constraint enforcement\n\u003e\n\u003e Bug: 41429419\n\u003e Change-Id: Ie57572354674af09fab497779c73528474c162ca\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6420854\n\u003e Reviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\n\u003e Commit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\n\u003e Reviewed-by: CJ Huang \u003cchenjih@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1442103}\n\nBug: 41429419, 408243082\nChange-Id: Ia526e48afa9ef66c053a1210a37dfbc29febf862\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6434346\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1442701}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b181d0d6972f89d17774b68e758305c290272fb4\n"
    },
    {
      "commit": "71326d4f12658238aa383937997bdd6166f8fa9d",
      "tree": "395793b0dd95182d5c0f29a05aa53d8db76e5d39",
      "parents": [
        "fb2c9dbe57acc50674e28cea88135f68d34d0bc9"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Thu Apr 03 13:08:33 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 03 13:13:35 2025"
      },
      "message": "sqlite: Omit support for CHECK-constraint enforcement\n\nBug: 41429419\nChange-Id: Ie57572354674af09fab497779c73528474c162ca\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6420854\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nReviewed-by: CJ Huang \u003cchenjih@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1442103}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5eb2cebd5ccd7892d96d587bca48eaa77ea8a903\n"
    },
    {
      "commit": "fb2c9dbe57acc50674e28cea88135f68d34d0bc9",
      "tree": "c057eef5196c4d578db38651d5f5e0609b238a21",
      "parents": [
        "6602cfda4e3ba6f55712f43b6bde6b9a9fceb0ad"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Wed Apr 02 18:46:29 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 02 18:56:15 2025"
      },
      "message": "sqlite: Disable double-quoted string literals\n\nThis has no change on the existing behavior, since these were already\ndisabled on a per-DB basis using a runtime call.\n\nhttps://www.sqlite.org/quirks.html#dblquote\nhttps://www.sqlite.org/compile.html#dqs\n\nBug: 40635942\nChange-Id: If13933d80577473b979ca34b83a1890023d936c9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6391476\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1441688}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 986a13bad93a30834d59b4e23417ceb26be0f693\n"
    },
    {
      "commit": "6602cfda4e3ba6f55712f43b6bde6b9a9fceb0ad",
      "tree": "520d4d3af48fa85d26be91a4af4383ebe3c6225c",
      "parents": [
        "8be48d652615ac6a1740328052f8c2df57597927"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Wed Apr 02 13:19:16 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 02 13:33:31 2025"
      },
      "message": "sqlite: Remove unnecessary SQLITE_DISABLE_FTS3_UNICODE option\n\nFTS3 is already disabled, so this option is redundant.\n\nFollowup to crrev.com/c/6391355.\n\nChange-Id: I66014c6782f94e692f8b38f0f785609fdded5b5d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6416802\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1441465}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 65c267ffa0a3248a1796de0ae7742440c9bbcf72\n"
    },
    {
      "commit": "8be48d652615ac6a1740328052f8c2df57597927",
      "tree": "b83fffe1858e59f7479b89d33906fd3a08b0e3dd",
      "parents": [
        "c2235f70b054d225a043deaadba67eb4e581e6c0"
      ],
      "author": {
        "name": "Andrew Paseltiner",
        "email": "apaseltiner@chromium.org",
        "time": "Mon Mar 31 15:18:00 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 31 15:29:43 2025"
      },
      "message": "sqlite: Compile without FTS3 support\n\nThis reduces binary size by about 64 KiB on Android, and eliminates a\nvast surface of unused C code.\n\nThis is possible now that WebSQL, its last user, has been removed.\n\nBug: 340805983\nChange-Id: I6cae19d661ab3cca6a8ce1b1a62acdb9ae5e53f4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6391355\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Andrew Paseltiner \u003capaseltiner@chromium.org\u003e\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1440292}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 57621bf8b2cea6bd52427217d4706107300470c3\n"
    },
    {
      "commit": "c2235f70b054d225a043deaadba67eb4e581e6c0",
      "tree": "f356842957ddbca3daf86ae82c1e73fa97c377e8",
      "parents": [
        "59937e8ad0487666d4ff8b55e190e2986f72655b"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Wed Feb 05 14:38:27 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 05 14:50:46 2025"
      },
      "message": "[sqlite] Avoid OOM in fuzzers from large printfs\n\nLimit replacements to 255 chars in printf formats.\n\nFixed: 386415609\nChange-Id: Iadd5f8b215a46a9439ecc4610d796c7e416b3dd3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6234586\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1416129}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 36f8f5bd0c13a19a854d9cd4d2bc6888ab2d0e09\n"
    },
    {
      "commit": "59937e8ad0487666d4ff8b55e190e2986f72655b",
      "tree": "55374aea70bbe042842b26092a7c479fc2f32f83",
      "parents": [
        "af27bf7a87a7b9dfa39cbf8f644da954eae7d25d"
      ],
      "author": {
        "name": "Paul Semel",
        "email": "paulsemel@chromium.org",
        "time": "Fri Jan 10 17:02:46 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 10 17:08:30 2025"
      },
      "message": "fuzzing: fix sqlite3_dbfuzz2_fuzzer build for coverage\n\nThe symbol should be defined all the time, not just when using\nsanitizers, because this fuzzer needs it.\n\nBug: 40613525,40272521\nChange-Id: I686966f60b05f2ec0b60539620b6ff7a0fe97a21\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6163471\nAuto-Submit: Paul Semel \u003cpaulsemel@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Paul Semel \u003cpaulsemel@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1404837}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1e6dd84972f1184b2ba00b45019ebaee88eae265\n"
    },
    {
      "commit": "af27bf7a87a7b9dfa39cbf8f644da954eae7d25d",
      "tree": "759c0ca31f60d7c552308d3f981b6a419a06a255",
      "parents": [
        "dd760d9553c71e0bc32c6555706bc5e52d78d13d"
      ],
      "author": {
        "name": "Paul Semel",
        "email": "paulsemel@chromium.org",
        "time": "Fri Jan 10 16:13:49 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 10 16:20:43 2025"
      },
      "message": "Revert \"fuzzing: reenable sqlite3_dbfuzz2_fuzzer for the code coverage builder\"\n\nThis reverts commit d35694f8ad1ec651fc42dc51ef0e21058287e935.\n\nReason for revert: Breaks coverage builder: https://ci.chromium.org/ui/p/chromium/builders/ci/linux-fuzz-coverage/818/overview\n\nOriginal change\u0027s description:\n\u003e fuzzing: reenable sqlite3_dbfuzz2_fuzzer for the code coverage builder\n\u003e\n\u003e This seems to be working now, with the same build config as the one used\n\u003e for the code coverage builder bot.\n\u003e\n\u003e Bug: 40613525,40272521\n\u003e Change-Id: I2109b5d952cb64c15ab50bbde754398ffa032f3c\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6157807\n\u003e Reviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\n\u003e Commit-Queue: Paul Semel \u003cpaulsemel@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1404082}\n\nBug: 40613525,40272521\nChange-Id: I0a96404111206bdce0ad2a818f564701925c70ee\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6164008\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nReviewed-by: Paul Semel \u003cpaulsemel@chromium.org\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1404815}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 76d5fdda63b04f363a75a08f6ff3fe4230b055bc\n"
    },
    {
      "commit": "dd760d9553c71e0bc32c6555706bc5e52d78d13d",
      "tree": "83749cf58773b3f8cea3219839de210542419a3b",
      "parents": [
        "a32786dcc710fe7ca10d00e5272486081fbdd131"
      ],
      "author": {
        "name": "Paul Semel",
        "email": "paulsemel@chromium.org",
        "time": "Thu Jan 09 10:42:04 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jan 09 10:48:30 2025"
      },
      "message": "fuzzing: reenable sqlite3_dbfuzz2_fuzzer for the code coverage builder\n\nThis seems to be working now, with the same build config as the one used\nfor the code coverage builder bot.\n\nBug: 40613525,40272521\nChange-Id: I2109b5d952cb64c15ab50bbde754398ffa032f3c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6157807\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Paul Semel \u003cpaulsemel@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1404082}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d35694f8ad1ec651fc42dc51ef0e21058287e935\n"
    },
    {
      "commit": "a32786dcc710fe7ca10d00e5272486081fbdd131",
      "tree": "759c0ca31f60d7c552308d3f981b6a419a06a255",
      "parents": [
        "28a804b448c0fad1850e1ab70cfe96df788c6c2f"
      ],
      "author": {
        "name": "Jordan",
        "email": "rop@google.com",
        "time": "Wed Jan 08 22:21:49 2025"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 08 22:33:32 2025"
      },
      "message": "LSC updating Licenses fields to reflect provided files.\n\nAll of these are based on the license/s that have been identified in the provided license files. These are the SPDX identifiers for the identified licenses.\n\nChange-Id: If5ba93eb4590c4c6f5b4d6168330d128eb433cb1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6109413\nCommit-Queue: Rachael Newitt \u003crenewitt@google.com\u003e\nReviewed-by: Rachael Newitt \u003crenewitt@google.com\u003e\nOwners-Override: Jordan Brown \u003crop@google.com\u003e\nAuto-Submit: Jordan Brown \u003crop@google.com\u003e\nReviewed-by: Jiewei Qian \u003cqjw@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1403851}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd60826e6c81d4512194ae473ea10691dd23bc31\n"
    },
    {
      "commit": "28a804b448c0fad1850e1ab70cfe96df788c6c2f",
      "tree": "6adb59c9a801a00651415624adffafc7f4aa3ea2",
      "parents": [
        "bc233d1e4f0128acbc8f9f347ed2fd46e63f5c9d"
      ],
      "author": {
        "name": "Peter Boström",
        "email": "pbos@chromium.org",
        "time": "Mon Dec 16 00:04:47 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Dec 16 00:12:20 2024"
      },
      "message": "Use static_assert to avoid dead-code warnings\n\nInstead of CHECK(sizeof(size_t) \u003d\u003d sizeof(uint32_t)) use a static_assert\nto make sure that size_t is either 32 or 64 bit. This prevents a\ndead-code warning on systems where sizeof(size_t) !\u003d sizeof(uint32_t).\n\nBug: 384277482\nChange-Id: I5390b4861a83182c9bae47fcb0df32b53f488dd6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6091276\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nAuto-Submit: Peter Boström \u003cpbos@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1396528}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0e4f71a310955ce06ab583673b1177be95493ebe\n"
    },
    {
      "commit": "bc233d1e4f0128acbc8f9f347ed2fd46e63f5c9d",
      "tree": "5e1e8130590ab6e7283267aaa68b79d8963b6575",
      "parents": [
        "1cbfea139948ae2a635e4d192599153c5a5f3fac"
      ],
      "author": {
        "name": "Anthony Vallée-Dubois",
        "email": "anthonyvd@google.com",
        "time": "Fri Nov 29 21:33:47 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 29 21:44:31 2024"
      },
      "message": "Expand SQL statements in traces when SQLite tracing is on\n\nsqlite3_expanded_sql returns the prepared statement with values for\nthe bound parameters included. This is useful for debugging, but the\nfunction always returns NULL if SQLite tracing is disabled via\nSQLITE_OMIT_TRACE, which we do set in\nthird_party/sqlite/sqlite_chromium_configuration_flags.gni.\n\nThis CL optionally expands the statements in trace events when\nSQLITE_OMIT_TRACE is false. To control the presence of this define,\nthis CL also adds the `enable_sqlite_tracing` gn arg to create\nlocal debug builds that include expanded statements in their traces.\n\nBug: 40949392\nChange-Id: I79cfc1fc209065948e254df4fe74c85ddfd7bb12\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6033419\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCommit-Queue: Anthony Vallée-Dubois \u003canthonyvd@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1389908}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ceb7a8acc9a35acb8961a8161f99b4c18ba8d70a\n"
    },
    {
      "commit": "1cbfea139948ae2a635e4d192599153c5a5f3fac",
      "tree": "f865f075786ad5f2717022951297657cc24b8b94",
      "parents": [
        "bc0b52be58e39ca2fcfff285cffd0c7ca4823a40"
      ],
      "author": {
        "name": "Greg Thompson",
        "email": "grt@chromium.org",
        "time": "Mon Nov 18 16:32:37 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 18 16:44:04 2024"
      },
      "message": "[sqlite] Reduce max blob size for fuzzers\n\n128MB leads to timeouts, so let\u0027s try 64MB.\n\nFixed: 40069925\nChange-Id: I472ff8c435f2966e3ecb6608f27b67674c9e526e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6030551\nAuto-Submit: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1384377}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 740730c4adc2518031eed49dce5dd561b57aafc6\n"
    },
    {
      "commit": "bc0b52be58e39ca2fcfff285cffd0c7ca4823a40",
      "tree": "23798306c66fdb8ec92f75fba29e23a4fa4410b7",
      "parents": [
        "59ff9b1c99035c6910fe819a347b0e17fcdab60b"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Tue Nov 05 18:24:55 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 05 18:35:56 2024"
      },
      "message": "SQL: Add repro_tool.py for bisecting SQLite repo\n\nAdds the repro_tool.py which tests a SQLite commit by generating\namalgamations, building sqlite_shell, and optionally running some sqlite\ncode.\n\nThis is designed to be run with `git bisect run` to automate the bisect\nprocess.\n\nBug:\nChange-Id: I332e5014c95bcb08dbbb976647f3cf695ddeb2e3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5983263\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1378462}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 47435b12a9e37eea75537e20e42dd2a99b554549\n"
    },
    {
      "commit": "59ff9b1c99035c6910fe819a347b0e17fcdab60b",
      "tree": "cbeec54a406815131a7e1dd2ea79163f7d31d2a5",
      "parents": [
        "dffec59cc6bb887e7c8dd7d49c34879f30e588db"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Fri Nov 01 22:55:56 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 01 23:07:47 2024"
      },
      "message": "SQlite: Update info in README.md\n\nFixes the so file in the script to check \"chrome_\" was prefixed to all\nexported symbols. Removes the section on running web tests since these\nwere removed in d06da9b34203900ade3562d83b13f08c0de35941.\n\nFixed: 376929538\nChange-Id: I50384ad80ca59f20fcefab30f58dcbb5e510772e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5985395\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1377152}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 96624710034af1500b9e38d841a81b1e20899f96\n"
    },
    {
      "commit": "dffec59cc6bb887e7c8dd7d49c34879f30e588db",
      "tree": "8dc325fc3c707066bc97bdc2d76234de95d06e8d",
      "parents": [
        "a5b630abac4e03764e9c93a68cbeae1c4da0669f"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Wed Oct 30 02:49:25 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Oct 30 02:59:14 2024"
      },
      "message": "SQLite: Fix scripts\n\nUpdates generate_amalgamation.py to use the correct header file.\n\nUpdates sqlite_cherry_picker.py to no longer use origin/master which is\nnot a branch anymore. Don\u0027t need to replace it with anything since the\n\"--all\" flag is passed in.\n\nFixed: 375667819\nChange-Id: Icd3ba7e8afb0a1bd30cdaaa3e4604a90725cdda1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5967695\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1375644}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1e94a5205765f9045bc67eb06f7599d494c76542\n"
    },
    {
      "commit": "a5b630abac4e03764e9c93a68cbeae1c4da0669f",
      "tree": "6886801adcb1d2ad0f6cd251c9ecc79ebdfad1e6",
      "parents": [
        "0296cc3f097d8274fa4810eaf1e91f6531dd9aa8"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Thu Aug 08 19:50:20 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 08 20:01:36 2024"
      },
      "message": "Roll src/third_party/sqlite/src/ 9e45bccab..8368e7f47 (411 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/9e45bccab2b8..8368e7f47150\n\n$ git log 9e45bccab..8368e7f47 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2024-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.\n2024-07-23 memmott Amalgamations for release 3.46.0\n2024-05-23  Version 3.46.0\n2024-05-21 Dan Kennedy Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption.\n2024-05-21 Dan Kennedy Do not attempt to run mmapcorrupt.test with builds that do not support mmap().\n2024-05-21  Fix harmless compiler warnings.\n2024-05-21  Fix the -\u003e and -\u003e\u003e 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].\n2024-05-20  Omit a capi3 test from 2007 that depends upon undefined behavior (UAF).\n2024-05-20 Dan Kennedy Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation.\n2024-05-20  Improvements to the sqlite3_vtab_distinct() documentation.\n2024-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.\n2024-05-18 stephan JS error message and doc typos reported in the forum. No code changes.\n2024-05-17  Improvements to a VDBE comment.  No changes to anything that affects queries.\n2024-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.\n2024-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].\n2024-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.\n2024-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.\n2024-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, \u0027\u0027 or X\u0027\u0027 instead of a NULL value.\n2024-05-11 Dan Kennedy Add tests to bestindexC.test. No changes to code.\n2024-05-10 Dan Kennedy Add a test for the fixes on this branch.\n2024-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.\n2024-05-10  Improvements to the \".testctrl fault_install\" command in the CLI.\n2024-05-10  Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine.\n2024-05-10 stephan Squelch two OMIT-flag-related warnings reported in [forum:388243d9882067a9|forum post 388243d9882067a9]. No functional changes.\n2024-05-09 stephan Add a maintenance-reminder comment explaining [dc58ed65492857].\n2024-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].\n2024-05-08 stephan Rename a shadowed local var, as reported in [forum:2ba65af3148585cf|forum post 2ba65af31]. No functional changes.\n2024-05-08  Fix a hyperlink typo in session documentation.\n2024-05-07 Dan Kennedy Fix bug in test script sessionconflict.test.\n2024-05-07 Dan Kennedy Ensure successive scans of pragma virtual tables return consistent rowids.\n2024-05-07 stephan Fix a compilation error in test/lemon-test01.y, reported in [forum:f0ad095705|forum post f0ad095705].\n2024-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.\n2024-05-06  Omit redundant unary + operators from the AST.\n2024-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.\n2024-05-06 Dan Kennedy Edit comments in sqlite3session.h.\n2024-05-06 Dan Kennedy Add tests for sqlite3changegroup_add_change().\n2024-05-06 Dan Kennedy Fix problem in sqlar_uncompress() when being used to extract symbolic links.\n2024-05-05  Add comment to the test/lemon-test01.y file indicating that it does not work and is for historical reference only.\n2024-05-04 Dan Kennedy Add new sessions API sqlite3changegroup_add_change().\n2024-05-04 Dan Kennedy Add test cases to test/in7.test. No code changes.\n2024-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.\n2024-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.\n2024-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].\n2024-05-02 Dan Kennedy Fix a problem with queries that use \"IN(...) ORDER BY ... NULLS LAST\" or similar introduced by [d7648e21605a0b38].\n2024-05-02 Dan Kennedy Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt.\n2024-05-02 Dan Kennedy Fix a case where the recovery extension might write uninitialized data to the recovered database.\n2024-05-02  Add a test case to the fix to PRAGMA integrity_check in the previous check-in.\n2024-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.\n2024-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.\n2024-05-01 Dan Kennedy Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row.\n(...)\n2024-01-26  Bug fixes in the function that expands the parser stack.\n2024-01-26  Experimental changes that prevent parser stack overflows by growing the parser stack with heap memory when it reaches its limit.\n2024-01-24  Add NEVER() to a branch that is no longer reachable.\n2024-01-24 stephan Update ext/wasm/SQLTester for recent internal-API reorgs.\n2024-01-23  Slight adjustment to test results for Windows in mmap1.test due to the previous check-in.\n2024-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.\n2024-01-23  Fix typo in the tag-20240123-a in a comment.\n2024-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.\n2024-01-23 stephan Change the shell\u0027s --help flag to exit with code 0 instead of 1, per /forum and /chat discussions.\n2024-01-23 Dan Kennedy Add extra checks for the validity of a numeric literal to sqlite3DequoteNumber().\n2024-01-22  Simplification of the error reporting logic.\n2024-01-22 Dan Kennedy Fix a problem in the previous commit with hex literals that start with \"0X\" instead of \"0x\".\n2024-01-22 Dan Kennedy Allow underscores to occur in hex literals.\n2024-01-22 Dan Kennedy Add extra tests for the code on this branch.\n2024-01-22  Do not allow digit separators that are not surrounded on both sides by digits.\n2024-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.\n2024-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.\n2024-01-22 Dan Kennedy Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds.\n2024-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.\n2024-01-22  Add a notice to the user-authentication documentation to say that the extension is deprecated and may disappear in the future.\n2024-01-22 Dan Kennedy Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds.\n2024-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?\"]\n2024-01-21  Fix a harmless typo in a comment.\n2024-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.\n2024-01-20  Simplifications to the strftime() logic.\n2024-01-20  Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18].  No changes to SQLite itself.\n2024-01-20 Dan Kennedy Add test cases for the new code on this branch.\n2024-01-20  Make sure that %V and %G are testing for every since day in between 1970-01-01 and 2023-01-19.\n2024-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].\n2024-01-20 Dan Kennedy Allow \"_\" characters to appear following any digit in an integer or real SQL literal.\n2024-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.\n2024-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].\n2024-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.\n2024-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.\n2024-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.\n2024-01-19 Dan Kennedy Allow large hexadecimal literals to be used as DEFAULT values.\n2024-01-18  Increase the version number to 3.46.0 to begin the next development cycle.\n2024-01-18  Add support in the strftime() SQL function for conversion letters %G, %g, %U, and %V.\n2024-01-16  Fix harmless \"unused parameter\" compiler warning in the new fts3IntegrityMethod implementation.\n2024-01-16 Dan Kennedy Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases.\n2024-01-16  Clutter the code with \"fall-through\" comments in order to suppress nuisance compiler warnings.  No logic changes.\n2024-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].\n2024-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.\n2024-01-11 stephan Internal JS doc cleanups.\n2024-01-11 stephan Remove some dead JS code. Minor doc cleanups.\n2024-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.\n2024-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.\n2023-09-03 stephan In mksqlite3c.tcl, pass EXTRA_SRC files through verbatim instead of applying the post-processing needed for sqlite\u0027s own source files.\n2023-09-02 mistachkin Also add support for EXTRA_SRC in the Makefile for MSVC.\n2023-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].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nChange-Id: Ifeb70a90580880c56e5a37f65f21858f4c071642\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5736235\nAuto-Submit: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1339239}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b89352dd1286b58cb261db34a5906d0087b5cc64\n"
    },
    {
      "commit": "0296cc3f097d8274fa4810eaf1e91f6531dd9aa8",
      "tree": "413459f4c9a70abddbe5e50f8fa60cd5b0178da8",
      "parents": [
        "f7b2789879f23f153f1ff9ccb7db5a8a032daf04"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Mon Jul 15 23:23:04 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 15 23:32:45 2024"
      },
      "message": "SQLite: Cleanup corpus generator main\n\nMakes the main function of the sql corpus generator more readable.\n\nBug: 351920329\nChange-Id: Ied83682806f7eb6e7cf32b293d32db94a2a96412\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5690291\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1327865}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 065cd0e405c937be7f4e139cd033adce67dc33e5\n"
    },
    {
      "commit": "f7b2789879f23f153f1ff9ccb7db5a8a032daf04",
      "tree": "9650a8f230547def64174869dd2b3021d4e84e59",
      "parents": [
        "73a806367a0cd811ca189692c4f63f62ee5147c7"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Fri Jul 12 19:24:44 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 12 19:32:33 2024"
      },
      "message": "SQLite: Remove Corpus Generator\u0027s use of new/delete\n\nThe corpus generator \"frees nothing at any point\". This gets rid of all\nits use of new and delete.\n\nBug: 351920329\nChange-Id: Id732ebe52602809119ee7e2445df8df21037663b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5690290\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1326936}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 475a5a9dcaed216b24429d04e826a451ba937254\n"
    },
    {
      "commit": "73a806367a0cd811ca189692c4f63f62ee5147c7",
      "tree": "8c9aa4d17faab6de4ac3566c8613e52c6a179633",
      "parents": [
        "b6ce7719c402cd2ff5c8d31f9152aad284918f76"
      ],
      "author": {
        "name": "Dan McArdle",
        "email": "dmcardle@chromium.org",
        "time": "Mon Jun 03 19:34:09 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 03 19:44:31 2024"
      },
      "message": "sql: IWYU and GN fixes for sql_recovery_lpm_fuzzer\n\nChange-Id: Ifce3d5eb25d356e15c78534788e9d1858cabf787\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5593269\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Dan McArdle \u003cdmcardle@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1309525}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1e63518b79a8cda93509aa511973c8433ed329f7\n"
    },
    {
      "commit": "b6ce7719c402cd2ff5c8d31f9152aad284918f76",
      "tree": "97f4150bc91f800c0556f5c2b597fd7e1acdcd97",
      "parents": [
        "169ef5b7f17fdb312ef7163065537f3c0664f1eb"
      ],
      "author": {
        "name": "Nathan Memmott",
        "email": "memmott@chromium.org",
        "time": "Wed May 29 17:25:13 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 29 17:35:16 2024"
      },
      "message": "sql: Run git cl format on sql_generate_corpus.cc\n\nChange-Id: I835985b7925eb0a67b4e73554c9a3a60d1fc358e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5577871\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1307526}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4e72bfbc84b25bc3d7c0d66c19e0364a542413b8\n"
    },
    {
      "commit": "169ef5b7f17fdb312ef7163065537f3c0664f1eb",
      "tree": "84164d0b76be33f6d29aa001a3cb267a7421667c",
      "parents": [
        "89d52e881232fd9215a3a3ceff82365b1d82e3f3"
      ],
      "author": {
        "name": "Dan McArdle",
        "email": "dmcardle@chromium.org",
        "time": "Thu May 23 20:24:31 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 23 20:33:52 2024"
      },
      "message": "sql: Assorted IWYU fixes\n\nThis CL also adds IWYU annotations to third_party/sqlite/sqlite3.h so\nother files that include it will not see spurious IWYU warnings.\n\nChange-Id: I30cd3f06dd8e9c805dd35a858f666911853325e5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5555205\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Dan McArdle \u003cdmcardle@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1305306}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b52665ca6b90d5465de3c8678dc0111f9c6d10c4\n"
    },
    {
      "commit": "89d52e881232fd9215a3a3ceff82365b1d82e3f3",
      "tree": "1497c0999588fd2b27f7aa5a93f391c1bad702ed",
      "parents": [
        "725b2db213272482eeb9f4214589239dc683c29f"
      ],
      "author": {
        "name": "danakj",
        "email": "danakj@chromium.org",
        "time": "Thu May 09 20:38:44 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 09 20:45:31 2024"
      },
      "message": "Remove use of the pointer version of RandBytes, use span always\n\nThe pointer-based crypto::RandBytes() overload can\u0027t be removed until\nnearby stops using it: https://crrev.com/c/5529443 will do this.\n\nThe pointer-based base::RandBytes() will be removed next.\n\nBug: 40284755\nChange-Id: I72c79e23e120f988b091dd2576de180a1c60d2b7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5514816\nCommit-Queue: danakj \u003cdanakj@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nOwners-Override: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1298850}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 95305d27de8b9314150d6c1637d979809cfbb08c\n"
    },
    {
      "commit": "725b2db213272482eeb9f4214589239dc683c29f",
      "tree": "a3021b02f46af1f89bf628c25834cb1cdd532e52",
      "parents": [
        "0de8ddb83d29e5a892bb7f2f36f361e7a57850a4"
      ],
      "author": {
        "name": "Evan Stade",
        "email": "estade@chromium.org",
        "time": "Tue Mar 26 22:12:16 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 26 22:17:53 2024"
      },
      "message": "Roll src/third_party/sqlite/src/ f51e3fa40..25d86f930 (33 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/f51e3fa404f5..25d86f9308e8\n\n$ git log f51e3fa40..25d86f930 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2024-03-26 estade A formerly impossible case has now become possible because of the new ExprIsConstant enhancements.  So deal with that.\n2024-03-26 estade Amalgamations for release 3.45.2\n2024-03-12  Version 3.45.2\n2024-03-11  Fix the \".import\" command in the CLI so that it works correctly with tables that contain computed columns.\n2024-03-09  Reenable the use of SQLITE_OMIT_VIRTUALTABLE by fixing a misplaced #endif caused by the merge at [c080560c2d0d753c].\n2024-03-09  Fix the rtreeJ.test module to align it with [cd017c28d516399e].\n2024-03-09  Handle an OOM case in fts5 code to query tokendata\u003d1 tables.\n2024-03-09  The NOT NULL strength reduction optimization should be applied to the WHERE clause only.\n2024-03-08  Silently ignore redundant ON CONFLICT clauses in an UPSERT.\n2024-03-06  Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18].  No changes to SQLite itself.\n2024-03-06 mistachkin Fix harmless compiler warning seen with MSVC.\n2024-03-06 mistachkin Fix harmless compiler warnings seen with MSVC.\n2024-03-06 mistachkin Fix a minor test file locking issue on Windows.\n2024-03-06 mistachkin Work around obscure floating point issue seen with older versions of MSVC.\n2024-03-06 mistachkin Fix two -Werror\u003dlto-type-mismatch warnings reported in [forum:ef62b57bd5|forum post ef62b57bd5].\n2024-03-06 mistachkin The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999.  See [forum:/forumpost/6675b25108|forum post 6675b25108].\n2024-03-06 mistachkin Make sure key comprisons are done correctly if the index key contains NaN values that have not been shifted into NULLs. That can only happen due to database corruption, but we need to deal with it nevertheless.\n2024-03-06 mistachkin When inserting a 3-byte cell into a btree, ensure that the extra padding byte is 0x00.  This is not necessary for security, as far as I can tell, but it seems like a reasonable precaution.\n2024-03-06 mistachkin 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].\n2024-03-06 mistachkin 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 post 3776b48e71].  The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7.\n2024-03-06 mistachkin 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].\n2024-03-05 stephan Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in [forum:2eadfe94e3|forum post 2eadfe94e3].\n2024-03-05  The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression.  dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6\n2024-02-17  Fix rounding in zero-precision %f and %g printf conversions.\n2024-02-16  Fix the subtype on the value column from json_each/json_tree for cases when the value is an array or object.\n2024-02-13  Fix a bug in PRAGMA integrity_check introduced by enhancement (8a) in release 3.42.0.\n2024-02-12  Have rtree avoid keeping a blob handle open following an error.\n2024-02-11  Cherrypick multiple fixes for trifling faults from trunk, so that all 834 dbsqlfuzz run clean with ASAN on branch-3.45. dbsqlfuzz.\n2024-02-10 larrybr Further clarify sqlite3_exec() callback parameter lifetime.\n2024-02-08 larrybr Mention limited lifetime of string arrays passed to sqlite3_exec() callback.\n2024-02-07  Detect and respond to an OOM on the jsonStringTerminate() call of jsonReturnStringAsBlob() routine.\n2024-02-06  Return SQLITE_ABORT if the underlying shadow tables change in the middle of an rtree query in such a way as to invalidate an rtree internal priority queue entry. This replaces the SQLITE_ABORT_ROLLBACK mechanism added in [97cffff331b].\n2024-02-03  Following a ROLLBACK that reverts changes to an RTREE, any pending queries against that same RTREE abort with code SQLITE_ABORT_ROLLBACK.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 328481092\nChange-Id: I2006bb852066d09307c8c1451e51eabfd2b85f6c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5398460\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1278637}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a4c810cb534b8efb092222cdbe3307432e70cf25\n"
    },
    {
      "commit": "0de8ddb83d29e5a892bb7f2f36f361e7a57850a4",
      "tree": "cfc798302c26ee9374314a40a724bf61b46fb874",
      "parents": [
        "28d1856d02524003692aae020030f37e4bb378fe"
      ],
      "author": {
        "name": "Evan Stade",
        "email": "estade@chromium.org",
        "time": "Mon Mar 25 19:02:32 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 25 19:13:00 2024"
      },
      "message": "SQLite: tweak protobuf query generator to avoid infinite recursion\n\nThis code is used by fuzzers to generate queries. Make sure CTEs won\u0027t\ninfinitely recurse by setting a hard cap.\n\nSee buganizer issue for more details.\n\nBug: 328281725\nChange-Id: I9da31e9d1535fa01cfbca2a2723620ecb4bd85b9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5388621\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Dan McArdle \u003cdmcardle@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1277820}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 64747c730589b86fca93e6b4a06f97d5b1952301\n"
    },
    {
      "commit": "28d1856d02524003692aae020030f37e4bb378fe",
      "tree": "bd28067a285b517a851a5123afad665a9996b45e",
      "parents": [
        "4b90936379a62d1b96891f71b190698ec451a86a"
      ],
      "author": {
        "name": "Jeff Yoon",
        "email": "jeffyoon@google.com",
        "time": "Mon Feb 12 23:43:24 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 12 23:50:47 2024"
      },
      "message": "[buganizer] Migrate remaining DIR_METADATA in third_party\n\nMigrate all remaining DIR_METADATA in third_party/\n\nVerify components with http://b/components/{id} or at\ngo/chrome-on-buganizer-prod-components.\n\nBug: chromium:1518875\nChange-Id: I4c519e4d2a524dc9248f8cf621b766aa26d62d42\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5287937\nReviewed-by: Rick Byers \u003crbyers@chromium.org\u003e\nCommit-Queue: Jeff Yoon \u003cjeffyoon@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1259542}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fe54bb24e2ce23c2a8b4f4f87cf578862301c7bc\n"
    },
    {
      "commit": "4b90936379a62d1b96891f71b190698ec451a86a",
      "tree": "636a46fbadef636e5e2a6f05016f9e5c8383b392",
      "parents": [
        "60fdccd250fc0508465bbc122c79f631f345bd12"
      ],
      "author": {
        "name": "Dan McArdle",
        "email": "dmcardle@chromium.org",
        "time": "Fri Jan 19 21:21:48 2024"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 19 21:31:17 2024"
      },
      "message": "Add LPM fuzzer for SQL recovery: sql_built_in_recovery_lpm_fuzzer\n\nWe already have sql_built_in_recovery_fuzzer, but anecdotally I never\nsee it reach recovery internals, e.g. Recovery::Init(). I think the main\nissue is that its approach is to treat the fuzzer input as a SQLite\nfile.\n\nI think there are two impediments to sql_built_in_recovery_fuzzer\u0027s\nfuzzing speed and coverage:\n\n(1) The database file must have high fidelity or else it won\u0027t exercise\n    interesting paths in the recovery module.\n\n    The new fuzzer addresses the fidelity issue by bootstrapping the\n    database file with some syntactically-correct, fuzzer-generated SQL\n    statements, then corrupting parts of that file with fuzzer-generated\n    \"mutations\".\n\n(2) It doesn\u0027t even attempt recovery unless Database::Open() saw an\n    egregious-enough error.\n\n    The new fuzzer attempts recovery when *any* error occurs.\n\nRunning sql_built_in_recovery_lpm_fuzzer locally, I see ~20 exec/s,\nwhich is admittedly slower than sql_built_in_recovery_fuzzer, which runs\nat ~50 exec/s. However, I believe it\u0027s covering more code per execution.\nIf I add logging statements to Recovery::Init(), it finds it in just a\nfew seconds.\n\nChange-Id: I49903246ea66f528f76ee2cc912623d12d700d39\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5153917\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Dan McArdle \u003cdmcardle@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1249516}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7097ced3053a4abb01f4e9545494f8d90d460065\n"
    },
    {
      "commit": "60fdccd250fc0508465bbc122c79f631f345bd12",
      "tree": "b9f123bec340922f6cde17730dd033cdfea4df53",
      "parents": [
        "8f7d30dc0c4e39f4ee4334199cfe57751aaa78c2"
      ],
      "author": {
        "name": "Alexander Timin",
        "email": "altimin@chromium.org",
        "time": "Thu Nov 23 16:57:22 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 23 17:03:55 2023"
      },
      "message": "Turn dev_sqlite3 into source_set.\n\nGiven that it\u0027s effectively a test-only component, make it link\nstatically and isolate chromium_sqlite from its impact.\n\nR\u003dasully@chromium.org\n\nChange-Id: Id479ae533be377dbc6ec30a5645f934dd32e718f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5055546\nCommit-Queue: Alexander Timin \u003caltimin@chromium.org\u003e\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1228503}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9900d27efaff48f27cc9b7b0e4172c9390e3d393\n"
    },
    {
      "commit": "8f7d30dc0c4e39f4ee4334199cfe57751aaa78c2",
      "tree": "2e6a3096c3a22746827d857c72fc4ad284494a85",
      "parents": [
        "7fe256a887490dd95fdcb223527bbd6b721da72e"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Mon Nov 13 21:41:36 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 13 21:51:42 2023"
      },
      "message": "Remove asully@ from most Storage OWNERS files\n\nAlso adds some other folks as owners. More files will be updated to\nremove asully@ in follow-up CLs\n\nChange-Id: Iab67fa6a55ed2891e9333a8fb41a659dc2255f8d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5019014\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1223873}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 38ce1a5b3dba2dd1f0dae727de65d4d9fb327efa\n"
    },
    {
      "commit": "7fe256a887490dd95fdcb223527bbd6b721da72e",
      "tree": "436f722f2467c59f9d6e950e507ce545731d30b1",
      "parents": [
        "64d8c112edc04c1a8668afeafe65821226603efb"
      ],
      "author": {
        "name": "Evan Stade",
        "email": "estade@chromium.org",
        "time": "Thu Oct 12 00:13:16 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 12 00:21:37 2023"
      },
      "message": "Roll src/third_party/sqlite/src/ b7e480172..2e9db942a (585 commits)\n\n**Also update the SQLite roll instructions.**\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/b7e480172bb2..2e9db942a540\n\n$ git log b7e480172..2e9db942a --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-10-11 estade Amalgamations for release 3.43.2\n2023-10-10  Version 3.43.2\n2023-10-09  Use snprintf() in place of sprintf() in a debugging function in the CLI.\n2023-10-09  Add a TCL script that does various verification checks on the source tree to make sure that generated code has been updated correctly.\n2023-10-09  Change the TEA version number to 3.43.2 also.\n2023-10-09  Update the version number to 3.43.2.\n2023-10-09  Fix a potential UAF caused by JSON parser cache spill.\n2023-10-07  Fix a resource leak: sqlite3_blob_reopen() was failing to invoke the xDel() distructor on a register when it sets that register to the new rowid.\n2023-10-05  Improved detection of corrupt databases in balance_nonroot(). dbsqlfuzz d1cf013c50a620b68c2a5bd240d29afd65e5f58e.\n2023-09-30 stephan Correct an undefined-value deref in the JS bindings, triggered by passing invalid args and then tripping over an undefined value while trying to report that. Reported in [forum:dd42df144651d779|forum post dd42df144651d779].\n2023-09-15  Do not try to convert a double into an unsigned 64-bit integer, as that does not work on all platforms.  A double can only be converted into a signed 64-bit integer.\n2023-09-12  Fix a use-after-free error in fts5 that could occur when querying the \"rank\" column immediately after another connection changes its definition.\n2023-09-11  Remove a harmlessly unused variable from FTS5.\n2023-09-11  Refuse to build amalgamation-tarball and snapshot-tarball if the TEA version number disagrees with ./VERSION.\n2023-09-11  Fix the TEA version number to be 3.43.1\n2023-09-11  Version 3.43.1\n2023-09-08  Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.\n2023-09-07  Fix a bad assert() in FTS3.\n2023-09-07  Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset.\n2023-09-07  Version number to 3.43.1.\n2023-09-01 stephan In the OPFS VFS\u0027 importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Correct a potentially leaked/unclosed SharedAccessHandle when importDb() throws.\n2023-08-31  Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT.\n2023-08-30  Fix a bug in json_array_length() introduced in version 3.43.0 If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length.\n2023-08-30  Fix the AVG() and TOTAL() functions so that they work with infinitites.\n2023-08-28  Fix an issue with infinity handling by the SUM() function that goes back to the extended-precision SUM() enhancement of check-in c63e26e705f5e967.  Problem reported by forum post 1c06ddcacc86032a.\n2023-08-28 stephan Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in [forum:a874e435cf4690c1|forum post a874e435cf4690c1].\n2023-08-24  Version 3.43.0\n2023-08-24 Dan Kennedy Change a variable name in fts5FlushOneHash() to avoid shadowing another.\n2023-08-23  Fix typo in the Lemon documentation.\n2023-08-23  More changes to documents for GitHub-style markdown.\n2023-08-23  Fix the Markdown in the compile-for-windows.md document so that it works on GitHub.  Improved header text in README.md.\n2023-08-23  Minor adjustments to the wording about pull requests in the README.md file.\n2023-08-23  The pageOnDirtyList() assertion is too slow even for debugging builds, for some corner cases.  It makes the query appear to hang.  So make it an EXPENSIVE_ASSERT instead.\n2023-08-22  Fix a harmless memory leak in the sqldiff utility.\n2023-08-22 Dan Kennedy Add makefile target \"sdevtest\" - like \"mdevtest\" except asan and usan enabled for the non-debug test.\n2023-08-22 Dan Kennedy Update version number in autoconf/tea/configure.ac.\n2023-08-22 Dan Kennedy Update autoconf/Makefile.msc (by running mkmsvcmin.tcl) to support the \"ASAN\u003d1\" option.\n2023-08-21 Dan Kennedy Fix an undefined integer overflow in fts5.\n2023-08-21  ifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH.\n2023-08-21  Fix another UBSAN inaccuracy in fuzzcheck.\n2023-08-21  Address minor inaccuracies in fuzzcheck and RTREE found by UBSAN.\n2023-08-19 stephan shell.c.in help text typo fix. No functional changes.\n2023-08-18  Rename the decimal_sci() function to decimal_exp(). [forum:/forumpost/fa027bb0ab|Forum post fa027bb0ab].\n2023-08-18 Dan Kennedy Avoid running test case sort2.2.3 under address-sanitizer. It runs out of memory on some 32-bit platforms.\n2023-08-18  Enhance the CLI and the fuzzcheck utility programs to report whether they are compiled as 32-bit or 64-bit for things like the --version option.\n2023-08-18  Enhance the notes on compiling for Windows11 to explain how to do 32-bit builds on a 64-bit system.\n2023-08-17  Do not allow bound parameters in the ON CONFLICT clause of an UPSERT. dbsqlfuzz 9983e2c77634a8ccf33b5c91fa9982599de5f9e9\n2023-08-17 Dan Kennedy Fix an error in documentation comments in fts5.h.\n2023-08-17 Dan Kennedy Add extra test to fts5synonym2.test.\n2023-08-17 Dan Kennedy Add \"Windows-Sanitize\" configuration to \"testrunner.tcl release\" tests on windows.\n(...)\n2023-05-31 Dan Kennedy Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list.\n2023-05-30  Simplifications to the new timediff() logic.\n2023-05-30 stephan Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project.\n2023-05-30 stephan Minor internal JS doc fix. No code changes.\n2023-05-30  New test cases for the timediff enhancements.\n2023-05-30  All date/time modifiers of the form (+/-)YYYY-MM-DD without the following HH:MM:SS.SSS.\n2023-05-30  Problems fixed.  All tests are passing now.\n2023-05-30  Improvements to the timediff() function.  Test cases added. Not all test cases are passing.\n2023-05-29  New date/time modifier:  (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?\n2023-05-29  Prototype implementation of a proposed \"timediff(X,Y)\" SQL function.\n2023-05-27  Fix an issue with sqldiff reported by [forum:/info/9bd2155bdfae25a7|forum post 9bd2155bdfae25a7].\n2023-05-27 Dan Kennedy Add extra tests for fts5, large rowids and \"ORDER BY rowid DESC\". No changes to code.\n2023-05-25 stephan Add ability for the JS Worker1.exec() API to report the number of changes made to the caller, per request in [forum:d0b19483642e20dd | forum post d0b19483642e20dd].\n2023-05-23 stephan Minor cleanups in demo JS code, per forum feedback.\n2023-05-23 Dan Kennedy Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].\n2023-05-23  When converting an aggregate expression to AGG_COLUMN, be sure to remove the EP_Unlikely flag if it is present. [forum:/info/fbfe330a2009d036|Forum post fbfe330a2009d036].\n2023-05-23 Dan Kennedy Fix a buffer overread in the recovery extension that might occur on 32-bit platforms.\n2023-05-23 Dan Kennedy Add test cases for the recovery extension. No changes to code.\n2023-05-22 larrybr Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed.\n2023-05-22  When a floating-point RTREE is presented with large integer constraints - integers that are too big to be represented exactly by a float - then take extra steps to ensure that all possibly relevant entries in the RTREE are returned, even in boundary cases.  Fix for the problem identified by [forum:/forumpost/da70ee0d0d|forum post da70ee0d0d].\n2023-05-22 Dan Kennedy Fix a buffer overrun that could occur in fts5 when processing corrupt records.\n2023-05-19 stephan Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions.\n2023-05-19 stephan Minor doc typo fix.\n2023-05-19 stephan oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity\u0027s sake.\n2023-05-19  Improved documentation for sqlite3_reset(), in response to [forum:/forumpost/a72bab3dea|forum post a72bab3dea].\n2023-05-19 stephan sqlite3.oo1.Stmt.reset() now throws if sqlite3_reset() returns non-zero, analog to [f23eb5c6d365].\n2023-05-19 stephan Add a basic INSERT RETURNING test for the oo1.DB.exec() API.\n2023-05-19 stephan sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in [forum:36f7a2e7494897df|forum post 36f7a2e7494897df].\n2023-05-19 stephan Correct typo in an \u0027extern\u0027 decl name, reported in [forum:1d4342156439233b|forum post 1d4342156439233b].\n2023-05-19  Change the RTREE engine so that equality comparisons of floating point values are duplicated in the byte-code so that the comparisons are done using 64-bit floats and consistent results are always obtained. [forum:/forumpost/da61c4a1b5b4af19|Forum post da61c4a1b5b4af19].\n2023-05-18  Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check output introduced in version 3.42.0.\n2023-05-17  Fast-path the btree transaction start for the common case where a transaction is already active.\n2023-05-17  Simplification, performance improvement, and size reduction in the codeAllEqualityTerms() function of the code generator.\n2023-05-17  New assert() statements to verify that Expr.iColumn is never used as an array index when its value is negative.\n2023-05-17  Improved assertions on substExpr().\n2023-05-17 Dan Kennedy Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified.\n2023-05-17  Fix two assert() statements that failed to take into account the likely() built-in function.  This does not impact production code.\n2023-05-16  Increase the version number to 3.43.0 in order to begin the next development cycle.\n2023-05-10 stephan Doc typo fix. No code changes.\n2023-05-10 stephan Resolve the JS-side corner case reported in [forum:7774b773937cbe0a | forum post 7774b773937cbe0a] by not caching oo1.Stmt.columnCount.\n2021-09-11 Dan Kennedy Fix a case where the system error was not being set correctly.\n2021-09-10 Dan Kennedy If an EXCEPTION_IN_PAGE_ERROR exception is caught, make the underlying OS error code available via sqlite3_system_errno().\n2021-08-26 Dan Kennedy Change the structuree exception handler in wal.c to catch EXCEPTION_IN_PAGE_ERROR instead of EXCEPTION_ACCESS_VIOLATION.\n2021-08-21 Dan Kennedy Add test cases to ensure that there is at least one test that causes an exception to be thrown from each SEH_INJECT_FAULT macro.\n2021-08-20  Use VVA_ONLY() instead of TESTONLY() in SEH macros so that the build works for coverage testing.\n2021-08-20 Dan Kennedy Add missing SEH_INJECT_FAULT macros.\n2021-08-20 Dan Kennedy Add some assert() statements and fix small issues with code on this branch.\n2021-08-20 Dan Kennedy Fix a problem on this branch causing checkpoints that do not proceed because they can\u0027t get the CHECKPOINT lock to return incorrect output values.\n2021-08-19  Enable this branch to run both with and without the -DSQLITE_USE_SEH option.\n2021-08-19 Dan Kennedy If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1487031\nChange-Id: I306013b45a753cdd37b359f00e529bc5e13f8f1b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4932179\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1208587}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5803ef54765dcb748d489cba60dea84baf605ff0\n"
    },
    {
      "commit": "64d8c112edc04c1a8668afeafe65821226603efb",
      "tree": "37def65d8a7da7e78672b4b5c53e91b95dbc5887",
      "parents": [
        "1275f52a66ff1ff936dd7bafd3ff3b2b31bba85a"
      ],
      "author": {
        "name": "Adithya Srinivasan",
        "email": "adithyas@chromium.org",
        "time": "Fri Sep 29 15:54:04 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 29 15:58:35 2023"
      },
      "message": "Revert \"sqlite: Upgrade to 3.43.1\"\n\nThis reverts commit 2ac99698fb9bb882747f7120a74af746b9cab3d3.\n\nReason for revert: Causing build failure, see https://ci.chromium.org/ui/p/chromium/builders/ci/Mac%20ASan%2064%20Builder/175961/overview.\n\nOriginal change\u0027s description:\n\u003e sqlite: Upgrade to 3.43.1\n\u003e\n\u003e Roll src/third_party/sqlite/src/ b7e480172..f4a024977 (571 commits)\n\u003e\n\u003e https://chromium.googlesource.com/chromium/deps/sqlite.git/+log/b7e480172bb2..f4a024977f69\n\u003e\n\u003e $ git log b7e480172..f4a024977 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n\u003e 2023-09-28 asully sqlite: Amalgamations for release 3.43.1\n\u003e 2023-09-11  Version 3.43.1\n\u003e 2023-09-08  Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.\n\u003e 2023-09-07  Fix a bad assert() in FTS3.\n\u003e 2023-09-07  Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset.\n\u003e 2023-09-07  Version number to 3.43.1.\n\u003e 2023-09-01 stephan In the OPFS VFS\u0027 importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Correct a potentially leaked/unclosed SharedAccessHandle when importDb() throws.\n\u003e 2023-08-31  Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT.\n\u003e 2023-08-30  Fix a bug in json_array_length() introduced in version 3.43.0 If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length.\n\u003e 2023-08-30  Fix the AVG() and TOTAL() functions so that they work with infinitites.\n\u003e 2023-08-28  Fix an issue with infinity handling by the SUM() function that goes back to the extended-precision SUM() enhancement of check-in c63e26e705f5e967.  Problem reported by forum post 1c06ddcacc86032a.\n\u003e 2023-08-28 stephan Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in [forum:a874e435cf4690c1|forum post a874e435cf4690c1].\n\u003e 2023-08-24  Version 3.43.0\n\u003e 2023-08-24 Dan Kennedy Change a variable name in fts5FlushOneHash() to avoid shadowing another.\n\u003e 2023-08-23  Fix typo in the Lemon documentation.\n\u003e 2023-08-23  More changes to documents for GitHub-style markdown.\n\u003e 2023-08-23  Fix the Markdown in the compile-for-windows.md document so that it works on GitHub.  Improved header text in README.md.\n\u003e 2023-08-23  Minor adjustments to the wording about pull requests in the README.md file.\n\u003e 2023-08-23  The pageOnDirtyList() assertion is too slow even for debugging builds, for some corner cases.  It makes the query appear to hang.  So make it an EXPENSIVE_ASSERT instead.\n\u003e 2023-08-22  Fix a harmless memory leak in the sqldiff utility.\n\u003e 2023-08-22 Dan Kennedy Add makefile target \"sdevtest\" - like \"mdevtest\" except asan and usan enabled for the non-debug test.\n\u003e 2023-08-22 Dan Kennedy Update version number in autoconf/tea/configure.ac.\n\u003e 2023-08-22 Dan Kennedy Update autoconf/Makefile.msc (by running mkmsvcmin.tcl) to support the \"ASAN\u003d1\" option.\n\u003e 2023-08-21 Dan Kennedy Fix an undefined integer overflow in fts5.\n\u003e 2023-08-21  ifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH.\n\u003e 2023-08-21  Fix another UBSAN inaccuracy in fuzzcheck.\n\u003e 2023-08-21  Address minor inaccuracies in fuzzcheck and RTREE found by UBSAN.\n\u003e 2023-08-19 stephan shell.c.in help text typo fix. No functional changes.\n\u003e 2023-08-18  Rename the decimal_sci() function to decimal_exp(). [forum:/forumpost/fa027bb0ab|Forum post fa027bb0ab].\n\u003e 2023-08-18 Dan Kennedy Avoid running test case sort2.2.3 under address-sanitizer. It runs out of memory on some 32-bit platforms.\n\u003e 2023-08-18  Enhance the CLI and the fuzzcheck utility programs to report whether they are compiled as 32-bit or 64-bit for things like the --version option.\n\u003e 2023-08-18  Enhance the notes on compiling for Windows11 to explain how to do 32-bit builds on a 64-bit system.\n\u003e 2023-08-17  Do not allow bound parameters in the ON CONFLICT clause of an UPSERT. dbsqlfuzz 9983e2c77634a8ccf33b5c91fa9982599de5f9e9\n\u003e 2023-08-17 Dan Kennedy Fix an error in documentation comments in fts5.h.\n\u003e 2023-08-17 Dan Kennedy Add extra test to fts5synonym2.test.\n\u003e 2023-08-17 Dan Kennedy Add \"Windows-Sanitize\" configuration to \"testrunner.tcl release\" tests on windows.\n\u003e 2023-08-17 Dan Kennedy Have all test names in json101.test start with \"json101\".\n\u003e 2023-08-17  Enable address sanitizer in Makefile.msc by adding the ASAN\u003d1 argument on the nmake command line.\n\u003e 2023-08-17  Fix a possible UAF in SEH if an exception occurs at an inopportune moment during WAL processing.\n\u003e 2023-08-16  Refinements to instructions on compiling for Windows.\n\u003e 2023-08-16  Improved instructions on how to build SQLite on Windows 11 and similar.\n\u003e 2023-08-16  Make sqlite3_stmt_explain() accessible to loadable extensions.\n\u003e 2023-08-16  Mix the current process ID into the randomness used for generating temporary filenames on Windows.\n\u003e 2023-08-16 Dan Kennedy Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite.\n\u003e 2023-08-16 Dan Kennedy Fix test script problem preventing veryquick.test from running.\n\u003e 2023-08-15 stephan Cherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes.\n\u003e 2023-08-15 stephan Cherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes.\n\u003e 2023-08-15 Dan Kennedy Update testrunner.tcl to make it easier to add things like mdevtest.\n\u003e 2023-08-15  Improve the portability of the src-verify.c tool on Windows.\n\u003e 2023-08-15 Dan Kennedy Fix problems in fts5 test code.\n\u003e (...)\n\u003e 2023-05-31 Dan Kennedy Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list.\n\u003e 2023-05-30  Simplifications to the new timediff() logic.\n\u003e 2023-05-30 stephan Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project.\n\u003e 2023-05-30 stephan Minor internal JS doc fix. No code changes.\n\u003e 2023-05-30  New test cases for the timediff enhancements.\n\u003e 2023-05-30  All date/time modifiers of the form (+/-)YYYY-MM-DD without the following HH:MM:SS.SSS.\n\u003e 2023-05-30  Problems fixed.  All tests are passing now.\n\u003e 2023-05-30  Improvements to the timediff() function.  Test cases added. Not all test cases are passing.\n\u003e 2023-05-29  New date/time modifier:  (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?\n\u003e 2023-05-29  Prototype implementation of a proposed \"timediff(X,Y)\" SQL function.\n\u003e 2023-05-27  Fix an issue with sqldiff reported by [forum:/info/9bd2155bdfae25a7|forum post 9bd2155bdfae25a7].\n\u003e 2023-05-27 Dan Kennedy Add extra tests for fts5, large rowids and \"ORDER BY rowid DESC\". No changes to code.\n\u003e 2023-05-25 stephan Add ability for the JS Worker1.exec() API to report the number of changes made to the caller, per request in [forum:d0b19483642e20dd | forum post d0b19483642e20dd].\n\u003e 2023-05-23 stephan Minor cleanups in demo JS code, per forum feedback.\n\u003e 2023-05-23 Dan Kennedy Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].\n\u003e 2023-05-23  When converting an aggregate expression to AGG_COLUMN, be sure to remove the EP_Unlikely flag if it is present. [forum:/info/fbfe330a2009d036|Forum post fbfe330a2009d036].\n\u003e 2023-05-23 Dan Kennedy Fix a buffer overread in the recovery extension that might occur on 32-bit platforms.\n\u003e 2023-05-23 Dan Kennedy Add test cases for the recovery extension. No changes to code.\n\u003e 2023-05-22 larrybr Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed.\n\u003e 2023-05-22  When a floating-point RTREE is presented with large integer constraints - integers that are too big to be represented exactly by a float - then take extra steps to ensure that all possibly relevant entries in the RTREE are returned, even in boundary cases.  Fix for the problem identified by [forum:/forumpost/da70ee0d0d|forum post da70ee0d0d].\n\u003e 2023-05-22 Dan Kennedy Fix a buffer overrun that could occur in fts5 when processing corrupt records.\n\u003e 2023-05-19 stephan Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions.\n\u003e 2023-05-19 stephan Minor doc typo fix.\n\u003e 2023-05-19 stephan oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity\u0027s sake.\n\u003e 2023-05-19  Improved documentation for sqlite3_reset(), in response to [forum:/forumpost/a72bab3dea|forum post a72bab3dea].\n\u003e 2023-05-19 stephan sqlite3.oo1.Stmt.reset() now throws if sqlite3_reset() returns non-zero, analog to [f23eb5c6d365].\n\u003e 2023-05-19 stephan Add a basic INSERT RETURNING test for the oo1.DB.exec() API.\n\u003e 2023-05-19 stephan sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in [forum:36f7a2e7494897df|forum post 36f7a2e7494897df].\n\u003e 2023-05-19 stephan Correct typo in an \u0027extern\u0027 decl name, reported in [forum:1d4342156439233b|forum post 1d4342156439233b].\n\u003e 2023-05-19  Change the RTREE engine so that equality comparisons of floating point values are duplicated in the byte-code so that the comparisons are done using 64-bit floats and consistent results are always obtained. [forum:/forumpost/da61c4a1b5b4af19|Forum post da61c4a1b5b4af19].\n\u003e 2023-05-18  Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check output introduced in version 3.42.0.\n\u003e 2023-05-17  Fast-path the btree transaction start for the common case where a transaction is already active.\n\u003e 2023-05-17  Simplification, performance improvement, and size reduction in the codeAllEqualityTerms() function of the code generator.\n\u003e 2023-05-17  New assert() statements to verify that Expr.iColumn is never used as an array index when its value is negative.\n\u003e 2023-05-17  Improved assertions on substExpr().\n\u003e 2023-05-17 Dan Kennedy Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified.\n\u003e 2023-05-17  Fix two assert() statements that failed to take into account the likely() built-in function.  This does not impact production code.\n\u003e 2023-05-16  Increase the version number to 3.43.0 in order to begin the next development cycle.\n\u003e 2023-05-10 stephan Doc typo fix. No code changes.\n\u003e 2023-05-10 stephan Resolve the JS-side corner case reported in [forum:7774b773937cbe0a | forum post 7774b773937cbe0a] by not caching oo1.Stmt.columnCount.\n\u003e 2021-09-11 Dan Kennedy Fix a case where the system error was not being set correctly.\n\u003e 2021-09-10 Dan Kennedy If an EXCEPTION_IN_PAGE_ERROR exception is caught, make the underlying OS error code available via sqlite3_system_errno().\n\u003e 2021-08-26 Dan Kennedy Change the structuree exception handler in wal.c to catch EXCEPTION_IN_PAGE_ERROR instead of EXCEPTION_ACCESS_VIOLATION.\n\u003e 2021-08-21 Dan Kennedy Add test cases to ensure that there is at least one test that causes an exception to be thrown from each SEH_INJECT_FAULT macro.\n\u003e 2021-08-20  Use VVA_ONLY() instead of TESTONLY() in SEH macros so that the build works for coverage testing.\n\u003e 2021-08-20 Dan Kennedy Add missing SEH_INJECT_FAULT macros.\n\u003e 2021-08-20 Dan Kennedy Add some assert() statements and fix small issues with code on this branch.\n\u003e 2021-08-20 Dan Kennedy Fix a problem on this branch causing checkpoints that do not proceed because they can\u0027t get the CHECKPOINT lock to return incorrect output values.\n\u003e 2021-08-19  Enable this branch to run both with and without the -DSQLITE_USE_SEH option.\n\u003e 2021-08-19 Dan Kennedy If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason.\n\u003e\n\u003e Created with:\n\u003e   roll-dep src/third_party/sqlite/src\n\u003e\n\u003e Fixed: 1487031\n\u003e Change-Id: I15dee84cb711e9624b377b72f93eb2a8b1904633\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4902626\n\u003e Auto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\n\u003e Reviewed-by: Evan Stade \u003cestade@chromium.org\u003e\n\u003e Commit-Queue: Evan Stade \u003cestade@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1203272}\n\nChange-Id: I664698398c7049b68ea121d5e02cd4e0e558b20b\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4904688\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: Adithya Srinivasan \u003cadithyas@chromium.org\u003e\nOwners-Override: Adithya Srinivasan \u003cadithyas@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1203286}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: aa049b2969b8798fe148a7eb255b24aa7b5d6a82\n"
    },
    {
      "commit": "1275f52a66ff1ff936dd7bafd3ff3b2b31bba85a",
      "tree": "0d2fd47e81577eb8acbda4268c7d85887a771c5c",
      "parents": [
        "71cd95a46946fca97af70b0dcb8671d9565416dd"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Fri Sep 29 15:22:32 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Sep 29 15:31:01 2023"
      },
      "message": "sqlite: Upgrade to 3.43.1\n\nRoll src/third_party/sqlite/src/ b7e480172..f4a024977 (571 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/b7e480172bb2..f4a024977f69\n\n$ git log b7e480172..f4a024977 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-09-28 asully sqlite: Amalgamations for release 3.43.1\n2023-09-11  Version 3.43.1\n2023-09-08  Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.\n2023-09-07  Fix a bad assert() in FTS3.\n2023-09-07  Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset.\n2023-09-07  Version number to 3.43.1.\n2023-09-01 stephan In the OPFS VFS\u0027 importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Correct a potentially leaked/unclosed SharedAccessHandle when importDb() throws.\n2023-08-31  Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT.\n2023-08-30  Fix a bug in json_array_length() introduced in version 3.43.0 If the JSON input comes from json_remove(), the removed array entries are still counted as part of the array length.\n2023-08-30  Fix the AVG() and TOTAL() functions so that they work with infinitites.\n2023-08-28  Fix an issue with infinity handling by the SUM() function that goes back to the extended-precision SUM() enhancement of check-in c63e26e705f5e967.  Problem reported by forum post 1c06ddcacc86032a.\n2023-08-28 stephan Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in [forum:a874e435cf4690c1|forum post a874e435cf4690c1].\n2023-08-24  Version 3.43.0\n2023-08-24 Dan Kennedy Change a variable name in fts5FlushOneHash() to avoid shadowing another.\n2023-08-23  Fix typo in the Lemon documentation.\n2023-08-23  More changes to documents for GitHub-style markdown.\n2023-08-23  Fix the Markdown in the compile-for-windows.md document so that it works on GitHub.  Improved header text in README.md.\n2023-08-23  Minor adjustments to the wording about pull requests in the README.md file.\n2023-08-23  The pageOnDirtyList() assertion is too slow even for debugging builds, for some corner cases.  It makes the query appear to hang.  So make it an EXPENSIVE_ASSERT instead.\n2023-08-22  Fix a harmless memory leak in the sqldiff utility.\n2023-08-22 Dan Kennedy Add makefile target \"sdevtest\" - like \"mdevtest\" except asan and usan enabled for the non-debug test.\n2023-08-22 Dan Kennedy Update version number in autoconf/tea/configure.ac.\n2023-08-22 Dan Kennedy Update autoconf/Makefile.msc (by running mkmsvcmin.tcl) to support the \"ASAN\u003d1\" option.\n2023-08-21 Dan Kennedy Fix an undefined integer overflow in fts5.\n2023-08-21  ifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH.\n2023-08-21  Fix another UBSAN inaccuracy in fuzzcheck.\n2023-08-21  Address minor inaccuracies in fuzzcheck and RTREE found by UBSAN.\n2023-08-19 stephan shell.c.in help text typo fix. No functional changes.\n2023-08-18  Rename the decimal_sci() function to decimal_exp(). [forum:/forumpost/fa027bb0ab|Forum post fa027bb0ab].\n2023-08-18 Dan Kennedy Avoid running test case sort2.2.3 under address-sanitizer. It runs out of memory on some 32-bit platforms.\n2023-08-18  Enhance the CLI and the fuzzcheck utility programs to report whether they are compiled as 32-bit or 64-bit for things like the --version option.\n2023-08-18  Enhance the notes on compiling for Windows11 to explain how to do 32-bit builds on a 64-bit system.\n2023-08-17  Do not allow bound parameters in the ON CONFLICT clause of an UPSERT. dbsqlfuzz 9983e2c77634a8ccf33b5c91fa9982599de5f9e9\n2023-08-17 Dan Kennedy Fix an error in documentation comments in fts5.h.\n2023-08-17 Dan Kennedy Add extra test to fts5synonym2.test.\n2023-08-17 Dan Kennedy Add \"Windows-Sanitize\" configuration to \"testrunner.tcl release\" tests on windows.\n2023-08-17 Dan Kennedy Have all test names in json101.test start with \"json101\".\n2023-08-17  Enable address sanitizer in Makefile.msc by adding the ASAN\u003d1 argument on the nmake command line.\n2023-08-17  Fix a possible UAF in SEH if an exception occurs at an inopportune moment during WAL processing.\n2023-08-16  Refinements to instructions on compiling for Windows.\n2023-08-16  Improved instructions on how to build SQLite on Windows 11 and similar.\n2023-08-16  Make sqlite3_stmt_explain() accessible to loadable extensions.\n2023-08-16  Mix the current process ID into the randomness used for generating temporary filenames on Windows.\n2023-08-16 Dan Kennedy Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite.\n2023-08-16 Dan Kennedy Fix test script problem preventing veryquick.test from running.\n2023-08-15 stephan Cherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes.\n2023-08-15 stephan Cherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes.\n2023-08-15 Dan Kennedy Update testrunner.tcl to make it easier to add things like mdevtest.\n2023-08-15  Improve the portability of the src-verify.c tool on Windows.\n2023-08-15 Dan Kennedy Fix problems in fts5 test code.\n(...)\n2023-05-31 Dan Kennedy Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list.\n2023-05-30  Simplifications to the new timediff() logic.\n2023-05-30 stephan Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project.\n2023-05-30 stephan Minor internal JS doc fix. No code changes.\n2023-05-30  New test cases for the timediff enhancements.\n2023-05-30  All date/time modifiers of the form (+/-)YYYY-MM-DD without the following HH:MM:SS.SSS.\n2023-05-30  Problems fixed.  All tests are passing now.\n2023-05-30  Improvements to the timediff() function.  Test cases added. Not all test cases are passing.\n2023-05-29  New date/time modifier:  (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?\n2023-05-29  Prototype implementation of a proposed \"timediff(X,Y)\" SQL function.\n2023-05-27  Fix an issue with sqldiff reported by [forum:/info/9bd2155bdfae25a7|forum post 9bd2155bdfae25a7].\n2023-05-27 Dan Kennedy Add extra tests for fts5, large rowids and \"ORDER BY rowid DESC\". No changes to code.\n2023-05-25 stephan Add ability for the JS Worker1.exec() API to report the number of changes made to the caller, per request in [forum:d0b19483642e20dd | forum post d0b19483642e20dd].\n2023-05-23 stephan Minor cleanups in demo JS code, per forum feedback.\n2023-05-23 Dan Kennedy Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].\n2023-05-23  When converting an aggregate expression to AGG_COLUMN, be sure to remove the EP_Unlikely flag if it is present. [forum:/info/fbfe330a2009d036|Forum post fbfe330a2009d036].\n2023-05-23 Dan Kennedy Fix a buffer overread in the recovery extension that might occur on 32-bit platforms.\n2023-05-23 Dan Kennedy Add test cases for the recovery extension. No changes to code.\n2023-05-22 larrybr Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed.\n2023-05-22  When a floating-point RTREE is presented with large integer constraints - integers that are too big to be represented exactly by a float - then take extra steps to ensure that all possibly relevant entries in the RTREE are returned, even in boundary cases.  Fix for the problem identified by [forum:/forumpost/da70ee0d0d|forum post da70ee0d0d].\n2023-05-22 Dan Kennedy Fix a buffer overrun that could occur in fts5 when processing corrupt records.\n2023-05-19 stephan Extend detection of the INSERT...RETURNING locking case to the DB.selectValue(s)/selectArray/selectObject() family of functions. Add tests for INSERT/UPDATE...RETURNING with those functions.\n2023-05-19 stephan Minor doc typo fix.\n2023-05-19 stephan oo1.Stmt.finalize() no longer throws, but instead returns the same as the C API. oo1.DB.exec() now triggers the INSERT...RETURNING locking failure as an exception via reset() instead of finalize(). Some code-adjacent internal API renaming for clarity\u0027s sake.\n2023-05-19  Improved documentation for sqlite3_reset(), in response to [forum:/forumpost/a72bab3dea|forum post a72bab3dea].\n2023-05-19 stephan sqlite3.oo1.Stmt.reset() now throws if sqlite3_reset() returns non-zero, analog to [f23eb5c6d365].\n2023-05-19 stephan Add a basic INSERT RETURNING test for the oo1.DB.exec() API.\n2023-05-19 stephan sqlite3.oo1.Stmt.finalize() now throws if sqlite3_finalize() returns non-zero. This is intended to address the INSERT RETURNING case covered in [forum:36f7a2e7494897df|forum post 36f7a2e7494897df].\n2023-05-19 stephan Correct typo in an \u0027extern\u0027 decl name, reported in [forum:1d4342156439233b|forum post 1d4342156439233b].\n2023-05-19  Change the RTREE engine so that equality comparisons of floating point values are duplicated in the byte-code so that the comparisons are done using 64-bit floats and consistent results are always obtained. [forum:/forumpost/da61c4a1b5b4af19|Forum post da61c4a1b5b4af19].\n2023-05-18  Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check output introduced in version 3.42.0.\n2023-05-17  Fast-path the btree transaction start for the common case where a transaction is already active.\n2023-05-17  Simplification, performance improvement, and size reduction in the codeAllEqualityTerms() function of the code generator.\n2023-05-17  New assert() statements to verify that Expr.iColumn is never used as an array index when its value is negative.\n2023-05-17  Improved assertions on substExpr().\n2023-05-17 Dan Kennedy Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified.\n2023-05-17  Fix two assert() statements that failed to take into account the likely() built-in function.  This does not impact production code.\n2023-05-16  Increase the version number to 3.43.0 in order to begin the next development cycle.\n2023-05-10 stephan Doc typo fix. No code changes.\n2023-05-10 stephan Resolve the JS-side corner case reported in [forum:7774b773937cbe0a | forum post 7774b773937cbe0a] by not caching oo1.Stmt.columnCount.\n2021-09-11 Dan Kennedy Fix a case where the system error was not being set correctly.\n2021-09-10 Dan Kennedy If an EXCEPTION_IN_PAGE_ERROR exception is caught, make the underlying OS error code available via sqlite3_system_errno().\n2021-08-26 Dan Kennedy Change the structuree exception handler in wal.c to catch EXCEPTION_IN_PAGE_ERROR instead of EXCEPTION_ACCESS_VIOLATION.\n2021-08-21 Dan Kennedy Add test cases to ensure that there is at least one test that causes an exception to be thrown from each SEH_INJECT_FAULT macro.\n2021-08-20  Use VVA_ONLY() instead of TESTONLY() in SEH macros so that the build works for coverage testing.\n2021-08-20 Dan Kennedy Add missing SEH_INJECT_FAULT macros.\n2021-08-20 Dan Kennedy Add some assert() statements and fix small issues with code on this branch.\n2021-08-20 Dan Kennedy Fix a problem on this branch causing checkpoints that do not proceed because they can\u0027t get the CHECKPOINT lock to return incorrect output values.\n2021-08-19  Enable this branch to run both with and without the -DSQLITE_USE_SEH option.\n2021-08-19 Dan Kennedy If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1487031\nChange-Id: I15dee84cb711e9624b377b72f93eb2a8b1904633\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4902626\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1203272}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2ac99698fb9bb882747f7120a74af746b9cab3d3\n"
    },
    {
      "commit": "71cd95a46946fca97af70b0dcb8671d9565416dd",
      "tree": "37def65d8a7da7e78672b4b5c53e91b95dbc5887",
      "parents": [
        "0786182096c286a5bd45a6a43654d30bf187e509"
      ],
      "author": {
        "name": "mark a. foltz",
        "email": "mfoltz@chromium.org",
        "time": "Wed Sep 06 23:49:03 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 06 23:58:41 2023"
      },
      "message": "[Copyright] Fix copyright headers in Chromium.\n\nThis CL updates copyright headers in /third_party\nto the current format:\n\n// Copyright $year The Chromium Authors\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nGenerated with:\n\n./tools/git/mffr.py -g \"*.cc\" -g \"*.h\" -g \"*.mm\" -g \"*.py\" -g \"*.js\" -g \"*.java\" -g \"*.mojom\" -g \"*.xml\" -g \"*.jinja\" -g \"*.gn\" -g \"*.gni\" -g \"*.star\" -g \"*.icon\" -g \"*.ts\" -g \"*.css\" -g \"*.json\" -g \"*.html\" -g \"*.proto\" -g \"*.idl\" -g \"*.pins\" -g \"*.yml\" -g \"*.sh\" \u0027Chromium Authors\\. All rights reserved\\.\u0027 \u0027Chromium Authors\u0027\n\nAdditional manual fixes were made to files that have extra \"(C)\"\nstrings, or where line breaks were wrong.\n\nThis CL was uploaded by git cl split.\n\nR\u003djam@chromium.org, japhet@chromium.org, kinuko@chromium.org, mheikal@chromium.org, yoavweiss@chromium.org\n\nBug: 1457007\nChange-Id: I3eb48de988e1477d1a9f5b1b658622a2933aa7a7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4824198\nReviewed-by: Kinuko Yasuda \u003ckinuko@chromium.org\u003e\nReviewed-by: Yoav Weiss \u003cyoavweiss@chromium.org\u003e\nReviewed-by: John Abd-El-Malek \u003cjam@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1193327}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f87dfea483986764398c6ffb8419e7820f420e56\n"
    },
    {
      "commit": "0786182096c286a5bd45a6a43654d30bf187e509",
      "tree": "15b689a476e5c42aa57d692740c243a1f082db84",
      "parents": [
        "2dc12fb2a36cad108ea5626fc341cf50e62927bb"
      ],
      "author": {
        "name": "Nico Weber",
        "email": "thakis@chromium.org",
        "time": "Tue Aug 08 14:38:46 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 08 14:46:29 2023"
      },
      "message": "Prepare for unreachable code warnings in fuzzer builds\n\nBug: 1063180\nChange-Id: I844f6f9382057ba43e9f8f9e7a066191ad4a96da\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4755409\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nReviewed-by: Matthew Denton \u003cmpdenton@chromium.org\u003e\nAuto-Submit: Nico Weber \u003cthakis@chromium.org\u003e\nReviewed-by: Chris Bookholt \u003cbookholt@chromium.org\u003e\nReviewed-by: Josh Karlin \u003cjkarlin@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1180899}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3f2742c3b64f58a3ab5324a8f867bfdbea0fa45a\n"
    },
    {
      "commit": "2dc12fb2a36cad108ea5626fc341cf50e62927bb",
      "tree": "5f890f988590e59ad28c191943979a843aa857fa",
      "parents": [
        "20709da665166f7af50d90f54796f60ee57232b0"
      ],
      "author": {
        "name": "Anne Redulla",
        "email": "aredulla@google.com",
        "time": "Fri Jul 07 02:28:47 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 07 02:35:16 2023"
      },
      "message": "[ssci] Add Shipped field to READMEs\n\nThis CL adds the Shipped field and updates the\nLicense File field in Chromium READMEs within the\ndirectory /third_party/sqlite.\n\nSee the LSC doc at go/lsc-chrome-metadata.\n\nThis CL was uploaded by git cl split.\n\nR\u003destade@chromium.org\n\nBug: b:285450740\nChange-Id: Idfc1f6ef496cba36a3b399e605e874d59e4b2d45\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4660630\nCommit-Queue: Anne Redulla \u003caredulla@google.com\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1166918}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2d2ed53ed4c47a8b38eff9654e0e708ba2e4ebf5\n"
    },
    {
      "commit": "20709da665166f7af50d90f54796f60ee57232b0",
      "tree": "fe003b959732ce72386ec0b50c894be66c3fc336",
      "parents": [
        "300a72db9122d23c53e3d68578e555ae3d9fd539"
      ],
      "author": {
        "name": "Tommy Nyquist",
        "email": "nyquist@chromium.org",
        "time": "Sat Jun 24 01:57:57 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Jun 24 02:02:51 2023"
      },
      "message": "Revert \"Update remaining license headers in Chromium.\"\n\nThis reverts commit f2137d9fadb595f013c30e286850b5fe1efebb17.\n\nReason for revert: Fails CacheStorageEagerReadingTest tests that expect blobs to be of a specific size. See https://crbug.com/1457696.\n\nOriginal change\u0027s description:\n\u003e Update remaining license headers in Chromium.\n\u003e\n\u003e These license headers do not conform to the current requirements.\n\u003e\n\u003e Generated with:\n\u003e\n\u003e ./tools/git/mffr.py -g \"*.cc\" -g \"*.h\" -g \"*.mm\" -g \"*.py\" -g \"*.js\" -g \"*.java\" -g \"*.mojom\" -g \"*.xml\" -g \"*.jinja\" -g \"*.gn\" -g \"*.gni\" -g \"*.star\" -g \"*.icon\" -g \"*.ts\" -g \"*.css\" -g \"*.json\" -g \"*.html\" -g \"*.proto\" -g \"*.idl\" -g \"*.pins\" -g \"*.yml\" -g \"*.sh\" \u0027Chromium Authors\\. All rights reserved\\.\u0027 \u0027Chromium Authors\u0027\n\u003e\n\u003e Additional manual fixes were made to files that have extra \"(C)\"\n\u003e strings, or where line breaks were wrong.  See the diffs between\n\u003e patchsets 2 and 3 and 4 and 6.\n\u003e\n\u003e No-Presubmit: True\n\u003e No-Try: True\n\u003e Bug: 1457007\n\u003e Change-Id: I1b0707dbd0696da1eb9aaa44e337508516c11995\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4641371\n\u003e Reviewed-by: Bruce Dawson \u003cbrucedawson@chromium.org\u003e\n\u003e Commit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\n\u003e Owners-Override: Bruce Dawson \u003cbrucedawson@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1161990}\n\nBug: 1457007, 1457696\nChange-Id: I7f9cd8d5a903b251182ca27fdbc66d505baae838\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4642876\nCommit-Queue: Tommy Nyquist \u003cnyquist@chromium.org\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Tommy Nyquist \u003cnyquist@chromium.org\u003e\nAuto-Submit: Tommy Nyquist \u003cnyquist@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1162042}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c4ed13bd93652fd14b2a7a6de222c92137f5ea84\n"
    },
    {
      "commit": "300a72db9122d23c53e3d68578e555ae3d9fd539",
      "tree": "8fc3e977decead9ac037c8533a20c3ac49b7cbb5",
      "parents": [
        "6eacc3fca630d6c26f81cb70501bc386a2e85c7f"
      ],
      "author": {
        "name": "mark a. foltz",
        "email": "mfoltz@chromium.org",
        "time": "Fri Jun 23 22:34:26 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 23 22:40:46 2023"
      },
      "message": "Update remaining license headers in Chromium.\n\nThese license headers do not conform to the current requirements.\n\nGenerated with:\n\n./tools/git/mffr.py -g \"*.cc\" -g \"*.h\" -g \"*.mm\" -g \"*.py\" -g \"*.js\" -g \"*.java\" -g \"*.mojom\" -g \"*.xml\" -g \"*.jinja\" -g \"*.gn\" -g \"*.gni\" -g \"*.star\" -g \"*.icon\" -g \"*.ts\" -g \"*.css\" -g \"*.json\" -g \"*.html\" -g \"*.proto\" -g \"*.idl\" -g \"*.pins\" -g \"*.yml\" -g \"*.sh\" \u0027Chromium Authors\\. All rights reserved\\.\u0027 \u0027Chromium Authors\u0027\n\nAdditional manual fixes were made to files that have extra \"(C)\"\nstrings, or where line breaks were wrong.  See the diffs between\npatchsets 2 and 3 and 4 and 6.\n\nNo-Presubmit: True\nNo-Try: True\nBug: 1457007\nChange-Id: I1b0707dbd0696da1eb9aaa44e337508516c11995\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4641371\nReviewed-by: Bruce Dawson \u003cbrucedawson@chromium.org\u003e\nCommit-Queue: Mark Foltz \u003cmfoltz@chromium.org\u003e\nOwners-Override: Bruce Dawson \u003cbrucedawson@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1161990}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f2137d9fadb595f013c30e286850b5fe1efebb17\n"
    },
    {
      "commit": "6eacc3fca630d6c26f81cb70501bc386a2e85c7f",
      "tree": "fe003b959732ce72386ec0b50c894be66c3fc336",
      "parents": [
        "68e021f489ae60749ce72183dec9285a76c10bb0"
      ],
      "author": {
        "name": "Adrian Taylor",
        "email": "adetaylor@chromium.org",
        "time": "Wed Jun 14 21:30:04 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 14 21:38:29 2023"
      },
      "message": "Disable sqlite dbfuzz2 when code coverage enabled.\n\nThis fuzzer does not link successfully when code coverage is enabled,\nfor unknown reasons. This appears to be due to the lack of a symbol in\nthe underlying sqlite3 component .so, even though it is being linked\nwith -Wl,--whole-archive.\n\nTemporarily disable this fuzzer in code coverage builds to unblock work\non the code coverage dashboard, while we investigate.\n\nBug: 1454880\nChange-Id: If5722c76fdb2fb95b7600f0128ea6abdb54ca925\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4615085\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Adrian Taylor \u003cadetaylor@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1157800}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b05c4949880df27a6976cc96fab8a05837241c3b\n"
    },
    {
      "commit": "68e021f489ae60749ce72183dec9285a76c10bb0",
      "tree": "0ca1a4bb7d3278aa1c5bf8c589c21f39714435c4",
      "parents": [
        "c4ed1b3518772582dc3f7a8ce0ca821f20d4d893"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Jun 02 02:23:49 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 02 02:31:16 2023"
      },
      "message": "PRESUBMIT.py: remove `USE_PYTHON3 \u003d True`\n\npresubmit now uses python3 only.\n\nThis is generated by\n$ rg -l \u0027^USE_PYTHON3 \u003d True\u0027 | \\\n  xargs sed -z -i \"s/\\n*USE_PYTHON3 \u003d True\\n*/\\n\\n/\"\nwith some more modifications.\n\nThis also removes run_on_python2, run_on_python3, and skip_shebang_check\nargs.\n\nBug: 1207012\nChange-Id: I8c842d0a9ac485a27399d704a17b755f58a64db8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4573952\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nOwners-Override: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1152319}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 40def4845583973fe2301dc7829b4ee39c92b617\n"
    },
    {
      "commit": "c4ed1b3518772582dc3f7a8ce0ca821f20d4d893",
      "tree": "be5b8afb9e8dd071096babc3dd8113c228938954",
      "parents": [
        "03d0f8d99b421b145c953b1f8fa6c101a67aba9c"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Wed May 31 06:11:42 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 31 06:16:16 2023"
      },
      "message": "third_party: remove `USE_PYTHON3 \u003d True`\n\npresubmit now uses python3 only.\n\nBug: 1207012\nChange-Id: Ie559ea213451098464dd3a500afb003364cc9559\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4573338\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1151082}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 38deb190d3f4ae1a5e0f9620cdc5a51877dc9372\n"
    },
    {
      "commit": "03d0f8d99b421b145c953b1f8fa6c101a67aba9c",
      "tree": "1bff57240261f83d782cb43d40a212e8ceac65cb",
      "parents": [
        "6bdb26a485f870e0fdda4ee834bf150fbe5fcd5c"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Tue May 23 23:04:38 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 23 23:09:40 2023"
      },
      "message": "sqlite: Upgrade to 3.42.0\n\nFirst release to include https://sqlite.org/src/info/c4d083a3, so no\nneed to cherry-pick that in again... though it includes a couple of\nother cherry-picks. See https://crrev.com/c/4559464\n\nRoll src/third_party/sqlite/src/ f6752b7ed..29bc0dd7a (403 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/f6752b7ed1fe..15f6d881efbc\n\n$ git log f6752b7ed..15f6d881e --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-05-23 asully sql: Cherry-pick in two commits to version 3.42.0\n2023-05-17 asully sqlite: Amalgamations for release 3.42.0\n2023-05-16  Version 3.42.0\n2023-05-16  Update the tool/mkmsvcmin.tcl script so that it prints a one-line message to explain what it has done.\n2023-05-15  Fix a C++-style variable declaration in the generate_series() extension.\n2023-05-15  Increase the stack size available to fuzzcheck to 8MB on Windows.\n2023-05-15 Dan Kennedy Limit the number of nested NOT nodes in an fts5 expression to 256.\n2023-05-15  Add the --wait command-line option to fuzzcheck.\n2023-05-15 larrybr Make generate_series() correct on ones complement ALUs and acceptable to UBSAN.\n2023-05-15  As evidenced by [forum:/forumpost/f3f546025a|forum post f3f546025a], the new RIGHT JOIN related restriction on the push-down optimization implemented by [da3fba18742b6e0b] also needs to apply to the automatic index (a.k.a. hash-join) optimization and to the Bloom filter optimization. Computation of the restriction is now moved into the sqlite3ExprIsSingleTableConstraint() routine.\n2023-05-15  Simplify the interface to constructAutomaticIndex().\n2023-05-13 Dan Kennedy Fix windows-specific problems in test scripts sessionnoop2.test and sessionrowid.test.\n2023-05-13 Dan Kennedy Remove unnecessary call to sqlite3_dbdata_init() from shell.c.\n2023-05-13 Dan Kennedy Add an \"#ifndef SQLITE_HAVE_SQLITE3R\" directive to shell.c.in, to avoid including the recovery code a second time if the shell is being compiled with sqlite3r.c.\n2023-05-13 larrybr Mention that sqlite3_mutex_free() accepts NULL as a no-op.\n2023-05-13 mistachkin Fix compilation issue seen with MSVC.\n2023-05-12  Fix harmless compiler warning caused by [0772ddf56713d013].\n2023-05-12 Dan Kennedy Add multi-threaded test for \"INSERT ... RETURNING ...\" and SQLITE_BUSY errors.\n2023-05-12  Make the regexp extension more robust against OOM errors during compilation of the recognizer engine. [forum:/forumpost/f50aecd5e8|Forum post f50aecd5e8].\n2023-05-12 larrybr Fix unlikely strange result of CLI edit().\n2023-05-12  Ensure the _O_U16TEXT is defined for Windows builds of the CLI. [forum:/forumpost/c80aa942dc6bf2|Forum post c80aa942dc6bf2].\n2023-05-12  Remove a stray CR from end of line in a source file.\n2023-05-12  Fix harmless typos in comments.\n2023-05-12  Ensure that all prepared statements are expired and forced to reprepare whenever the database text encoding changes. [forum:/forumpost/43cbfc4d23|Forum post 43cbfc4d23].\n2023-05-11  Add [/info/cec6a06508239c09e363?ln\u003d5525-5531|restriction (5)] to the omit-noop-join optimization.  Fix for the issue reported by [forum/forumpost/49f2c7f690|forum post 49f2c7f690].\n2023-05-11  Fix a minor typo in a comment.  No code changes.\n2023-05-11 Dan Kennedy Fix the rbu_exclusive_checkpoint\u003d1 option so that it works with a zipvfs database in pass-through mode.\n2023-05-10  Enhance the split-sqlite3c.tcl script so that it uses single-character extensions on subordinate source files, even when the number of subordinates exceeds 9.  This is not yet needed, but might be soon.\n2023-05-10  Fix harmless compiler warnings from the CBMC compiler.\n2023-05-10  Rename sqlite3IsTableConstraint() to sqlite3IsSingleTableConstraint() and improve its header comment, in an attempt to make the code easier to reason about.  No functional changes - should generate identical machine code.\n2023-05-10  Add a missing comma to the documentation for the OP_Jump opcode.  No changes to code.\n2023-05-10  New restriction on the push-down optimization to prevent an ON or USING clause on the left side of a RIGHT JOIN from being pushed down into a subquery that is on the right side of that RIGHT JOIN. [forum:/forumpost/a7d4be7fb6|Forum post a7d4be7fb6]. Also add comments to describe previously undocumented push-down optimization restrictions.\n2023-05-10 larrybr Fix bug in fall-back logic of CLI .clone\n2023-05-08 Dan Kennedy Fix recover1.test so that it works with DEFAULT_AUTOVACUUM builds.\n2023-05-08  Improved error handling when \".open\" fails in the CLI.\n2023-05-08  In editPage(), if an attempt is made to edit an empty 64KB page, then take the slow path through rebuildPage(), in order to maintain strict invariants in the editPage() code. [forum:/forumpost/0f37727c0d|Forum post 0f37727c0d].\n2023-05-08  Ensure that the label for a JSON object really is a string and not an array or object that just happens to end with a string. dbsqfuzz 32f62ed8676d0a153dbe756aeae3202d3670fe50.\n2023-05-08 Dan Kennedy Add tests for recovering data to a lost-and-found table from a utf-16 db. No code changes.\n2023-05-07  It turns out that pagerExclusiveLock() can be called with the lock state already set to RESERVED if the SQLITE_FCNTL_PERSIST_WAL setting is set and a specific sequence of multiple journal mode changes occur. Enhance pagerExclusiveLock() to deal with this. [forum:/forumpost/8130545bc6|Forum post 8130545bc6]\n2023-05-05  Fix a comment in the JSON logic.  No code changes.\n2023-05-05 Dan Kennedy Fix a buffer overrun that could occur when using the format() function to format a very small real value with the \",\" modifier.\n2023-05-05 Dan Kennedy Reduce the maximum depth of nesting in json objects to 1000.\n2023-05-05 Dan Kennedy Do not attempt to run json502.test with SQLITE_OMIT_VIRTUALTABLE builds.\n2023-05-05  Updates to compile-time option usage and especially to the compile-time option test script in tool/omittest.tcl.\n2023-05-05  Fix the pager2-3.1 test case so that it does not run if a required dependence (shared-cache) is omitted from the build.  Fix for [forum:/forumpost/7a028538a7|forum post 7a028538a7].\n2023-05-05 Dan Kennedy Allow virtual tables to prepare writes to shadow tables in defensive mode from with xRelease() callbacks - even if the xRelease() is invoked from within sqlite3_finalize().\n2023-05-05  Improved formatting of comments on SQLITE_CONFIG_xxx defines as those comments are used by documentation.\n2023-05-04  Add support for the comma (,) modifier to %f formats in the format() function.\n2023-05-04  Fix a bug in cursor hints that can cause references to tables that have not been opened.  Cursor hints are intended for use by COMDB2 only and should not appear in production builds, so this should not be a factor for the vast majority of users.\n2023-05-03  Add another assert() to FTS5 to demonstrate that a pointer is never NULL.\n2023-05-03 Dan Kennedy Add an assert() to fts5_config to ensure that a potential OOM is being handled correctly.\n(...)\n2023-03-03  Enhance PRAGMA integrity_check so that it can detect when there are extra bytes at the end of an index record, which might cause OP_IdxRowid to malfunction.  dbsqlfuzz c1aa3986534d5feab8d21f28b3c1712df2ef358ba.  Test case in TH3.\n2023-03-03 Dan Kennedy When it is known when preparing a statement that X cannot be NULL, transform the expression (X IS NULL) to integer value 1 instead of \u0027true\u0027. This is because under some circumstances, \"Y IS TRUE\" may not be equivalent to \"Y IS 1\".\n2023-03-03  Do not use an expression index on a generated column if generated column has the wrong affinity.  dbsqlfuzz 65f5eb57f8859344d5f1f33e08c77ee12960ed83\n2023-03-03 Dan Kennedy Remove unnecessary call to sqlite3_dbdata_init() from shell.c.in.\n2023-03-02  When flattening the right operand of a LEFT JOIN (check-in [41c27bc0ff1d3135]), ensure that the OP_IfNullRow opcode does not NULL-out a subquery result that was computed within OP_Once.  This fixes the problem problem reported by [forum:/forumpost/402f05296d|forum post 402f05296d].\n2023-03-02 stephan Resolve a parallel build timing issue when building sqlite3.c/h from ext/wasm. For the time being, do not add sqlite3_wasm_extra_init.c to fiddle.wasm because it can cause duplicate definitions of extensions which are already built into the shell (a better resolution for this conflict is pending). No longer add sqlite3_wasm_extra_init.c to speedtest1.wasm because it\u0027s useless there.\n2023-03-02 stephan Rename some vars in the ext/wasm makefiles for consistency\u0027s sake.\n2023-03-01  When flattening a view that is the right operand of a LEFT JOIN, using the optimization of check-in [41c27bc0ff1d3135], always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as the TK_COLUMN might be a column from an outer query and hence still need to be NULLed out. This fixes the problem described by [forum:/forumpost/26387ea7ef|forum post 26387ea7ef].\n2023-03-01  Follow-up to [bbaf1f2eb1e1637b]: Make sure subtypes do not cross a subquery boundary even if the function that returned the value with a subtype is buried down inside a larger expression.  This fixes a problem identified by [forum:/forumpost/37dd14a538|forum post 37dd14a538].\n2023-03-01  Do not attempt to apply the count-of-view optimization to a CTE. dbsqlfuzz ef8623915d843b150c159166ee4548c78cc6895a\n2023-02-28  Activate SQLITE_DBCONFIG_STMT_SCANSTATUS in fuzzcheck.\n2023-02-28  Updates to speedtest1.c and the speed-check.sh test script so that they work with the new SQLITE_DBCONFIG_STMT_SCANSTATUS control.\n2023-02-28 Dan Kennedy Change the name of SQLITE_DBCONFIG_STMT_SCANSTATS to SQLITE_DBCONFIG_STMT_SCANSTATUS.\n2023-02-28 Dan Kennedy Add an sqlite3_db_config() option - SQLITE_DBCONFIG_STMT_SCANSTATS - for enabling and disabling the collection of sqlite3_stmt_scanstats() statistics in SQLITE_ENABLE_STMT_SCANSTATUS builds. Collection of statistics is disabled by default.\n2023-02-28  Only use a Bloom filter on an automatic index if one or more of the key columns in the index can take on non-TEXT values.\n2023-02-28  In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length.  This could all be improved.  Fix for the issue reported by [forum:/forumpost/0846211821|forum post 0846211821].\n2023-02-28  When an automatic index creates a Bloom filter, show that in the EXPLAIN QUERY PLAN output.\n2023-02-28  Performance optimization in the varint decoder for the cell parser.\n2023-02-28 Dan Kennedy Improve the error message generated by the recovery extension if it is used with a non-SQLITE_ENABLE_DBPAGE_VTAB build.\n2023-02-27  Minor performance optimization in the computation of an affinity string for an index.\n2023-02-27  Further to [46639f682975dac6], the parameters of a table valued function that is on the left side of a RIGHT JOIN do not need to be in the ON clause.  Add new test cases and tags to associated test cases with the code.\n2023-02-27 stephan Minor doc tweak for the previous commit.\n2023-02-27 stephan Extend wasm build to enable inclusion of client-custom C code, initialized via the SQLITE_EXTRA_INIT mechanism, per discussion in [forum:1e1c04f3ed1bc96b|forum post 1e1c04f3ed1bc96b].\n2023-02-26  When a table-valued function appears as the right table of a RIGHT JOIN, the argument constraints on the table-valued function should be considered part of the ON clause of the RIGHT JOIN.  Fix for the problem reported by [forum:/forumpost/422e635f3beafbf6|forum post 422e635f3beafbf6].  Test cases in TH3.  Possibly related to the enhancement at [501609eddf2a46d5].\n2023-02-26  In the [/info/7c2d3406000dc8ac|omit-unused-subquery-columns optimization], be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out.  dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15.\n2023-02-25  Split out a new variant of cellSizePtr() that applies only to leaf pages, for a small performance increase.\n2023-02-25  Remove an unnecessary and redundant corruption checks in defragmentPage().\n2023-02-25 larrybr Revert (mostly) to earlier CLI response to -echo and SQL at the command line.\n2023-02-25  Performance optimization on sqlite3_vsnprintf().\n2023-02-24  Add the \"on\" option to the \".log\" command in the CLI.  Allow \".log on\" and \".log off\" even in --safe mode.  Enable the .log command for fiddle builds.\n2023-02-24  In the CLI, do not emit warnings about the incorrect usage of sqlite3_config() in Fiddle.\n2023-02-24  Back out the SQLITE_CONFIG_URI option from anytime-config.\n2023-02-24  Adjust testrunner.tcl to make use of the new number_of_cores TCL command available in testfixture, and to use no more than half the available cores.\n2023-02-24  Add the \"number_of_cores\" TCL command to the testfixture.\n2023-02-24  Fix an incorrect optimization that was attempted as part of check-in [18de3a8e6b431a07].\n2023-02-23  Omit unnecessary branches from the enhanced floating-point conversion logic.\n2023-02-23  Increased precision of floating-point to decimal conversions when the floating point value has no fractional part. [forum:/forumpost/d1387c3979c7f557|Forum post d1387c3979c7f557]\n2023-02-23  Fix harmless compiler warnings and a code indentation error.\n2023-02-23  Allow the sqlite3_config() interface to be invoked at any time for a few choosen options:  SQLITE_CONFIG_LOG, SQLITE_CONFIG_URI, and SQLITE_CONFIG_PCACHE_HDRSZ.  This list will likely change before release.\n2023-02-23  Provide -DHAVE_LOG2\u003d0 and -DHAVE_LOG10\u003d0 compile-time options for use on systems that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives.\n2023-02-22  Enable the count-of-view optimization by default. Enhancement request [eaed8e36ce888f1e].\n2023-02-22  Update the version number to 3.42.0 to begin the next development cycle.\n2023-02-22  Remove the push-down optimization restriction that was added by check-in [1ad41840c5e0fa70] because it is no longer needed after the enhancements to compound query processing in check-in [27655c9353620aa5] This resolves the performance regression reported by [forum:/forumpost/bcc4375032|forum post bcc4375032].\n2023-02-21 stephan Remove some unnecessary bind() calls in JS code.\n2023-02-21 stephan Unconditionally disable -sSTRICT_JS flag in wasm build because it no longer works with emsdk 3.1.31+.\n2023-02-16  A few simple test cases for the omit-unused-subquery-column optimization.\n2023-02-16  Provide an optimization-disable mask for this optimization.  Do not do the optimization if the subquery is an aggregate or is distinct, but allow it to be an ephemeral subquery.  Do not omit columns that are used in the ORDER BY of the subquery.\n2023-02-16  Do not perform the omit-unused-subquery-columns optimizations on a subquery that is DISTINCT, as that can lead to incorrect results.\n2023-02-15  Fix the subquery result column NULL-ifier so that it correctly handles subquery columns past the 63rd column.\n2023-02-15  Do not compute result columns of subqueries that are never used.  Make those columns NULL instead.  This optimization potentially resolves the enhancement request described by [/tktview/baa5bb76c35a124c|ticket baa5bb76c35a124c].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1446406, 1447396\nChange-Id: Ib3c320927e6a1974961a3a1e61daa121cb368692\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4545677\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1148241}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c1d3b72336a4fa5198cd02ba373bddde76796a44\n"
    },
    {
      "commit": "6bdb26a485f870e0fdda4ee834bf150fbe5fcd5c",
      "tree": "78958db079d200fab4480cacf1a22b07ba21572d",
      "parents": [
        "fbb629dc4a9d15379df37f93c0f2f7439fe59f88"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Apr 06 18:09:10 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 06 18:16:24 2023"
      },
      "message": "sqlite: Upgrade to 3.41.2\n\nRoll src/third_party/sqlite/src/ 7dd277f31..f6752b7ed (37 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/7dd277f31ccd..f6752b7ed1fe\n\n$ git log 7dd277f31..f6752b7ed --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-04-06 asully sqlite: Cherry-pick fix to allow shell to build recovery... again\n2023-03-24 asully Amalgamations for release 3.41.2\n2023-03-22  Version 3.41.2\n2023-03-22  Increment the version number in the TEA configure script to 3.41.2.\n2023-03-21  Fix a valgrind error and potential buffer overread when handling a corrupt database.\n2023-03-20  Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk.\n2023-03-20  Fix problems with the sqlite3_error_offset() function and its use in the CLI.\n2023-03-19  Increase the size of ref-count values in the pager layer to 64-bits, to avoid any reasonable possiblity of overflowing the counters.\n2023-03-19  Avoid a buffer overread in fts3 that could occur when processing a corrupt record.\n2023-03-17 Dan Kennedy Fix a potential buffer overread in the recovery extension.\n2023-03-17  Ensure that an error does not delete the Table object out from under the xConstruct method of a virtual table. dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d\n2023-03-17  Increase the version number to 3.41.2\n2023-03-17  Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses.\n2023-03-16  Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms are constant and there are more result set terms than ORDER BY terms.\n2023-03-16  Do not use the one-pass optimization on an UPDATE if there is a subquery in the WHERE clause, since if the subquery is hidden behind a short-circuit operator, the subquery might not be evaluated until after one or more rows have been updated.\n2023-03-16  Remove a NEVER() from btreeNext().\n2023-03-16  Fix a broken assert() in the recovery extension.\n2023-03-15  Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery.\n2023-03-14  Fix Bloom filters on an expression index.\n2023-03-11  The cherry-pick merge at [371838562a675c1b] caused a performance regression for some queries, which is here fixed.\n2023-03-10  Version 3.41.1\n2023-03-09  In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length.  This could all be improved.\n2023-03-09 Dan Kennedy Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds.\n2023-03-09  Update the version number to 3.41.1\n2023-03-09  Merge count-of-view optimization fixes from trunk.  But count-of-view is still off by default for this branch.\n2023-03-09  Fix a possible NULL pointer dereference due to the sqlite3_interrupt() enhancement in the 3.41.0 release.\n2023-03-08  Keep the historical datatype (\"INT\", not \"NUM\") for a table created as follows: \"CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;\".  The use of FLEXNUM only occurs on compound queries.\n2023-03-08  Fix an assertion fault added by [65ffee234787213c].\n2023-03-04  Cherry-pick the agg-with-indexed-expr optimization fix from trunk.\n2023-03-03  Do not use an expression index on a generated column if generated column has the wrong affinity.\n2023-03-03  Enhance PRAGMA integrity_check so that it can detect when there are extra bytes at the end of an index record, which might cause OP_IdxRowid to malfunction.\n2023-03-03  When it is known when preparing a statement that X cannot be NULL, transform the expression (X IS NULL) to integer value 1 instead of \u0027true\u0027. This is because under some circumstances, \"Y IS TRUE\" may not be equivalent to \"Y IS 1\".\n2023-03-02  When flattening the right operand of a LEFT JOIN, ensure that the OP_IfNullRow opcode does not NULL-out a subquery result that was computed within OP_Once.\n2023-03-01  When flattening a view that is the right operand of a LEFT JOIN always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as the TK_COLUMN might be a column from an outer query and hence still need to be NULLed out.\n2023-03-01  Make sure subtypes do not cross a subquery boundary even if the function that returned the value with a subtype is buried down inside a larger expression.\n2023-02-26  When a table-valued function appears as the right table of a RIGHT JOIN, the argument constraints on the table-valued function should be considered part of the ON clause of the RIGHT JOIN.\n2023-02-23  Provide -DHAVE_LOG2\u003d0 and -DHAVE_LOG10\u003d0 compile-time options for use on systems that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1426903\nChange-Id: Idc39b0c87be7152582c78f7eb6e53dd2d04b2b48\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4404861\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1127286}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4c1b1f8039c53009cfb9abef8ac003d616fa1a09\n"
    },
    {
      "commit": "fbb629dc4a9d15379df37f93c0f2f7439fe59f88",
      "tree": "f101f7a35029f4e718f900106d432243b49f5f0d",
      "parents": [
        "371ed9197931e7b3e267b0b460060d5abb5fe1bb"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Mon Mar 06 23:13:31 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Mar 06 23:23:37 2023"
      },
      "message": "sqlite: Compile with SQLITE_ENABLE_DBPAGE_VTAB\n\nCompiling with this flag is required to support the new built-in\ncorruption recovery module. This was undocumented until recently,\nbut the documentation now exists here:\nhttps://www.sqlite.org/recovery.html#source_code_files\n\nThe SQLITE_DBPAGE virtual table is a powerful feature that should\nbe enabled with caution. See https://www.sqlite.org/dbpage.html\n\nIts documentation suggests that use of this table \"can very easily\ncause unrecoverable database corruption\" and to \"not allow untrusted\ncomponents to access the SQLITE_DBPAGE table.\"\n\nThis CL therefore disables use of the table in WebSQL and suggests in\nnumerous places that the table is not to be used in Chrome code.\n\nBug: 1385500\nChange-Id: Ida69f4854dcd69449e99b2f50ca6e516a58944f8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4298063\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1113643}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 53e516eb9e2e59f02527edb2944d22391d75c835\n"
    },
    {
      "commit": "371ed9197931e7b3e267b0b460060d5abb5fe1bb",
      "tree": "11ce25185b4d10950a448078c385353439b1e2da",
      "parents": [
        "9728ae56f974f56ca014c99576f1a5526b186266"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed Feb 22 23:00:09 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 22 23:21:54 2023"
      },
      "message": "sqlite: Upgrade to 3.41.0\n\nRoll src/third_party/sqlite/src/ 469aae811..88742a546 (536 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/469aae8118e1..88742a54683b\n\n$ git log 469aae811..88742a546 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-02-22 asully Amalgamations for release 3.41.0\n2023-02-21  Version 3.41.0\n2023-02-21  Disable DQS by default in the MSVC makefile for the amalgamation tarball.\n2023-02-21  Yet another comment typo fix.  No changes to working code.\n2023-02-21  Fix a minor typo in a comment.  No changes to working code.\n2023-02-21  Fix formatting and improved documentation on the various sqlite3_file_control() opcodes.  Other minor documentation changes.  No changes to working code.\n2023-02-20  Update the TEA version number to 3.41.0\n2023-02-20  Fix an incorrect #ifdef in the CLI.\n2023-02-19  Fix a harmless compiler warning.\n2023-02-18  Fix stale requirement marks and fix a typo in the documentation for sqlite3_preupdate_hook().\n2023-02-18  Fix a harmless UBSAN warning in debugging code of the new unhex() function.\n2023-02-17  Fix a harmless typo in the test case added by [29fc06465efb948f].\n2023-02-17  Do not allow the COUNTOFVIEW optimization to run if the count() contains a FILTER clause.  dbsqlfuzz 4f8e0de6e272bbbb3e1b41cb5aea31e0b47297e3\n2023-02-14 Dan Kennedy Update testrunner.tcl to run zipvfs test scripts on unix.\n2023-02-13  Ignore extra parentheses around a subquery on the RHS of an IN operator, because that is what PostgreSQL does.\n2023-02-13  Do not allow WHERE clause terms to match constant string index terms, which can happen if DQS_DDL is enabled.  Follow-up to [44200596aa943963].  dbsqlfuzz 54c9db85ed4af7055f5fd0d50877875c82b11d46.\n2023-02-13 Dan Kennedy Fix compile time option SQLITE_DEFAULT_SYNCHRONOUS so that it works consistently.\n2023-02-13 Dan Kennedy Allow vector-IN expressions like \"(a, b) IN ( (?,?), (?,?) )\" to use an index.\n2023-02-13  In the LIKE optimization, do not analyze the new virtual WHERE clause terms until both have been added, since they are expected to be consecutive and the analysis might add complementary terms. This fixes a problem caused by [44200596aa943963] and discovered by dbsqlfuzz and recorded as case 7e3b5983727d843b910b2d9ab556e4afcd777cfb.\n2023-02-11  Change a variable from 32 to 64-bits to avoid a harmless compiler warning in Xcode.  [forum:/forumpost/402d733c22|Forum post 402d733c22].\n2023-02-10  Do a better job of detecting when a WHERE clause term might be useful to an expression index.  Fix for performance regression reported by [forum:/forumpost/e65800d8cb|forum thread e65800d8cb].\n2023-02-10 Dan Kennedy Fix a problem with the fts5 trigram tokenizer and LIKE or GLOB patterns for which contain runs of 2 or fewer non-wildcard characters that are 3 or more bytes when encoded as utf-8.\n2023-02-10  Ensure that the valueFromFunction() routine does not clear a prior parser error.  dbsqlfuzz 6fa816f20cf5b62260d635d110b88f38e29d8fe1.\n2023-02-10 stephan Minor text-only updates to wasm demo/test HTML and license header.\n2023-02-10 stephan Fix ext/wasm/fiddle build, which was silently broken by recent build refactoring.\n2023-02-09  Disable the double-quoted string misfeature by default in CLI builds. DQS can be reenabled at run-time using the \".dbconfig dqs_dml\" and \".dbconfig dqs_ddl\" dot-commands.\n2023-02-09 stephan Squelch two harmless signedness comparison warnings in shell.c.in.\n2023-02-09  New test cases added to fuzzdata8.db.\n2023-02-09  The \"flexnum\" affinity that was added by [44135d6ea84f7ba6] needs to also be added to the output of the affinity() built-in function. dbsqlfuzz d309eaa5fe492c9606a8be876c2bc7dedb29d3d8\n2023-02-08  Back out the \u0027txn\u0027 enhancement to date/time functions.  The duration of a \"transaction\" is confused and needs to be straightened out prior to moving forward with this change.\n2023-02-08  Always use 64-bit integers for stats associated with STAT1 and STAT4.\n2023-02-08 Dan Kennedy Better fix the problem where optimizing an fts5 table too often causes it to become unreadable (first attempt was [35bed981]).\n2023-02-08 larrybr Cause gcc warning suppression in shell.c to be nice in other project(s).\n2023-02-08 Dan Kennedy Update an assert() in the stat4 code that is only true for a well-formed database.\n2023-02-08  Fix an incorrect assert() in STAT4 logic added just a few days ago on [2023-02-01|/info/55a26c67ed4a3a93].\n2023-02-08  Test cases to show that CURRENT_TIMESTAMP and similar hold the same value across a transaction.\n2023-02-08  Revert the behavior of date/time functions with no arguments so that they once again work like \u0027now\u0027, even while CURRENT_TIMESTAMP and similar work like \u0027txn\u0027.\n2023-02-08  Change the behavior of date-time functions without any arguments (and thus the CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP variables) so that they work like \u0027txn\u0027 instead of like \u0027now\u0027.  This is an incompatibility with legacy, but brings SQLite into conformance with all other SQL systems.\n2023-02-07  Simplify the code and add test cases.\n2023-02-07  Add support for the \u0027txn\u0027 argument to date/time functions that works like \u0027now\u0027 but keeps the same time for the entire transaction.\n2023-02-07 Dan Kennedy Fix a test script problem causing \"make test\" to fail for non-RBU builds.\n2023-02-07  Fix a typo in example documentation code for sqlite3_vtab_in_next().\n2023-02-06 stephan Roll back part of [c54f29d8] which attempted to use symbols which that worker does not have access to.\n2023-02-06 Dan Kennedy Fix RBU test scripts to avoid attempting to copy or delete a locked file.\n2023-02-06  Fix the build after the previous change\n2023-02-06  Remove the long obsolete \"client/server\" mode tests.\n2023-02-06 Dan Kennedy Update test scripts speed1.test and speed1p.test so they may be run by testrunner.tcl.\n2023-02-06  Shorten the status line for testrunner.tcl so that it fits on an 80-character terminal.\n2023-02-06  Fix error in the releasetest makefile target from the previous check-in.\n2023-02-06  Update \"releasetest\" makefile targets to use testrunner.tcl.\n(...)\n2022-11-22  This is the first in what is anticipated to be a long sequence of incremental changes aimed at improving aggregate query processing, and in particular helping aggregate queries take better advantage of indexes on expression. The end goal is to resolve ticket [99378177930f87bd], though it remains to be seen whether or not I can get there with this approach.\n2022-11-22  Convert an ALWAYS() in sqlite3DbSpanDup() into an assert(), for a performance increase and size reduction.\n2022-11-21  Split out the debugging code that dumps an AggInfo object into a separate subroutine called printAggInfo() so that it can be invoked interactively during debugging.  No changes to production code.\n2022-11-21  Change the name of the Parse.pIdxExpr field to pIdxEpr so that the name is distinct from all other identifiers in the code and thus less confusing.\n2022-11-21 stephan OPFS contention test: give each worker a distinct recognizable name instead of a random one.\n2022-11-21  Performance optimization and size reduction in insertCell() by omitting the \"pRC\" argument and instead returning the result code as an integer.\n2022-11-21  Performance optimization to sqlite3BtreeInsert().\n2022-11-21  Small performance improvement in sqlite3BtreeTransferRow().\n2022-11-21 stephan Add new JS tests dir to those pushed to the test server.\n2022-11-21 stephan More tweaking of OPFS concurrency measures and the related test app.\n2022-11-21 stephan Resolve missing SQLITE_LOCKED result code which triggered a new (since last checkin) exception in the OPFS VFS. Improve output of the OPFS contention tester app.\n2022-11-21 stephan Add test app for experimenting with multi-worker OPFS concurrency. Tweak OPFS VFS to significantly improve the otherwise \"unfortunate\" concurrency situation.\n2022-11-21 larrybr Get clean builds for MS tools. Add build examples for extension glommer (basexx.c) Make sure extensions build for dynamic load and built into shell.\n2022-11-21 larrybr Fix a base64 decode bug. Provide for convenient inclusion of extension(s) built into the CLI, to simplify testing and for its own sake. Improve comments. Cure collision between base64.c and base85.c when both are in the same translation unit.\n2022-11-20 stephan Remove check for WASM_WASI macro when detecting wasi compilation mode, as that macro is project-specific. Rely only on __wasi__ (exposed by clang) to detect wasi compilation mode.\n2022-11-20 stephan js dist: account for a file rename in the previous checkin.\n2022-11-20 stephan Further minor cleanups in the JS build related to vanilla vs ESM.\n2022-11-20 stephan Remove an obsolete reference to WASMFS from ext/wasm/index.html.\n2022-11-20 stephan Generic cleanups and doc additions in the wasm build files.\n2022-11-20 stephan Add \u0027snapshot\u0027 target to create distinctly-named snapshot builds of the wasm deliverables zip file.\n2022-11-20 stephan Minor cleanups in the ESM-related preprocessor filtering.\n2022-11-19  New assert()s confirm that BTREE_PREFORMAT must be the same value as OPFLAG_PREFORMAT.\n2022-11-19  Performance optimization in sqlite3BtreeInsert().\n2022-11-19  Performance improvement and size reduction in balance_nonroot().\n2022-11-19  Small performance improvement and size reduction in btree.\n2022-11-19 stephan Get tester1.js working via an ES6 worker module and add that variant to the dist zipfile.\n2022-11-19 stephan Elide a wasi-incompatible shell.c block in SQLITE_WASI builds.\n2022-11-19  Improved comments on the pageFreeArray() routine of btree.c.  No changes to code.\n2022-11-19  Streamline the decodeFlags() routine in btree.c for a small performance increase.\n2022-11-19 stephan Default to SQLITE_THREADSAFE\u003d0 and SQLITE_OMIT_LOAD_EXTENSION for wasi builds.\n2022-11-19 stephan Account for lack of mmap(), getpid(), and shared memory APIs in wasi.\n2022-11-19 stephan Preliminary patches to get sqlite3.c building as-is in WASI environments.\n2022-11-19 stephan Add build of sqlite3.mjs (ES6 module), add a test app for it, and include it in the dist build.\n2022-11-19 stephan More work towards creation of a ES6 JS module.\n2022-11-19 larrybr New extensions for base85 and base64 conversion UDFs\n2022-11-19 larrybr Create new branch named \"base_convert\"\n2022-11-19  Small performance optimization in btree.c.\n2022-11-19  Databases created using sqlite3_deserialize() should report their filename as an empty string, not as \"x\".  Fix for ticket [53043c9793715f08].\n2022-11-18  Update the version number to 3.41.0 to begin the next development cycle.\n2022-11-18 stephan Replace use of cpp with the fit-to-purpose c-pp to avoid cpp\u0027s C-centric/JS-unfriendly quirks.\n2022-11-17  Fix corner cases in UTF8 handling in the REGEXP extension. [forum:/forumpost/3ffe058b04|Forum post 3ffe058b04].\n2022-11-17  Use the log10() and log2() functions from the standard C library to implement the equivalent SQL functions, in the hope that this will prevent reported precision problems. See [forum:/forumpost/cfceb1230bdcfd84|forum post cfceb1230bdcfd84] and the surrounding thread.\n2022-11-17  Split out the documentation for sqlite3_value_encoding() into its own page and make it clear that this interface is intended for testing and debugging only. [forum:/forumpost/c9f445453da950ad|Forum thread c9f445453da950ad]. Comment changes only - no changes to code.\n2022-11-17  Raise an error if an attempt is made to compile the CLI with the SQLITE_OMIT_COMPLETE option, since sqlite3_complete() really is necessary for the CLI to operate sanely.\n2022-11-16 stephan Change a self.X JS reference to X to account for a symbol resolution discrepancy between vanilla JS and ES6 modules, as explained in [forum:801d8f77e5115141|forum post 801d8f77e5115141].\n2022-11-16 stephan wasm build: include FTS5 instead of FTS4, per /chat and HN discussions.\n2022-11-16  Fix harmless typo in comment, reported by Debian in Fossil [https://fossil-scm.org/forum/forumpost/15f7327318].\n2022-11-10 Dan Kennedy Avoid returning SQLITE_SCHEMA if the first query run on a connection is \"SELECT nosuchcolumn\" or similar. Forum post \u003chttps://sqlite.org/forum/forumpost/c1798f77ef\u003e.\n2022-11-06 stephan shell.c.in: on non-Windows platforms, check for $XDG_CONFIG_HOME/sqlite3/sqliterc before ~/.sqliterc, per request in [forum:7a16582b1e403c81|forum post 7a16582b1e403c81].\n2022-11-03 stephan Experimentally use clang\u0027s C preprocessor to filter #ifdef\u0027s out of the generated sqlite3-api.js, the goal being to see if we can feasibly use cpp to include ES6 module-specific code in the main code base and conditionally filter it out.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1418203\nChange-Id: I2c8cea2b76eba316a0b5db9c6c2348fe9e5008c7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4284338\nReviewed-by: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCommit-Queue: Nathan Memmott \u003cmemmott@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1108637}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bf33a39373d178f7ecc136c5495120c6cc1493a3\n"
    },
    {
      "commit": "9728ae56f974f56ca014c99576f1a5526b186266",
      "tree": "a13d188b50e3e42ec4241d7508c2778ceb4b7d0f",
      "parents": [
        "6cd46c7c912a544aeb499ee6592bccc6c7a2812c"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed Feb 22 21:38:08 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Feb 22 21:44:06 2023"
      },
      "message": "SQL: Compile SQLite with the built-in corruption recovery module\n\nSee https://www.sqlite.org/recovery.html\n\nThese build flags will be used to generate amalgamations for the next\nrelease: https://crrev.com/c/4279142\n\nBug: 1385500, 1418203\nChange-Id: I97326c290771c42658eb35435931c9d61f2ac68f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4278567\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Nathan Memmott \u003cmemmott@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1108580}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8e3853c50eea524d4c5bb5bebf9b5d413f1234cb\n"
    },
    {
      "commit": "6cd46c7c912a544aeb499ee6592bccc6c7a2812c",
      "tree": "ea6478d6b55b7cca6fb46191fbf0f02567b3ff24",
      "parents": [
        "417c2f2861f48a8d4363087699a9f237f82c3574"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Fri Jan 13 17:07:49 2023"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jan 13 17:16:11 2023"
      },
      "message": "sqlite: Upgrade to 3.40.1\n\nRoll src/third_party/sqlite/src/ a527890e5..469aae811 (22 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/a527890e56f1..469aae8118e1\n\n$ git log a527890e5..469aae811 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2023-01-03 asully Amalgamations for release 3.40.1\n2022-12-28  Version 3.40.1\n2022-12-27 Dan Kennedy Fix a broken assert() in fts5.\n2022-12-27 Dan Kennedy Fix a faulty assert() in fts5.\n2022-12-27 Dan Kennedy Fix an assert() in fts5. Simplify memdb xLock/xUnlock some.\n2022-12-27  Fix a missing 0 at the end of an integer literal in the MEMSYS5 fix.\n2022-12-27 Dan Kennedy Fix minor problems in test scripts where.test and recover1.test.\n2022-12-26  Fix an unsafe use of sqlite3_mprintf() in sqlite3_overload_function() identified by forum post: [https://sqlite.org/forum/forumpost/95b338860d].\n2022-12-26  Prevent the sessions rebaser from generating changesets containing UPDATE records for which non-PK fields are present in the old.* but not the new.* record. Also update the changeset iterator to work around such changesets.\n2022-12-26  In the unix backend, when implementing the defenses against small file descriptors, delete a file just created if it was opened with O_EXCL|O_CREAT so that it can be created again the next time through the loop.  Fix for the problem described by [forum:/forumpost/699af709ab3a8ccf|forum post 699af709ab3a8ccf].\n2022-12-26  Fix an over-zealous assert() reported by Yong Heng.\n2022-12-26  Ensure the RETURNING clause is honoured when a row of a temp table is updated by an ON CONFLICT clause.\n2022-12-26  Add the SQLITE_FCNTL_RESET_CACHE verb. Use it to ensure that the page cache is purged before and after a the recovery extension is run.\n2022-12-26  Fix corner cases in UTF8 handling in the REGEXP extension. [forum:/forumpost/3ffe058b04|Forum post 3ffe058b04].\n2022-12-26  Fix a off-by-one error in code generation that comes up when doing a DISTINCT query against a virtual table with an OR term in the WHERE clause and where the ORDER BY clause has 64 or more references to the result set.  [forum:/forumpost/dfe8084751|Forum post dfe8084751]. The error is harmless in production builds, but might cause an assertion fault in a debugging build.\n2022-12-26  Fix safe mode authorizer callback to reject disallowed UDFs. Reported at [forum:/forumpost/07beac8056151b2f|Forum post 07beac8056151b2f].\n2022-12-26  Fix an infinite loop in the MEMSYS5 auxiliary memory allocator that occurs for memory allocations between 1GiB and 2GiB in size.  Error introduced by check-in [949133231f8f751a].  The problem only affects builds that include the SQLITE_ENABLE_MEMSYS5 compile-time option.\n2022-12-05  Fix a problem in the memdb vfs xLock() function allowing clients to upgrade to EXCLUSIVE locks when other connections are holding SHARED.\n2022-12-05  Regenerate the configure script so that it includes the correct patch number.\n2022-11-22  Fix the error message in the CLI for \"no such VFS\". [forum:/info/1217fdd6b3|Forum post 1217fdd6b3].\n2022-11-22  Bump the version number to 3.40.1.\n2022-11-22  Fix last function pointer in sqlite3Apis init. Reported at [forum:/info/eba0faa96d|forum post eba0faa96d].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1404148\nChange-Id: I80f725b7f503ae80d24178e38f391d5e3a568125\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4129895\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1092467}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b20af4d059bc807642e231af5728179ad34d3f72\n"
    },
    {
      "commit": "417c2f2861f48a8d4363087699a9f237f82c3574",
      "tree": "729af08207d1711c9f5a4da3a2a923b0a228176c",
      "parents": [
        "2885fd1d5f72b9d27145ca289fe4fc2a273f9bb7"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Fri Nov 18 20:09:13 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 18 20:15:35 2022"
      },
      "message": "Roll src/third_party/sqlite/src/ b48b7b78f..a527890e5 (652 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/b48b7b78fcdf..a527890e56f1\n\n$ git log b48b7b78f..a527890e5 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-11-17 asully Amalgamations for release 3.40.0\n2022-11-16  Version 3.40.0\n2022-11-14  Previous change to the fake_big_file command in the test harness was not correct.  This one should fix the problem.\n2022-11-14  Change the fake_big_file test command so that it fails for files larger than 2MB on Windows, as we have observed that Window10 will sometimes bluescreen when operating on very large sparse files.\n2022-11-14 Dan Kennedy Avoid running bigsort.test with SQLITE_DEBUG builds. The assert() statements added in [7c96a56] make it too slow.\n2022-11-13 stephan Remove some outdated code comments. No code changes.\n2022-11-12  Disable the ability to change the schema_version cookie when SQLITE_DBCONFIG_DEFENSIVE mode is enabled.  This is a security enhancement inspired by the question in [forum:/forumpost/2b9cc3dae1f1e5f6|forum post 2b9cc3dae1f1e5f6].\n2022-11-10  Remove unnecessary tabs in the ChaCha20 implementation. [forum:/forumpost/0cdce5db8c|Forum post 0cdce5db8c].\n2022-11-10 stephan Rework automatically acquired OPFS locks to be released during idle time. This eliminates the performance hit reported in [46304ba057707c].\n2022-11-10 stephan OPFS: if an op which needs a lock is called when no lock has been obtained, automatically lock it at the start of the op and unlock it at the end of that op. This is an attempt to alleviate the cross-tab contention described in [forum post 58a377083cd24a|forum:58a377083cd24a] but it increases speedtest1 run time by approximately 4x. Perhaps auto-lock can be combined with the older idle-time-based auto-unlock to unlock such locks (but not those from xLock()) to improve this?\n2022-11-09 Dan Kennedy Better handle an error in the fts5 integrity-check code. dbsqlfuzz e87c62f9b67ea21aebdc36ab71cab7cc3eda8dc3.\n2022-11-09  Additional defense against corrupt database files in dbdata.c.\n2022-11-09  Increase the precision of the nData parameter to the dbdataValue() routine inside the sqlite_dbdata virtual table, to avoid the possibility of integer overflow.\n2022-11-08 Dan Kennedy Fix a problem with URI formatting in calls to sqlite3rbu_vacuum(zDb, NULL) causing problems on win32. First reported here \u003chttps://sqlite.org/forum/forumpost/a7ae915a9d\u003e.\n2022-11-08 Dan Kennedy Do not attempt to run test script dbpagefault.test with SQLITE_OMIT_VIRTUALTABLE builds.\n2022-11-08 Dan Kennedy Fix a problem in main.mk preventing the amalgamation-testfixture target from building.\n2022-11-07  Further improvements to the handling of the u32 and u16 typedefs in the shell.c source file.\n2022-11-07  Improve the ability of mkshellc.tcl to remove redundant typedefs from the generated shell.c code.  This is needed to get shell.c to build on older C compilers.\n2022-11-07 Dan Kennedy Add the sqlite3rbu_rename_handler() API. To override the default routine that RBU uses to rename files.\n2022-11-07 stephan Minor doc updates in speed-check.sh. No code changes.\n2022-11-07  Fix an obsolete comment.\n2022-11-07  Fix typo in comment.\n2022-11-07 stephan Add sqlite3.wasm.alloc.impl() as a \"public back door\" into the low-level non-throwing allocator. Correct sqlite3.WasmAllocError constructor to behave like its usages expect it to and add tests for that.\n2022-11-07  Fix requirements marks so that they match documentation corrections.\n2022-11-07 stephan Minor wasm doc touchups. No code changes.\n2022-11-07  Fix the documentation regarding negative length parameters for sqlite3_result_text() interfaces, to point out that the length parameter to sqlite3_result_text64() cannot be negative. [forum:/forumpost/cf1d043b07|Forum post cf1d043b07]. Comment/documentation change only.\n2022-11-07  Make sure that the recoverStrlen() function (used internally by the new recovery extension) is 64-bit safe.\n2022-11-06  The recoverAssertMutexHeld() function is for testing and verification only and should be a harmless no-op for production builds. [forum/forumpost/b4f2c7d402|Forum post b4f2c7d402].\n2022-11-05 Dan Kennedy Update test file dbpagefault.test to account for the restriction on using SQLITE_VTAB_DIRECTONLY virtual tables from within triggers.\n2022-11-04 Dan Kennedy Tweaks to recover module test scripts to work with various permutations.\n2022-11-04 Dan Kennedy Another test case fix for auto-vacuum builds.\n2022-11-04 Dan Kennedy Fixes to recover module test scripts so that they may be used with SQLITE_DEFAULT_AUTOVACUUM and SQLITE_SECURE_DELETE builds.\n2022-11-04 Dan Kennedy Fix Tcl tests so that they again build and run with SQLITE_OMIT_VIRTUALTABLE defined.\n2022-11-04  Remove an unimportant testcase() macro that is no longer reachable due to the improvement in corruption detection.\n2022-11-04 Dan Kennedy Add another test case for the OP_Found fix.\n2022-11-04  Enhance the ability of the OP_Found and similar opcodes to detect truncated index records and report SQLITE_CORRUPT. dbsqlfuzz 2b12f90aeff8e081706c7e9b58834f04869f446c.  Test cases in TH3.\n2022-11-04 stephan Correct sqlite3-wasm.c\u0027s SQLITE_DEFAULT_CACHE_SIZE (it\u0027s measured in kb, not bytes).\n2022-11-03 stephan Add experimental esm target to ext/wasm/GNUmakefile to tell emcc to generate sqlite3.mjs (ES6 module) instead of sqlite3.js. Related to discussion at [forum:ed4596cf8496a39b].\n2022-11-03 stephan Globally replace \u0027\u0027 with \"\" for empty JS strings to please C preprocessor.\n2022-11-02 stephan Minor build cleanups and fix a harmless race condition in the OPFS part of tester1.js.\n2022-11-02  Clarify documentation regarding the --recovery-db option to \".recover\" and the magic 789 configuration option it is associated with.\n2022-11-02  Minor improvements to API documentation in comments for the recovery extension.\n2022-11-02 stephan Add sqlite3_wasm_vfs_create_file() to replace Emscripten\u0027s FS.createDataFile() in a (mostly) VFS-agnostic way. Add a test for worker1\u0027s export (to bytearray) support. Re-add worker1 open-from-bytearray using sqlite3_wasm_vfs_create_file() but it\u0027s untested (requires a new interactive test app or maybe reconsideration).\n2022-11-02  Emcc seems confused by SQLITE_DEBUG, for reasons unknown.  Use NDEBUG instead to simplify the #ifdef logic in sqlite3recover.c.\n2022-11-02 stephan Fix a symbol name typo which broke and exception-handling case in OPFS xOpen().\n2022-11-02 stephan Fix a missing symbol in non-SQLITE_DEBUG builds.\n2022-11-01  Fix a harmless compiler warning.\n2022-11-01  Fix harmless compiler warnings.\n2022-11-01 Dan Kennedy Instead of (const char*), use a special type - sqlite3_filename - as the filename argument passed to VFS method xOpen().\n2022-11-01 mistachkin Fix compilation errors in the recover API seen with MSVC.\n(...)\n2022-07-11  Back out the optimization at [1a8c2e54375ee2cf7] because there are some cases where it does not work.\n2022-07-11  Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on a nested parse.  Fix for the problem identified by [forum/forumpost/d5a82ba9eedee30c | forum post d5a82ba9eedee30c]. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse.\n2022-07-11 Dan Kennedy Fix a problem in fts3 to do with deferred tokens and OR expressions.\n2022-07-10  When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29\n2022-07-08  Performance optimizations in the WHERE clause processing of the query planner.\n2022-07-08  Omit an unnecessary structure initialization in whereLoopAddAll(), replacing it with an assert() to show that the initialization has already occurred, for a small performance increase and size reduction.\n2022-07-08  Size reduction and performance optimization in whereLoopAddBtreeIndex().\n2022-07-08  In wherePathSolver(), defer initializing variables until they are actually needed, in case they are not needed.  This gives a small performance increase.\n2022-07-08 Dan Kennedy Fix typo in autoconf/tea/win/makefile.vc.\n2022-07-08  Remove an obsolete statement from a comment.  No changes to code.\n2022-07-08 Dan Kennedy Update options in the TEA package msvc makefile to match other builds.\n2022-07-08 Dan Kennedy Update the build options used for the TEA package to match those used to build the binaries at download.html.\n2022-07-07  Very small size reduction and performance increase in btree.c.\n2022-07-07  Size reduction and performance increase in defragementPage() of btree.c.\n2022-07-07 Dan Kennedy Upgrade the TEA build system in autoconf/tea/. To match tclconfig commit 20fe9e6f59 and Tcl Sample Extension be47fb0446.\n2022-07-07  Size reduction and performance increase in the pageFindSlot() routine of btree.c.\n2022-07-07  Size reduction and performance increase in the freeSpace() routine of btree.c.\n2022-07-06 mistachkin Fix harmless compiler warnings seen with MSVC.\n2022-07-06 Dan Kennedy Avoid ignoring the last line of a csv file if the final field is empty and there is no trailing CFLS. Also have the csv extension treat the last line of a file in the same way as any other line if it is short fields.\n2022-07-06 Dan Kennedy Avoid dropping error codes in the xBegin() method of virtual table sqlite_dbpage.\n2022-07-05 Dan Kennedy Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined.\n2022-07-05 Dan Kennedy Fix a problem in the csv extension that was triggered when the very first field in the csv file is zero bytes in size.\n2022-07-05  Fix an assert() in btree to be more precise, as the previous form of that asser might fail due to recent performance optimizations.\n2022-07-04  Size reduction and performance optimization in sqlite3WalFindFrame().\n2022-07-04  In the getNormalPage() routine of pager.c, consolidate pgno error checking into a single spot for small size reduction and performance increase.\n2022-07-03  Enhance the REGEXP extension so that the end-of-input indicate (\"$\") is allowed to occur on one branch of an OR (\"|\"). [forum:/forumpost/0107d5d40dd273e2|Forum post 0107d5d40dd273e2], second issue.\n2022-07-03  Fix the initial-prefix optimization for the REGEXP extension such that it works even if the prefix contains characters that require a 3-byte UTF8 encoding.  This should fix the problem reported by [forum:/forumpost/96692f8ba5|forum post 96692f8ba5].\n2022-07-03  Improved comment on sqlite3VdbeSwap().  No changes to code.\n2022-07-03  Remove debugging code that has always been commented out.  Cosmetic change.\n2022-07-01 Dan Kennedy Do not attempt the OP_Count optimization on queries with HAVING clauses.\n2022-07-01  Performance improvement in resolveP2Values().  Save over 1 million CPU cycles by omitting the loop termination condition and exiting when the OP_Init (always the first opcode in any VDBE program) is encountered.\n2022-06-30  Small performance improvement to sqlite3_finalize().\n2022-06-30 Dan Kennedy Add missing \"finish_test\" command to the end of test script merge1.test.\n2022-06-29 Dan Kennedy Have the sqlite_stmt table buffer all data for the current scan within the xFilter method.\n2022-06-27  Fix a missing dependency for json.lo in Makefile.in\n2022-06-25 stephan wasm: corrected the isInt32() check to account for negative values.\n2022-06-25  Put an ALWAYS() on an unreachable branch.\n2022-06-25  Increase the version number to 3.40.0 so as to begin the next development cycle.\n2022-06-25 stephan wasm: added bindings for sqlite3_extended_result_codes(), sqlite3_open_v2(), and the SQLITE_OPEN_... flags.\n2022-06-25  Fix documentation type.  [forum:/forumpost/8d900996ed|forum post 8d900996ed].\n2022-06-25 stephan wasm: lots of doc additions and refactoring. Refactored the WASM memory heap usage to hopefully eventually account for a runtime-growable heap. Differentiate between supported TypedArray types for input SQL strings vs binding/fetching blobs. Might (untested) have implemented the ability to bind UtfNNArray values as blobs, where NN is one of 16 or 32.\n2022-06-25 stephan wasm: added utility C code to generate a JSON-format \"enum\" of the numerous SQLITE_xyz constants so that we do not risk those getting out of sync in the JS code. Renamed initSqlite3Module to sqlite3InitModule. Cleanups in the TypedArray handling.\n2022-06-25 stephan wasm: eliminated the need for Stmt objects to keep ahold of memory allocated for bound strings and blobs. Added alternate string/blob bind impls which are hypothetically more efficient but not yet proven to be so.\n2022-06-25 stephan wasm: eliminated the dependency on the deprecated emcc-provided allocate() function. Adjacent cleanups in blob binding.\n2022-06-25 stephan wasm: corrected the propagation of text/blob values via UDFs. DB.exec()\u0027s sql may now be an array of strings which get concatenated together before passing it on to sqlite3_prepare_v2(). DB.exec()\u0027s callback now applies to the first statement which has result columns instead of only the first statement. Fixed a precedence but which caused isInt32() to report false positives.\n2022-06-25 stephan Minor wasm doc tweaks.\n2022-06-25 stephan wasm binding: consolidated the two sqlite3_prepare_v2() bindings behind a single dispathcer. Various internal cleanups and refactoring. Branched because trunk is in pencils-down mode for pending 3.39 release.\n2022-06-23  New test cases for query flattening with LEFT JOIN.\n2022-06-23  Reintroduce flattener constraint (3c), but this time make it apply only if the outer query holds a GROUP BY, not if the outer query is an aggregate.\n2022-06-23  Add back the ability to flatten a LEFT JOIN subquery - previously removed due to ticket [cad1ab4cb7b0fc344].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1385498\nChange-Id: I0468ac6b74a33a4b855c73825cfa41cd12c7077b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4035491\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1073513}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 676a77f187136bfc950e6b75dc9ba457cbd6a16b\n"
    },
    {
      "commit": "2885fd1d5f72b9d27145ca289fe4fc2a273f9bb7",
      "tree": "2cc9cc3c9df54b68bc191daa6f56d386258d18cc",
      "parents": [
        "3226038688333482df55c0724fe851229cc47c7d"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Fri Nov 18 16:41:45 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 18 16:46:53 2022"
      },
      "message": "sql: Make scripts in sqlite README copy-pastable\n\nBefore: //third_party/sqlite\nAfter: third_party/sqlite  # from //chromium/src\n\nAlso removes an unnecessary rebase and updates the example version, to\nreduce typing on future rolls\n\nChange-Id: Idc51ee2d4e4bb6b1d1111b9e69e2b6cca91b06ac\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4034848\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1073374}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 22ff33af1d262822ba6903ef23fc3cc92626288c\n"
    },
    {
      "commit": "3226038688333482df55c0724fe851229cc47c7d",
      "tree": "81579f6b38a9727b847428af5bf7286c86fa7c9a",
      "parents": [
        "d9cd4bc16df907d0d400505e311907222589578c"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Nov 17 20:55:56 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 17 21:02:10 2022"
      },
      "message": "sql: Do not compile Chromium with SQLITE_OMIT_COMPLETE\n\nChromium ships the SQLite CLI (the sqlite_shell and sqlite_shell_dev\nbuild targets) for developmental purposes.\n\nAs of SQLite version 3.40.0, building the CLI is incompatible with\npassing the SQLITE_OMIT_COMPLETE build flag.\n\nThis adds a trivial hit to the SQLite binary size (820 bytes, or ~0.13%)\n\nBug: 1385498\nChange-Id: I413d0dfac8654d191b6e4d20816266427dd5d8c7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4031359\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1073026}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c18aa235234e8a7ed39fa66a51194686c062656a\n"
    },
    {
      "commit": "d9cd4bc16df907d0d400505e311907222589578c",
      "tree": "644c507115193236828c1412a8899dba699c22da",
      "parents": [
        "f540b1554600b5474adedc004ed36c63bb6a1acb"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Sat Oct 01 00:56:02 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Oct 01 01:06:22 2022"
      },
      "message": "sqlite: Upgrade to 3.39.4\n\nRoll src/third_party/sqlite/src/ 5fb64c1a1..b48b7b78f (10 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/5fb64c1a111a..b48b7b78fcdf\n\n$ git log 5fb64c1a1..b48b7b78f --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-09-30 asully Amalgamations for release 3.39.4\n2022-09-29  Version 3.39.4\n2022-09-28  Fix misuse of the sqlite3_set_auxdata() interface in the ICU extension.\n2022-09-28  Remove a NEVER macro in defragmentPage() that dbsqlfuzz discovered can be true.  crash-32d9312f145cdce41613573f6431d9a3e439e3d7\n2022-09-27  Enhance defensive mode so that it disallows CREATE TRIGGER statements if the statements within the trigger attempt to write on a shadow table.  Also make the legacy FTS3 code more robust against integer overflow during memory allocation.\n2022-09-10 Dan Kennedy Enhance the b-tree page sorting code to ensure that sqlite3PagerRekey() never overloads a page number and uses only the PENDING_BYTE page for temporary storage.\n2022-09-07  Enhance an assert() to impose for tighter constraints on the operation of pcache.\n2022-09-07  Fix the windows build so that it works with -DSQLITE_OMIT_AUTOINIT.\n2022-09-07  Ensure that the Rekey() operation does not overwrite an existing page number.\n2022-09-07  Increase the version number to 3.39.4\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1370100\nChange-Id: I0b23f0eae8a8664f037771351c4746cd427a1395\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3931183\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1053853}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f53a9502a0001792114380c850a25c693ddd6308\n"
    },
    {
      "commit": "f540b1554600b5474adedc004ed36c63bb6a1acb",
      "tree": "60e502367d2ce3fcb8789b3501eac5e253fcf84b",
      "parents": [
        "74e1aa4a44a6bdfd9a749199c2999217bad56b86"
      ],
      "author": {
        "name": "Avi Drissman",
        "email": "avi@chromium.org",
        "time": "Thu Sep 29 21:35:50 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Sep 29 21:44:22 2022"
      },
      "message": "Update copyright headers in third_party/s*/\n\nThese files are used to import new versions of third-party code, to\nintegrate that code into Chromium, or are otherwise not from upstream.\n\nThe methodology used to generate this CL is documented in\nhttps://crbug.com/1098010#c95.\n\nNo-Try: true\nBug: 1098010\nChange-Id: Ibcf0f99b328f98a9e1c55d0cddac872277f6c346\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3926078\nReviewed-by: Mark Mentovai \u003cmark@chromium.org\u003e\nAuto-Submit: Avi Drissman \u003cavi@chromium.org\u003e\nOwners-Override: Avi Drissman \u003cavi@chromium.org\u003e\nCommit-Queue: Mark Mentovai \u003cmark@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1053250}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cd038c9516df1ef6ae77ca4435769e31a51470c8\n"
    },
    {
      "commit": "74e1aa4a44a6bdfd9a749199c2999217bad56b86",
      "tree": "3db55efd48d1433eacb34d1b5ca11e52cd02185e",
      "parents": [
        "49e1278dcaef42d791b8b82dba5c3ad36f92c411"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed Sep 07 02:22:49 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 07 02:30:05 2022"
      },
      "message": "sqlite: Upgrade to 3.39.3 + Win build fix\n\nRoll src/third_party/sqlite/src/ e6b634219..5fb64c1a1 (17 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/e6b634219416..5fb64c1a111a\n\n$ git log e6b634219..5fb64c1a1 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-09-06 asully sqlite: Cherry-pick to post-3.39.3\n2022-09-06 asully Amalgamations for release 3.39.3\n2022-09-05  Version 3.39.3\n2022-09-02 Dan Kennedy Ensure the Pager.journalOff variable is zeroed if an error occurs while writing the initial header to the journal file.\n2022-09-02  Remove a NEVER() that is sometimes true.\n2022-09-02  Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c].\n2022-09-02  When an OOM occurs and sets the Parse.nErr value, also set the Parse.nErr value for all outer Parse objects. dbsqlfuzz d33f60aaa67733aa700cd69dacf8e0e23a327a29\n2022-09-02  Mutex protect access to the sqlite3_test_directory and sqlite3_data_directory global variables.  See [forum:/forumpost/719a11e1314d1c70|forum thread 719a11e1314d1c70].\n2022-09-01  Defer deleting a transient SELECT statement associated with a flattening of one arm of a compound SELECT until after the parse has completed.\n2022-08-31  Do not attempt the OP_Count optimization on queries with HAVING clauses. This fixes a problem exposed by [2cf373b10c9bc4cb].\n2022-08-30  Any function call can abort.  Take this into account when deciding if a DML statement needs a statement journal.  See [forum:/forumpost/9b9e4716c0d7bbd1|forum thread 9b9e4716c0d7bbd1] for more information.\n2022-08-05  Avoid having fts3 read uninitialized values when processing deferred tokens.\n2022-08-04  Fix a problem with the query optimizer for LIMIT/OFFSET queries when underlying query is a UNION ALL and both arms of the UNION ALL are subqueries with an ORDER BY clause.  This bug was reported at [forum:/forumpost/6b5e9188f0657616|forum post 6b5e9188f0657616].  The problem was introduced in 2015 (SQLite version 3.9.0) by check-in [4b631364354068af].  See also ticket [b65cb2c8d91f6685].\n2022-08-03  Improvement on the previous check-in.\n2022-08-03  For an IN operator used with a RIGHT JOIN, use the number of terms in the vector, not the number of equality terms, to size the column map. dbsqlfuzz 14cfdad6ca45e607163f54049ddf5065183dc657.\n2022-08-01  Bump the version number up to 3.39.3.\n2022-08-01  In the xUpdate method of the GeoPoly virtual table, make sure that the number of updated columns does not exceed the underlying implementation, even if the virtual table object records an excess number of column in the nAux field due to table constraints in the table definition. Fix for the problem reported by [forum:/forumpost/a096ab7d96bb057a|forum post a096ab7d96bb057a].\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1358381, 1360495\nChange-Id: Ic4684ff161536f9817875078298f03802e20f417\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3877233\nReviewed-by: Evan Stade \u003cestade@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Evan Stade \u003cestade@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1043782}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8de4cd375810b946b7d47350b768f6d11f63b0c0\n"
    },
    {
      "commit": "49e1278dcaef42d791b8b82dba5c3ad36f92c411",
      "tree": "43cbf5bda0beac70f487dd73367ba4e163e9bf04",
      "parents": [
        "e6c779d2ab170d69446a8d909e0db4f0c1962d6b"
      ],
      "author": {
        "name": "Ayu Ishii",
        "email": "ayui@chromium.org",
        "time": "Fri Jul 29 01:00:34 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 29 01:09:21 2022"
      },
      "message": "Add estade@ to sqlite OWNER\n\nChange-Id: I11a4b46aceee24bbef2d399ca8ec63ad153d03a4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3792912\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1029559}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3817c561c8d08d477e5b8f8288799df485c89637\n"
    },
    {
      "commit": "e6c779d2ab170d69446a8d909e0db4f0c1962d6b",
      "tree": "6f1dc4d8ff840786efb378a4a44dfa61e4ed0a1f",
      "parents": [
        "cc411e89180383de5d39551a5b42e7677188ea85"
      ],
      "author": {
        "name": "Ayu Ishii",
        "email": "ayui@chromium.org",
        "time": "Thu Jul 21 22:32:54 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 21 22:41:33 2022"
      },
      "message": "sqlite: Upgrade to 3.39.2\n\nRoll src/third_party/sqlite/src/ 88f6139ea..e6b634219 (11 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/88f6139eadb1..e6b634219416\n\n$ git log 88f6139ea..e6b634219 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-07-21 ayui Amalgamations for release 3.39.2\n2022-07-21  Version 3.39.2\n2022-07-21  In the query planner, restore the former aggressiveness in reordering of FROM clause terms that existed prior to version 3.39.0 for queries that contain no RIGHT or FULL JOINs.\n2022-07-20  Simplify the logic that converts the \"1\" expression in \"ORDER BY 1\" into a copy of the expression that defines the first output column.\n2022-07-18  Increase the size of loop variables in the printf() implementation to avoid harmless compiler warnings.\n2022-07-15 mistachkin Fix harmless compiler warnings seen with MSVC.\n2022-07-15 Dan Kennedy Fix a memory leak in fts3 that could occur when processing a corrupt database.\n2022-07-15  Fix the whereKeyStats() routine (part of STAT4 processing only) so that it is able to cope with row-value comparisons against the primary key index of a WITHOUT ROWID table. [forum:/forumpost/3607259d3c|Forum post 3607259d3c].\n2022-07-15 Dan Kennedy Update some faulty assert() statements in fts3.\n2022-07-14  Bump the version number up to 3.39.2.\n2022-07-14  When applying the omit-ORDER-BY optimization, defer deleting the AST of the deleted ORDER BY clause until after code generation ends.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1345947\nChange-Id: Ie752c0ffdc7ea03af66a1813c8103e947da16e44\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3780773\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nReviewed-by: Joshua Bell \u003cjsbell@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1027006}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4d60f205cee7a736b12d729cf946a620787e1a37\n"
    },
    {
      "commit": "cc411e89180383de5d39551a5b42e7677188ea85",
      "tree": "4edaa58583098f08493fa3d287ac1f96e3819e97",
      "parents": [
        "84f6e93045f3a4ca8f041410434b656fcfaa3007"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Jul 14 20:03:36 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 14 20:14:05 2022"
      },
      "message": "sqlite: Upgrade to 3.39.1\n\nAlso updates the storage/websql/test-authorizer.html web test to reflect\na change (for the better) in error output.\n\nChange adding better error string:\nhttps://github.com/sqlite/sqlite/commit/62fc069eb490acdd5712be29831bca9da52e5334\n\nRoll src/third_party/sqlite/src/ 0fe9a75bf..98bd61ec6 (13 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/0fe9a75bf2b7..98bd61ec66ad\n\n$ git log 0fe9a75bf..98bd61ec6 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-07-14 asully Amalgamations for release 3.39.1\n2022-07-13  Version 3.39.1\n2022-07-13  The query flattener should not run if the subquery is a compound that contains a RIGHT JOIN in any arm and the subquery is not the first element of the outer query.  Otherwise, prior elements of the outer query will not have the JT_LTORJ flag set.  Fix for the problem reported in [forum:/forumpost/174afeae5734d42d|forum post 174afeae5734d42d].\n2022-07-13  Fix test case error messages so that they work with after the removal of the unnecessary zErrMsg clearing from [44d77a7f807f5dc3].\n2022-07-12 Dan Kennedy Update makefiles to fix building the non-amalgamation testfixture with SQLITE_DEBUG.\n2022-07-11  Use 64-bit memory allocation APIs in the sqlite_stmt virtual table, to avoid harmless compiler warnings.\n2022-07-11  Fix harmless compiler warnings.\n2022-07-11  Increase the version number to 3.39.1.\n2022-07-11  Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on a nested parse.  Fix for the problem identified by [forum/forumpost/d5a82ba9eedee30c | forum post d5a82ba9eedee30c]. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse.\n2022-07-11  Fix a problem in fts3 to do with deferred tokens and OR expressions.\n2022-07-05 Dan Kennedy Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined.\n2022-07-03  Fix the initial-prefix optimization for the REGEXP extension such that it works even if the prefix contains characters that require a 3-byte UTF8 encoding.  This should fix the problem reported by [forum:/forumpost/96692f8ba5|forum post 96692f8ba5].\n2022-06-30  Fix documentation and test-script typos and a dependency problem on a Makefile. Fix the sqlite_stmt extension virtual table so that it shows the state of all prepared statements for a single instant in time.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1344458\nChange-Id: Ie6320d33acbe5f2f704fac2f36802b7cdd1684ea\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3763256\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1024387}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5bc18385319d1c8d3d29a7cdc59ff7a5f523da06\n"
    },
    {
      "commit": "84f6e93045f3a4ca8f041410434b656fcfaa3007",
      "tree": "c572ef0ad9c98828e673d2d1a022db7f127be190",
      "parents": [
        "cd973ce188b65332d09f33ad0dba426c3c653665"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Jul 07 02:28:41 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 07 02:35:51 2022"
      },
      "message": "sqlite: Upgrade to 3.39.0 + ASAN fix\n\nRolls to the tip of \"branch-3.39\", which includes rolling to version\n3.39.0 plus a commit which fixes a build error on ASAN bots caused by\nSQLITE_DEBUG and SQLITE_OMIT_WINDOW_FUNC not both being definable.\n\nBuild fix:\nhttps://github.com/sqlite/sqlite/commit/f53487a42da5d564f7f5832f4708d8d7a6ccd73b\n\nRoll src/third_party/sqlite/src/ cb47d7089..f53487a42 (559 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/cb47d7089f71..0fe9a75bf2b7\n\n$ git log cb47d7089..0fe9a75bf --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-07-06 asully Amalgamations for release 3.39.0 with ASAN fix\n2022-07-05 Dan Kennedy Fix for builds with both SQLITE_DEBUG and SQLITE_OMIT_WINDOWFUNC defined.\n2022-07-05 Dan Kennedy Fix a problem in the csv extension that was triggered when the very first field in the csv file is zero bytes in size.\n2022-07-05  Fix an assert() in btree to be more precise, as the previous form of that asser might fail due to recent performance optimizations.\n2022-07-04  Size reduction and performance optimization in sqlite3WalFindFrame().\n2022-07-04  In the getNormalPage() routine of pager.c, consolidate pgno error checking into a single spot for small size reduction and performance increase.\n2022-07-03  Enhance the REGEXP extension so that the end-of-input indicate (\"$\") is allowed to occur on one branch of an OR (\"|\"). [forum:/forumpost/0107d5d40dd273e2|Forum post 0107d5d40dd273e2], second issue.\n2022-07-03  Fix the initial-prefix optimization for the REGEXP extension such that it works even if the prefix contains characters that require a 3-byte UTF8 encoding.  This should fix the problem reported by [forum:/forumpost/96692f8ba5|forum post 96692f8ba5].\n2022-07-03  Improved comment on sqlite3VdbeSwap().  No changes to code.\n2022-07-03  Remove debugging code that has always been commented out.  Cosmetic change.\n2022-07-01 Dan Kennedy Do not attempt the OP_Count optimization on queries with HAVING clauses.\n2022-07-01  Performance improvement in resolveP2Values().  Save over 1 million CPU cycles by omitting the loop termination condition and exiting when the OP_Init (always the first opcode in any VDBE program) is encountered.\n2022-06-30  Small performance improvement to sqlite3_finalize().\n2022-06-30 Dan Kennedy Add missing \"finish_test\" command to the end of test script merge1.test.\n2022-06-29 Dan Kennedy Have the sqlite_stmt table buffer all data for the current scan within the xFilter method.\n2022-06-27  Fix a missing dependency for json.lo in Makefile.in\n2022-06-25  Put an ALWAYS() on an unreachable branch.\n2022-06-25  Increase the version number to 3.40.0 so as to begin the next development cycle.\n2022-06-25  Fix documentation type.  [forum:/forumpost/8d900996ed|forum post 8d900996ed].\n2022-06-25  Version 3.39.0\n2022-06-25  Change a harmless assert() into a testcase().  The actually test case code is in TH3.  Fix for the problem described at [forum:/info/ed29e196d5c4f3d5|forum post ed29e196d5c4f3d5].\n2022-06-24  Fix a harmless UBSAN warning associated with PRAGMA schema_version found by OSSFuzz.\n2022-06-24 Dan Kennedy In sqlite3WhereBegin, do not proceed with coding the loop if an error is detected as part of WHERE expression analysis.\n2022-06-24  A minor fix to test/fuzzinvariants.c so that it works even with column names that originally contain a \u0027:\u0027 and that are disambiguated.\n2022-06-23  New test cases for query flattening with LEFT JOIN.\n2022-06-23  Reintroduce flattener constraint (3c), but this time make it apply only if the outer query holds a GROUP BY, not if the outer query is an aggregate.\n2022-06-23  Add back the ability to flatten a LEFT JOIN subquery - previously removed due to ticket [cad1ab4cb7b0fc344].\n2022-06-23  Minor correction to a comment.  No code changes.\n2022-06-22  Enhance the TCL scrip that generates sqlite3-all.c so that it outputs all text in its original order.\n2022-06-22  Fix requirements marks that changed due to typo fixes in the documentation.\n2022-06-22  More comment fixes.  No changes to code.\n2022-06-22  Allow more line with on the debugging output for SrcItem elements in the parse tree.  This affects debugging builds only and is a no-op for production builds.\n2022-06-22  Additional enhancements to comments.  No changes to code.\n2022-06-22 larrybr Give dbtotxt an option to prepend .open --hexdb\n2022-06-22  Fix a typo in a comment.  No changes to code.\n2022-06-21  Disable the short-cut query planner if the NOT INDEXED modifier is used. [forum:/forumpost/454d706296|Forum post 454d706296].\n2022-06-21  Allow a HAVING clause on any aggregate query, even if there is no GROUP BY clause.  This brings SQLite into closer agreement with PostgreSQL and fixes the concern raised by [forum:/forumpost/1a7fea4651|forum post 1a7fea4651].\n2022-06-20  Add an ALWAYS() macro to an always-true branch.\n2022-06-20  Do not allow FROM-clause terms on the left side of a RIGHT or FULL JOIN to be reordered. [forum:/forumpost/6650cd40b5634f35|forum post 6650cd40b5634f35]. This is probably more strict that necessary to get correct behavior, but for the first release that supports RIGHT/FULL JOIN it is perhaps better to be correct than fast.  A less strict constraint might be to prohibit FROM-clause terms that originate on the left side of a RIGHT JOIN from crossing from the right side to the left side of a LEFT JOIN.  Revisit this later.\n2022-06-20  Do not allow an ON clause to references tables to its right if there is a RIGHT or LEFT join anywhere in the query.  Other RDBMSes prohibit this always, but SQLite must allow ON clauses to reference tables to their right for legacy compatibility, unless there is a RIGHT or LEFT join someplace in the query, in which case there is no legacy to support.\n2022-06-20  The fix at [cab9b4cccd13bf0a] was incomplete, as demonstrated by [forum:/forumpost/57bdf2217d|forum post 57bdf2217d].  This check-in should complete the fix.\n2022-06-19  Follow-up to check-in [0057bbb508e7662b] - ensure that the database page has been initialized prior to continuing with the optimization.  If the page is not initialized, that indicates that the database is corrupt. dbsqlfuzz 09ee46becd5e6d1b2a55c9f8ad767335a90aadb0.\n2022-06-18  Enable query invariant checking in fuzzcheck by default.  There is no way to turn it off.  Update the invariant checking logic to be consistant with dbsqlfuzz.\n2022-06-18  Abandon a query-invariant check in fuzzcheck if the call to sqlite3_bind_value() returns anything other than SQLITE_OK or SQLITE_RANGE.\n2022-06-18  In the --query-invariants option of fuzzcheck, correctly deal with OOMs causing the return value of sqlite3_column_name() to be NULL.\n2022-06-17  Fix the OP_Concat operator such that when concatenating a BLOB with an odd number of bytes on a database that is UTF16, the size of the resulting string is reduced to a multiple of two.\n2022-06-17  Omit the --query-invariants processing in fuzzcheck for queries that contain the implies_nonnull_row() test function.\n2022-06-17  Do not run --query-invariants on statements that make use of sqlite_offset().\n2022-06-17  Allow integers and floating point numbers to compare equal.\n2022-06-17  Improve query-invariants to the point that it would have discovered the [f23a429d4153518d] bug if that bug had not already been fixed.\n2022-06-17  Only run query-invariant checks after the original query has run to completion, so that we know it does not error-out on a subsequent row.\n(...)\n2022-03-06 larrybr For CLI .import, revert to importing into temp or main when given table is found there and no -schema option used. And plug an obscure leak.\n2022-03-06  Fix obsolete but harmless comments in btree.  No changes to code.\n2022-03-06  The sqlite_offset() function should be non-deterministic. dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356.\n2022-03-05  Remove a NEVER() associated with sqlite_offset()\u003e\n2022-03-05  Fix the \u0027localtime\u0027 modifier in date/time functions so that it preserves fractional seconds. [forum:/forumpost/2ffbaa2c3fd7fb82|Forum post 2ffbaa2c3fd7fb82].\n2022-03-05  Further improvements to the sqlite_offset() function.\n2022-03-05  Fix the sqlite_offset() function so that it gives the correct answer even if the argument is a virtual column in an index-only query.  Test cases in TH3.\n2022-03-05  Update obsolete text in the ICU README.txt file talking about SQLite\u0027s robustness (or lack thereof) in the face of corrupt database files.\n2022-03-04  Do try to evaluate the Bloom filter on a LEFT JOIN early, as doing so essentially converts it into an INNER JOIN.  See [forum:/forumpost/544af7eee2|forum thread 544af7eee2].\n2022-03-04  When setting an sqlite3_value object to a pointer value, make sure any prior memory allocations associated with that object have been cleared first. dbsqlfuzz 33f842d1a09afaad5f078c3e1162a54b78e5f2ab.\n2022-03-03  Restore the ability to push-down OR subterms of the WHERE clause when processing a multi-index OR.\n2022-03-03  Make sure the xParseCell and xCellSize methods of the MemPage object are initialized consistently even if the page is detected as being corrupt. dbsqlfuzz fd21f341f3b4f582401d2feb2a1c0c4cc2c26caa.\n2022-03-03  Fix for the problem identified in [forum:/forumpost/0cd8e058bf|forum post 0cd8e058bf]: When evaluating an multi-index OR, do not push down auxiliary WHERE clause terms that involve subqueries into the OR-subqueries.  Otherwise, the covering-index optimizer might convert table-references into index-references for the particular OR index that is active for the branch in which the subquery subroutine is coded, and those index-references will not work if the subquery subroutine is invoked from a different OR branch that uses a different index.\n2022-03-03  Add the new OP_BeginSubrtn opcode (which is really an alias for OP_Integer) and make other changes so that the span of a subroutine that implements a subquery is more readily apparent in bytecode listings.\n2022-03-02  Bloom filter pull-down optimization is incompatible with Skip-Scan. Make sure the query planner does not try to to both. [forum:/info/50a1bbe08ce4c29c|Forum post 50a1bbe08ce4c29c].\n2022-03-02  Faster version of sqlite3VdbeMemRelease().\n2022-03-02  Reinstate the releaseMemArray() performance optimization of [bb520293d8c11518] with corrections.\n2022-03-02  The optimization at [ece326db50201937] is not quite right, so back it out for now.\n2022-03-02  Fix a harmless compiler warning.\n2022-03-02  The performance optimizations at [bb520293d8c11518] is not quite right, so it has to be backed out.\n2022-03-01  The MemPage.aDataEnd field should point to the end of the data buffer for the page, not just the end of the usable portion of that buffer.  The purpose aDataEnd is to detect cells that overflow the page, and that won\u0027t work on a page with reserved bytes and a cell that starts in the reserved region, unless the boundary is at the very end of the page. Chromium issue 1276294.\n2022-03-01  Fix a minor typo in a comment.\n2022-03-01  Fix two assert() statements in btree.c which were not true in the case of a corrupt database file. [forum:/forumpost/14819f2063|Forum post 14819f2063].\n2022-03-01  Fix slightly-incorrect assert() statements. [forum:/forumpost/f1e83b77b5ff37db|Forum post f1e83b77b5ff37db]\n2022-03-01  Increase the max_page_count on ROLLBACK, if necessary, so that it is sufficient to cover the entire database.  Fix for the problem identified by [forum:/forumpost/3b9e894312|forum post 3b9e894312].\n2022-02-28  Fix the Xfer-optimization on the INSERT statement so that it is omitted if there is a RETURNING clause, since that optimization is not able to deal with RETURNING.  See [forum:/forumpost/595e132f71|forum thread 595e132f71] for details.\n2022-02-28  Reorganize the bits in Mem.flags.  Free up one bit for reuse.\n2022-02-28  Expand the comment on the definition of the Mem object to better explain the meanings of the various flag bits.\n2022-02-28  The performance increase in the previous check-in of this branch was due to the revised loop in initMemArray() and reordering fields of Mem - not the call the memcpy().  Changing the code to avoid memcpy() results in an even better gain, and code that is far less dodgy.\n2022-02-28  An optimization to initMemArray() saves almost 500K cycles.  But it seems a little dodgy.  I want to think about this more before merging to trunk. Perhaps there is a cleaner way to accomplish the same.\n2022-02-28  Avoid unnecessary deinitialization of the Mem.flags field.\n2022-02-27  Cache values of UnpackedRecord.aMem[0] into new fields of UnpackedRecord. This avoids extra indirections and saves about 750K cycles.\n2022-02-27  Bypass a single branch in vdbeRecordCompareString() in the common case, for a performance increase of over 600K CPU cycles.\n2022-02-26  Remove an unnecessary local variable for a small performance increase and size reduction.\n2022-02-26  Allow the OP_Column opcode to read rows that are larger than SQLITE_LIMIT_LENGTH as long as the specific field being read out is less than or equal to SQLITE_LIMIT_LENGTH.\n2022-02-25  Revise the initialization processing for OP_Column to make it about 1.8 million cycles faster.\n2022-02-25  Fix the OP_NullRow documentation so that it accurately describes what it actually does for a pseudo-cursor.\n2022-02-25  Improved comment on the codeDeferredSeek() routine. No code changes.\n2022-02-25  Fix unimportant typos in comment text.\n2022-02-25  Invoking SQLITE_TESTCTRL_INTERNAL_FUNCTIONS causes the flags field of the PRAGMA function_list to show all bits, including internal-use-only bits, rather than just the bits that are part of the API.\n2022-02-25  Remove unused P4 types on the Opcode object.  Saves a few bytes of code space and simplifies the code.\n2022-02-24  Change the OP_Next and OP_Prev opcodes so that they invoke sqlite3BtreeNext() and sqlite3BtreePrevious() directly rather than through a function pointer, for improved performance and a decrease in code size.\n2022-02-24 larrybr Spell fix, no code change\n2022-02-24  Fix an assert() so that it is still valid following OOM with the latest enhancements.\n2022-02-24  Update the version number of version 3.39.0 for the next development cycle.\n2022-02-23  Add a new subclass for MemPage.xCellSize specifically for the case of a leaf page in a B+Tree, that is optimized for that cases.  This gains a half million cycles or more at the cost of less than 200 bytes of code space.\n2022-02-23  Optimize calls to get2byte() in btree.c for almost a one-million cycle performance gain and a few bytes less code.\n2022-02-23  Defer the check for error check Pgno zero until after the page fetch misses, to gain a few CPU cycles and a small size reduction.\n2022-02-23  Store the page number for the PENDING_BYTE page in the Pager object, rather than computing the page number every time it is needed, because it turns out that number is needed quite frequently.  This saves a few hundred thousand CPU cycles and a few bytes of code space.\n2022-02-22  For the \"PRAGMA database_list\" statement, do not check to see if the schema is up-to-date and do not try to reload the schema.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1334125\nChange-Id: I830af95dfc57648ba98a8cba322aded797db4056\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3746567\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1021494}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 67230a4f9dc72d1578fa717dd5d87b91050086bb\n"
    },
    {
      "commit": "cd973ce188b65332d09f33ad0dba426c3c653665",
      "tree": "2013d38d690e09bd02a83ee119716ac518cd2faa",
      "parents": [
        "88980436a70838ab5480f164d31ceab624aca730"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Mon May 09 18:21:53 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 09 18:28:58 2022"
      },
      "message": "sqlite: Upgrade to 3.38.5\n\nRoll src/third_party/sqlite/src/ eb778c9b3..cb47d7089 (11 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/eb778c9b31cb..cb47d7089f71\n\n$ git log eb778c9b3..cb47d7089 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-05-06 asully Amalgamations for release 3.38.5\n2022-05-06  Version 3.38.5\n2022-05-06  Prevent an infinite loop on SQLITE_ERROR_RETRY when trying to modify a corrupt schema while PRAGMA writeable_schema\u003dON is active. dbsqlfuzz ded83609f475cc989c7339d45efb5151c1495501\n2022-05-05  Update the version number to 3.38.5\n2022-05-05  Backout check-in [9fb20a21feb8f697] which was incorrect.\n2022-05-04  Version 3.38.4\n2022-05-04 larrybr Fix CLI use of wrong allocator for free().\n2022-05-03 larrybr Fix multi-byte column name rendition on .import and display of NULL in columnar modes.\n2022-05-03  Increase the version number to 3.38.4.\n2022-05-03  Fix the Bloom filter pull-down optimization so that it jumps to the correct place if it encounters a NULL key.  Fix for the bug described by [forum:/forumpost/2482b32700384a0f|forum thread 2482b32700384a0f].\n2022-04-30  Preserve the COLLATE operator on an index on an expression when resolving the use of that expression into a reference to the index.  See [forum:/info/7efabf4b03328e57|forum thread 7efabf4b03328e57] for details.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nFixed: 1322626\nChange-Id: I8acbe813ea3a91f1b32116da7144c246e0c8e235\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3630172\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1001099}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2aa0f2f93bf2a8f2e81196c1d52b5c784bb3839d\n"
    },
    {
      "commit": "88980436a70838ab5480f164d31ceab624aca730",
      "tree": "af9b2ff2dbfb519686950f3e7f3b4c376a269e0d",
      "parents": [
        "12e33ab45b51e59e621d653aba585fee296afa50"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed May 04 05:18:29 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 04 05:28:03 2022"
      },
      "message": "sqlite: Upgrade to 3.38.3\n\nRoll src/third_party/sqlite/src/ 3007f1a1a..eb778c9b3 (10 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/3007f1a1a47c..eb778c9b31cb\n\n$ git log 3007f1a1a..eb778c9b3 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-05-03 asully Amalgamations for release 3.38.3\n2022-04-27  Version 3.38.3\n2022-04-26  Modify utility function sqlite3SetString() so that it may be used safely on Parse.zErrMsg. Fuzzer test case \"crash-1604e5d76c92574e21e437049dab9b672e06b767.txt\".\n2022-04-26  Cherry-pick various minor fixes from trunk into branch-3.38.\n2022-04-25  Reverse the order of two tests to stop a harmless initialized value warning from MSAN - reported by OSSFuzz.\n2022-04-25  Fix a problem with using multiple SQLITE_SUBTYPE function as window functions in a single query.\n2022-04-25  Increase the version number to 3.38.3.\n2022-04-25  Fix a problem with automatic indexes introduced by check-in [664b461bb5063d980] and reported by [forum:/forumpost/0d3200f4f3bcd3a3|forum post 0d3200f4f3bcd3a3].\n2022-04-04  Fix two minor problems in the JSON functions associated with JSON Paths for object labels that require quoting.\n2022-03-30 larrybr Incorporate fix noted as absent by forum post https://sqlite.org/forum/forumpost/aefd62fcc7ebd8b6\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1322225\nChange-Id: I696dc0d55c95c37ac13cba24b2da928fd8c1fec2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3626338\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#999240}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 15231c2befe9d4f21ebe46000cd93e7d87b23ae9\n"
    },
    {
      "commit": "12e33ab45b51e59e621d653aba585fee296afa50",
      "tree": "f0678775824a71b8e66a7b02201daa43f25eaf33",
      "parents": [
        "be4c7c59ff726e51675bce66287d7b686357ab13"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Wed Apr 20 00:36:50 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 20 00:46:43 2022"
      },
      "message": "sqlite: Upgrade to 3.38.2\n\nRoll src/third_party/sqlite/src/ a54d5d154..3007f1a1a (15 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/a54d5d154f4b..3007f1a1a47c\n\n$ git log a54d5d154..3007f1a1a --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-04-15 asully Amalgamations for release 3.38.2\n2022-03-26  Version 3.38.2\n2022-03-25  The \"PRAGMA writable_schema\u003dON\" flag should not allow OOM errors to pass while parsing the schema. dbsqlfuzz 9cc49e1a53e1cef8e3a1496a88c683aa20483163.\n2022-03-25  Do not allow an #ifdef inside of an assert(), as gcc tells us that is not portable.\n2022-03-25  Bump the version number to 3.38.2.\n2022-03-25  Fix the Bloom-filter optimization so that it does not use IS NULL or IS NOT NULL constraints from the WHERE clause when operating on a LEFT JOIN. [forum:/forumpost/031e262a89b6a9d2|Forum thread 031e262a89b6a9d2].\n2022-03-22  Ensure that database corruption does not cause the cursor passed into sqlite3BtreeDelete() to be invalid. dbsqlfuzz 209bf3de9ee11ae440848ab9bc9c13858f9be2e4.\n2022-03-22  Harden the xShmLock method of both the unix and Windows VFSes so that they are robust against being invoked when the SHM file is not open.\n2022-03-21  Strengthen the defenses against corrupt databases in the sqlite3BtreeInsert() function of the btree module. [forum:/forumpost/c7ec29905f|Forum post c7ec29905f].\n2022-03-21  The previous assert() fix was not correct when building with -DSQLITE_ENABLE_OFFSET_SQL_FUNC.  This is the fix.\n2022-03-21  Fix the assert() that attempts to verify that the table-reference to index-reference translator finds all required translations. [forum:/forumpost/929168fdd6|Forum post 929168fdd6].\n2022-03-21  Fix an assert() in sqlite3TableAffinity() that might have been false if there was a prior syntax error in the query.\n2022-03-19  Fix the zipfile extension so that it knows that a zero-length BLOB returns a NULL pointer. [forum:/forumpost/ae86934905|Forum post ae86934905].\n2022-03-17  Another fix for a corner-case in sqlite_offset() - this one having to do with computed virtual columns in a WITHOUT ROWID table.  Also an assertion fault problem with sqlite_offset().\n2022-03-14  Disable trigger coding while running sqlite3_declare_vtab(). dbsqlfuzz 97e1865771b4226f29e6e482411c1cae14133f50\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1315769\nChange-Id: Ie07d6db840f3e9a0d97686f6caca3f97d42eb689\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3588038\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#993976}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c2a6bd06c4b5bb2b3c39071630ad7db0af498be1\n"
    },
    {
      "commit": "be4c7c59ff726e51675bce66287d7b686357ab13",
      "tree": "75a49b0c99b45bddfdff411b36f68872a482afb2",
      "parents": [
        "19a5748ef4e62d3767980bdff590b53b35137b85"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Tue Apr 19 22:36:38 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 19 22:46:34 2022"
      },
      "message": "sqlite: Update extract_sqlite_api.py script\n\nThis CL makes two changes to this script:\n\n1) Generates amalgamations with copyright of the correct year\n\n2) Updates the Usage comment to suggest using a file name matching the\n   name used in the #ifndef statement.\n         rename_macros.h -\u003e rename_exports.h\n\nChange-Id: I0fb840419c3c5d5548d219ef968c073899465848\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3587450\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#993928}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bc98eea3294d891e6eed5d4f65e50fb80789accb\n"
    },
    {
      "commit": "19a5748ef4e62d3767980bdff590b53b35137b85",
      "tree": "c77b19279272c3ac34866549b931db4dfd70def1",
      "parents": [
        "d1a0e9287daacf1adb17aa7544c4a5ac80a14de5"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Apr 14 21:41:24 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 14 21:51:32 2022"
      },
      "message": "sqlite: update README release bumping steps\n\nChange-Id: Ib8a0129b4b914e0728878bccbb5479ae44cd1780\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3587254\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#992728}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0bf151a7d0078ea06a3f7c996f969ec249552624\n"
    },
    {
      "commit": "d1a0e9287daacf1adb17aa7544c4a5ac80a14de5",
      "tree": "9304fe71744232d76246ddce02508945a9361843",
      "parents": [
        "d52ec7ee621665f350311d92aec521a236f83aa2"
      ],
      "author": {
        "name": "Austin Sullivan",
        "email": "asully@chromium.org",
        "time": "Thu Apr 14 21:09:40 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 14 21:18:20 2022"
      },
      "message": "sqlite: Bump version number to 3.38.1\n\nThis should have been included in https://crrev.com/c/3583025\n\nBug: 1315768\nChange-Id: I5af8b6a132cc9e9b1b82fdc67920016aa33da6da\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3584159\nAuto-Submit: Austin Sullivan \u003casully@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Ayu Ishii \u003cayui@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#992714}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7f573ee0ed61bd871a069c1358280b1e360dd7c8\n"
    },
    {
      "commit": "d52ec7ee621665f350311d92aec521a236f83aa2",
      "tree": "88d001f34303509c4d8b54d0fa0b8df5e8cd88bd",
      "parents": [
        "9a5c174f2956f991dc676820580a4eced025f189"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Sat Apr 02 01:49:13 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat Apr 02 01:57:04 2022"
      },
      "message": "Update OWNERS around Storage.\n\nChange-Id: Ic2fb2c500aee1f0432923ac6f5d8c46333b846a1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3566213\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#988220}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 62df799cca73c06d238a59a0828140e15b86144a\n"
    },
    {
      "commit": "9a5c174f2956f991dc676820580a4eced025f189",
      "tree": "a80ea9f5ccea5089c95d24413625a704b08181dd",
      "parents": [
        "44856a6b7601c2d0937db9280feb783ca389c931"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon Feb 28 22:26:22 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Feb 28 22:34:52 2022"
      },
      "message": "sqlite: Upgrade to 3.38.0.\n\nRoll src/third_party/sqlite/src/ 9ccd3058e..568c3bbc1 (285 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/9ccd3058ec6d..568c3bbc1fb8\n\nThis CL also updates the SQLite build configuration to keep JSON\ndisabled.\n\n$ git log 9ccd3058e..568c3bbc1 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2022-02-23 pwnall Amalgamations for release 3.38.0\n2022-02-22  Version 3.38.0\n2022-02-22  Fix an undersized memory allocation in the test harness for RTREE.  This error was in test logic only, not in the SQLite library itself. [forum:/forumpost/35470a0a72a005e1|forum post 35470a0a72a005e1]\n2022-02-21  Fix compiler warnings for older compilers (ex: gcc 4.0.1 powerpc-apple-darwin).\n2022-02-21  Remove stray tab characters from auxiliary source code files.\n2022-02-21  Add SQLITE_OMIT_JSON to the compile-time option test sequence.\n2022-02-21  Do not allow error messages from sqlite3NestedParse() to leak up into the main parse.\n2022-02-19 larrybr Improve .backup and .save help text\n2022-02-19  Add a NEVER() to a branch that is unreachable for STAT4.\n2022-02-17  Enhance the documentation on sqlite3_stmt_readonly() to explain that EXPLAIN and EXPLAIN QUERY PLAN do not affect the return value.  Add test cases to verify this.  Add new test cases and requirements marks for complete requirements test coverage on this interface.\n2022-02-17  Remove references to the now-defunct SQLITE_ENABLE_JSON1 compile-time option.\n2022-02-17  Fix a testing error on Windows that was recently added to shell5.test.\n2022-02-16  Make the sqlite3_error_offset() interface accessible from TCL using the new \"erroroffset\" method on the sqlite3 object.\n2022-02-15  Improved rendering of floating point numbers without a fractional part in \".dump\" output from the CLI. [forum:/forumpost/550d877659f37cb2|Forum post 550d877659f37cb2].\n2022-02-15  New assert() statements to help prove correctness of memjournal.c.\n2022-02-14  Generalize the in-memory journal so that it is able to accept writes that begin at any offset less than or equal to the current file size.\n2022-02-14  Minor correction to the early corruption detection added by [a6fda39e81d0da98|check-in a6fda39e81d0da98] so that it works even if the page being cleared in page 1 of the database.\n2022-02-14  Fix a bad assert() (it needs an \"||CORRUPT_DB\" term) in b-tree, discovered by dbsqlfuzz.\n2022-02-14 larrybr CLI\u0027s .import column rename made more minimal, and reports renames.\n2022-02-12 Dan Kennedy Do not run merge1.test with SQLITE_OMIT_VIRTUALTABLE builds.\n2022-02-12 Dan Kennedy Fix a possible user-after-free in ALTER TABLE found by asan.\n2022-02-12 Dan Kennedy Update fuzz.test to account for a change in error message made in the core.\n2022-02-12 Dan Kennedy Avoid dropping SQLITE_TOOBIG errors in the quote() function.\n2022-02-12 larrybr For .import auto-column, aid build-time override of rename decoration.\n2022-02-12 larrybr Fix auto-column bug noted by post https://sqlite.org/forum/forumpost/d102c15d63\n2022-02-11  Fix a test in without_rowid1.test so that it is disabled without ALTER TABLE support, as it uses ALTER TABLE.\n2022-02-11 Dan Kennedy Update some OOM tests of the ALTER TABLE command to account for an error message which may be returned if opening the temp db fails.\n2022-02-11  Load recent dbsqlfuzz finds into test/fuzzdata8.db.\n2022-02-11  Reference the wayback machine for the dead hyperlink to the MS support page in the comments about why the extra typedef for va_arg().  No code changes.\n2022-02-11  Fix an assert() in the pager by adding \"|| CORRUPT_DB\", in as much as the assert() is not necessarily true if the database size in the header is wrong.  dbsqlfuzz f2f996065b90988aa9b0ae425b66dbb296546a08.\n2022-02-11 Dan Kennedy Fix a problem in [c006515ae6faff65] causing an assert() to fail with some build configurations.\n2022-02-11  Use the enhanced SQLITE_TESTCTRL_LOCALTIME_FAULT (2) capability to do better testing of the \u0027localtime\u0027 and \u0027utc\u0027 modifiers to date/time functions.\n2022-02-11 larrybr Upon .import column renaming, issue message saying so. Test this.\n2022-02-11  Fix the bind2.test test script so that it works even if SQLITE_ENABLE_PREUPDATE_HOOK is not defined. Fix for test-case breakage from check-in [c006515ae6faff65].\n2022-02-11  Work around the MSVC bug that prevents the use of function pointer types in the second argument of va_arg() by adding a typedef.\n2022-02-11 larrybr CLI auto-column rename revamped after forum discussion.\n2022-02-10  Fix SQLITE_TESTCTRL_LOCALTIME_FAULT so that it works even if mutexes are enabled.\n2022-02-10  Enhance SQLITE_TESTCTRL_LOCALTIME_FAULT so that is able to install an alternative localtime() interface so that the localtime logic an be better tested.\n2022-02-10  Performance improve to the \u0027localtime\u0027 and \u0027utc\u0027 modifiers for date/time functions.\n2022-02-10  Faster implementation of the date(), time(), and datetime() functions.\n2022-02-10  Fix the test harness so that it builds without SQLITE_ENABLE_PREUPDATE_HOOK. Has been broken since [c006515ae6faff65].\n2022-02-10 larrybr A CLI feature. auto .import (new table) columns. WIP\n2022-02-10 larrybr Create new branch named \"auto-column\"\n2022-02-10  Fix a typo in documentation.  No code changes.\n2022-02-09  When process first moves a database into WAL mode and then tries to run sqlite3_wal_checkpoint() without first performing a transaction, first try to run a synthesized transaction to get the Pager caught up before attemptingn the checkpoint. [forum:/forumpost/fd0f19d229156939|forum post fd0f19d229156939].\n2022-02-09 Dan Kennedy Fix a problem with using sqlite3_bind_value() with sqlite3_value objects obtained from sqlite3_preupdate_new() when an integer value is written to a column with real affinity.\n2022-02-08  Writes to the subjournal should be all-or-nothing.  Fix for dbsqlfuzz fe3c397fb90029313446c4e0f4a6cd0c81dd9621.\n2022-02-08  Provide sqlite3_error_offset() data for some new errors.\n2022-02-08 larrybr comment-only change to sqlite3.h\n2022-02-08  Do not show the error code number of CLI error messages unless the error is something other than 1 (SQLITE_ERROR).\n(...)\n2021-12-10  Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes.\n2021-12-10  Rename the internal routine constructBloomFilter() to sqlite3ConstructBloomFilter(). OSSFuzz is reporting a crash with a garbled stack that we cannot reproduce. Perhaps the original \"constructBloomFilter()\" name is colliding with some internal name used by OSSFuzz. We\u0027ll see if this rename clears the problem.\n2021-12-09  Remove unused code and fix comments.  Final cleanup before merging.\n2021-12-09  Enable bloom filters for the right table of a LEFT JOIN.  Fix unreachable branches.\n2021-12-09  Add \".mode off\" and \".mode count\" to the CLI.\n2021-12-09  Add \".mode off\" and \".mode count\" to the CLI.\n2021-12-09  New test cases added to test/fuzzdata8.db\n2021-12-09  Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM.  This enhancement supercedes check-in [fee469925231d074].\n2021-12-09  Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program. Improvements to testability of bloom filters.\n2021-12-08 larrybr Clarity tweak for date.c\n2021-12-08  Improvements on the decision of whether or not to use a Bloom filter.\n2021-12-08  Enhance the sqlite3SrcListAppendFromTerm() routine so that it sets the Parser error on an OOM, causing an earlier unwind of the stack.\n2021-12-08  In the WhereClause object, do not assume that all TERM_VIRTUAL terms appear at the end of the list, because that is no longer true.  Instead, keep a separate nBase count that is the size of the list excluding the tail of virtual terms.  Use nBase instead of nTerm when scanning terms that are not virtual.  Add assert()s to validate correctness of WhereClause.\n2021-12-07  Do not generate a Bloom filter if it cannot be used prior to the next seek, as that leads to a misleading EXPLAIN QUERY PLAN.\n2021-12-06  Improved EXPLAIN QUERY PLAN output for Bloom filters.\n2021-12-06  Add SQLITE_STMTSTATUS_FILTER_HIT and _MISS for tracking the effectiveness of Bloom filters.\n2021-12-06  Omit the OP_FilterInit opcode.  Use OP_Blob to initialize each Bloom filter instead.  Size the Bloom filter based on sqlite_stat1 size estimates rather than a run-time measurement for improved testability.\n2021-12-06 Dan Kennedy Fix an OOB read that could occur in fts5 when processing corrupt records.\n2021-12-06  Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object.\n2021-12-06  Do not allow certain dangerous \".testctrl\" commands in safe mode.\n2021-12-06  Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid.\n2021-12-06  Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold.\n2021-12-05  Run as many Bloom filters as possible before index lookups.\n2021-12-05  Try to run all Bloom filters before any Seeks.  This gives a small performance gain on the Star-Schema Benchmark.\n2021-12-04  Miscellaneous cleanup of the new Bloom-filter code.\n2021-12-04  Add VdbeCoverage() macros.  Adjust the Bloom-filter hash function so that it correctly deals with zero-blobs.\n2021-12-04  Apply the Bloom filter only on those terms of an index that have equality constraints.\n2021-12-04  Add the \"WITH BLOOM FILTER\" clause to the EXPLAIN QUERY PLAN output for cases were a Bloom filter is used.\n2021-12-04  First attempt to use Bloom filters to optimize star-schema queries.\n2021-12-03  Factor the noop-join-elimination optimization out of the sqlite3WhereBegin() routine and into a separate \"no-inline\" subroutine, in order to reduce the complexity of sqlite3WhereBegin() and thereby encourage C compilers to inline sqlite3WhereCodeOneLoopStart().\n2021-12-03  Fix exprAnalyze() after recent performance enhancements so that it is able to handle IF_NULL_ROW opcode correctly, again.\n2021-12-03  Fix unreachable branches resulting from prior optimizations.\n2021-12-03  Fix an over-length source code line in build.c.  No logic changes.\n2021-12-03  Performance optimization in the B-Tree cursor allocator btreeCursor(), making it about 800K CPU cycles faster in speedtest1, and reducing the executable size by about 100 bytes.\n2021-12-02  Optimizations to exprAnalyze() and sqlite3WhereExprUsage() save about 1.5 million CPU cycles for speedtest1, and result in a smaller binary.\n2021-12-02  Move the TK_IS token so that it is adjacent to the TK_IN token, as this allows the C compiler to optimize better, resulting in a slightly smaller and faster executable.\n2021-12-02 Dan Kennedy In the shell tool, avoid modifying internal data structures until after the arguments to \".open\" have been parsed.\n2021-12-02  Remove an unnecessary branch from exprAnalyze(), resulting in a small performance gain.\n2021-12-02  Small performance optimization in sqlite3WhereClauseClear().\n2021-12-02  More small performance optimizations for sqlite3WhereGetMask().\n2021-12-02  Small performance optimization in sqlite3WhereGetMask().\n2021-12-02  Small performance enhancement for whereScanInit().\n2021-12-02  Performance improvement in query planning.\n2021-12-01  Check for foreign key constraint errors prior to returning the results from a RETURNING clause.  See [forum:/forumpost/793beaf322|forum post 793beaf322].\n2021-12-01  Add a Bloom filter to the automatic-index mechanism.\n2021-12-01 Dan Kennedy Add the \"static\" qualifier to some internal functions in code for various SQLite extensions.\n2021-11-30  In the automatic index generator logic, be more precise about when a partial automatic index is allowed in order to capture more cases where it is legal to use a partial automatic index.\n2021-11-29  Bump the version number up to 3.38.0 in order to begin the next development cycle.\n2021-11-29  Add the unixepoch() function and the \u0027auto\u0027 and \u0027julianday\u0027 modifiers.\n2021-11-28  Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43.\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1300262\nChange-Id: I342139b116a6f0e2fecdc161b1065e5ed4e1b0d1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3495638\nAuto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\nReviewed-by: Austin Sullivan \u003casully@chromium.org\u003e\nCommit-Queue: Austin Sullivan \u003casully@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#975968}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6c3049083b1e80625c6336862476b3901e6eb4c8\n"
    },
    {
      "commit": "44856a6b7601c2d0937db9280feb783ca389c931",
      "tree": "c3ae86588bc777b22a778b0ac16c9c739e3b2942",
      "parents": [
        "3df6c723afb56cbde1eab0ff8b64aa91623b33fa"
      ],
      "author": {
        "name": "Chris Mumford",
        "email": "cmumford@chromium.org",
        "time": "Wed Jan 12 16:21:53 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 12 16:31:07 2022"
      },
      "message": "Removed cmumford from OWNERS.\n\nBug: none\nChange-Id: I9ee903a28d6829d0651036d3c8c4209f3166a1b3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3374708\nReviewed-by: Victor Costan \u003cpwnall@chromium.org\u003e\nReviewed-by: Reilly Grant \u003creillyg@chromium.org\u003e\nCommit-Queue: Chris Mumford \u003ccmumford@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#958109}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f1442ebfab0edf05acc63725b4eff116e2cd7bc9\n"
    },
    {
      "commit": "3df6c723afb56cbde1eab0ff8b64aa91623b33fa",
      "tree": "9e9f092bc4caa51ba87f910b359198d816534d1d",
      "parents": [
        "7e9aee33924ed36c8ba81cda006eb6b78dac1700"
      ],
      "author": {
        "name": "Marijn Kruisselbrink",
        "email": "mek@chromium.org",
        "time": "Wed Jan 12 01:46:45 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 12 02:03:29 2022"
      },
      "message": "Update README.chromium after sqlite upgrade.\n\nhttps://chromium-review.googlesource.com/c/chromium/src/+/3366601 upgraded\nsqlite, but missed also updating the version number in the readme file.\n\nBug: 1284412\nChange-Id: I893900af6cbda5f21b34bf7f2e44bb3f7210bdce\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3381995\nAuto-Submit: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nReviewed-by: Victor Costan \u003cpwnall@chromium.org\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#957871}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1e9da74cbe12d58a7a6a27a23fd1b37bf4f7843a\n"
    },
    {
      "commit": "7e9aee33924ed36c8ba81cda006eb6b78dac1700",
      "tree": "c6b7630410298b6febff20925953a39a9ac637af",
      "parents": [
        "e37013437fe434aead3239e7f6867d2e612afdb6"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed Jan 05 04:43:18 2022"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jan 05 04:53:09 2022"
      },
      "message": "sqlite: Fix minor inconsistencies in README steps for upgrading SQLite.\n\nChange-Id: I897dec9075090e2450793f722fcefb3889bf44a6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3366801\nAuto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\nReviewed-by: Chris Mumford \u003ccmumford@google.com\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#955559}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eb3531c4cb51f491c4f05169282fa3ce7402ab03\n"
    },
    {
      "commit": "e37013437fe434aead3239e7f6867d2e612afdb6",
      "tree": "df2c749985e880d1427c48187a57a5b42fbabbf0",
      "parents": [
        "7dd15f635d985f68cb8a05ceaa37a3a900d4c213"
      ],
      "author": {
        "name": "Arthur Eubanks",
        "email": "aeubanks@google.com",
        "time": "Wed Dec 08 17:21:01 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Dec 08 17:48:23 2021"
      },
      "message": "sqlite: Rename shadowed variable\n\nThis is causing \"error: declaration shadows a local variable\" warnings, e.g.\nhttps://ci.chromium.org/ui/p/chromium/builders/ci/ToTLinuxASanLibfuzzer/14926/overview\n\nChange-Id: I6b1678f502e2930904ad6c3ffab5014a8435272c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3320976\nReviewed-by: Chris Mumford \u003ccmumford@google.com\u003e\nCommit-Queue: Arthur Eubanks \u003caeubanks@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#949586}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: cc67faeef78b7256899a8a983af134a47f4701a4\n"
    },
    {
      "commit": "7dd15f635d985f68cb8a05ceaa37a3a900d4c213",
      "tree": "ee84bb5a26d0cc40513bd7bd7b4d7d4c99e1f1ed",
      "parents": [
        "0920e9a56f40c40bf6f7d09a88b5e1c130c8253a"
      ],
      "author": {
        "name": "Peter Kasting",
        "email": "pkasting@chromium.org",
        "time": "Tue Nov 02 23:20:38 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 02 23:29:03 2021"
      },
      "message": "Disable -Wshadow for various third_party dirs.\n\nBug: 794619\nChange-Id: Ie378571db5ef98c7aad46b810cbd3e7ddfce8243\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3257525\nAuto-Submit: Peter Kasting \u003cpkasting@chromium.org\u003e\nCommit-Queue: Peter Kasting \u003cpkasting@chromium.org\u003e\nReviewed-by: Dirk Pranke \u003cdpranke@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#937611}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bb37182a0b162d85e63690c82ef36c0c709dd43c\n"
    },
    {
      "commit": "0920e9a56f40c40bf6f7d09a88b5e1c130c8253a",
      "tree": "e01f5c221c88419160832c7d22db591dcf1def91",
      "parents": [
        "74cf6ae06b60274d6c02e7347de44b6a21a82814"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Wed Sep 01 10:48:11 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Sep 01 10:57:25 2021"
      },
      "message": "[CodeHealth] Migrate multiple python unit tests to Python3\n\nBug: 1223892\nChange-Id: I72d8a2acbd7d47eb85a1fdcf461b374f79eea342\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3065476\nReviewed-by: Dirk Pranke \u003cdpranke@google.com\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#917178}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 02442ef0cb33cdbf2c38a70f2ea10263c5f81204\n"
    },
    {
      "commit": "74cf6ae06b60274d6c02e7347de44b6a21a82814",
      "tree": "98f9b65a2497ccecc14f2e2251d858ba3bd1830e",
      "parents": [
        "e717937e3ab35a7df9922ee03c6d98e8f4ace042"
      ],
      "author": {
        "name": "Amy Huang",
        "email": "akhuang@google.com",
        "time": "Tue Aug 17 18:50:12 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Aug 17 19:00:10 2021"
      },
      "message": "Remove base::NoDestructor from class because it already has a trivial destructor\n\nThe ToTLinuxASanLibFuzzer bot has been hitting the static assert in base::NoDestructor,\nwhich seems to imply that we don\u0027t need to be using the base::NoDestructor here.\n\nBug: 1239312\nChange-Id: I23db652f93c09f20248fc7e28dd30fc3c7c9bdb1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3089973\nReviewed-by: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nCommit-Queue: Amy Huang \u003cakhuang@google.com\u003e\nCr-Commit-Position: refs/heads/master@{#912670}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7e27ace2ce7ff0e8284e07564a631ca75441e639\n"
    },
    {
      "commit": "e717937e3ab35a7df9922ee03c6d98e8f4ace042",
      "tree": "c9fa5f3ac0c97556f7c84a7bc5cba27ebfe84d5b",
      "parents": [
        "50683d896ce840c4cddb9baa5d10b03ae42992a1"
      ],
      "author": {
        "name": "Amy Huang",
        "email": "akhuang@google.com",
        "time": "Thu Aug 12 17:24:29 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Aug 12 17:32:23 2021"
      },
      "message": "Add a static_cast to avoid -Wc++11-narrowing.\n\nBug: 1239035\nChange-Id: I9da297411fc52a5cebdd243d348c1dd7a7d0a210\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3089759\nReviewed-by: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nCommit-Queue: Amy Huang \u003cakhuang@google.com\u003e\nCr-Commit-Position: refs/heads/master@{#911368}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 275d78c1365a733c64ef2fed582cf61cca7e70c0\n"
    },
    {
      "commit": "50683d896ce840c4cddb9baa5d10b03ae42992a1",
      "tree": "1534ca220ef993b18dbabc206a26ab655d2c4158",
      "parents": [
        "2950fe3f0c1689d99b379db917f26e4e8c65d838"
      ],
      "author": {
        "name": "Marijn Kruisselbrink",
        "email": "mek@chromium.org",
        "time": "Fri Jul 23 23:45:37 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jul 23 23:52:58 2021"
      },
      "message": "Roll src/third_party/sqlite/src/ 09b4d6e90..b83b12e66 (332 commits)\n\nhttps://chromium.googlesource.com/chromium/deps/sqlite.git/+log/09b4d6e90623..b83b12e6668a\n\n$ git log 09b4d6e90..b83b12e66 --date\u003dshort --no-merges --format\u003d\u0027%ad %ae %s\u0027\n2021-07-23 mek Amalgamations for release 3.36.0\n2021-06-18  Version 3.36.0\n2021-06-16  Add an ALWAYS on a branch in STAT4-only logic that is now always true due to check-in [c21bc5a2353e660f].\n2021-06-16 Dan Kennedy Omit a handful of tests from pager1.test when testing SQLITE_ENABLE_ZIPVFS builds.\n2021-06-16 Dan Kennedy Do not run test file sessionbig.test on 32-bit platforms. It uses too much memory.\n2021-06-16  Adjust the mkshellc.tcl script so that the generated code always uses unix-style line endings.\n2021-06-16 larrybr Avoid ominous warning in showdb.c\n2021-06-16  Adjustments to requirement markings in comments.  No changes to code.\n2021-06-16  Enhanced defense against integer overflow in ALTER TABLE.\n2021-06-15  Fix an incorrect ifdef in the previous check-in.\n2021-06-15  Fix some minor #ifdef issues so that all of the supported compile-time options continue to build.\n2021-06-15  Update the \"nmakehlp.c\" utility program sources associated with the TCL Extension Architecture, obtained from [https://core.tcl-lang.org/sampleextension/file].  Perhaps this new version will sit better with salmonx\u0027s static analyzer [forum:/forumpost/7f0beca9797ee23a|(ref1)], [forum:/forumpost/7d5c8b19231ad57f|(ref2)].\n2021-06-15  Add NULL checks on all sqlite3_vfs_find(0) calls.  This is not strictly necessary.  There are no vulnerabilities here.  However, adding these checks avoids unnecessary static analyzer complaints. [forum:/forumpost/ce1193be15|Forum post ce1193be15].\n2021-06-15  Prevent an infinite loop in the trim() SQL function if the second argument is a carefully malformed UTF8 string.\n2021-06-14  Fix typos in testcase() macros from check-in [c09d90eec2a49b94].\n2021-06-14  In the authorizer, use SQLITE_DROP_INDEX, not SQLITE_DROP_TEMP_INDEX when dropping an index in an attached database.\n2021-06-14 Dan Kennedy Fix an ALTER TABLE problem with handling infinite loops of CTEs in the database schema.\n2021-06-14 Dan Kennedy Fix a test script problem in corruptN.test.\n2021-06-14  An index on the expression \"likely(X)\" should store the true value of X, even if X is a real number with no fractional part.  The optimization of storing some REAL indexed values as INT (see [10d851353c2abead]) should be omitted for index columns that are expressions. [forum:/forumpost/3b940c437a|Forum post 3b940c437a].\n2021-06-14  Avoid allocating oversized column names in the sqllimit1.test module.\n2021-06-13  The opcode that preceeds OP_SeekScan is usually OP_IdxGT but can sometimes be OP_IdxGE.  Adjust asserts accordingly.  Follow-up to [9a2ab6092d644fc3].  dbsqlfuzz e41762333a4d6e90a49e628f488d0873b2dba4c5\n2021-06-13  Improved defense against OOM errors in sqliteInitOne(). dbsqlfuzz 429db39cd5777c46479641e8637c48c62890042d\n2021-06-13 larrybr Correct link in .ar help.\n2021-06-12  This is an alternative approach to the use-after-free problem fixed by [193b14a58e378ab3], saved here for historical reference.\n2021-06-11  Reapply two recent ALTER TABLE error checks that turned out to be necessary after all.  dbsqlfuzz fc5a9deefda00dda914748985155a6d4c44174e5.\n2021-06-11  Avoid bugs in some implementations of dlopen() by avoiding calls to dlopen() with a filename argument that exceeds FILENAME_MAX bytes. [forum:/forumpost/08a0d6d9bf|Forum post 08a0d6d9bf].\n2021-06-11 Dan Kennedy Fix a crash in new ALTER TABLE code that could follow an OOM.\n2021-06-11 Dan Kennedy Remove an unreachable branch added by the previous commit.\n2021-06-11 Dan Kennedy Fix problems with ALTER TABLE and schemas that contain views with some recursive CTEs, or CTEs that reference other CTEs.\n2021-06-10  Improved robustness following OOM in the constant propagation optimization. dbsqlfuzz 001a20255c0df7495c21df62a20ea5b51e22c390.\n2021-06-09  Set the database connection error code for an oversize argument to sqlite3_bind_blob64() or sqlite3_bind_text64(). [forum:/info/a636276f0d451667|Forum post a636276f0d451667] and [forum/forumpost/33821c8db543c|33821c8db543c].\n2021-06-09 Dan Kennedy Add defensive code to better handle corrupt records in fts5.\n2021-06-08  Remove two assert()s in FTS5 that checks for database corruption right before actual code does the same check. dbsqlfuzz 9680db8f5338cb9b6060eb3a02d984555d4472e3.\n2021-06-08  Try to avoid a double-free in the showdb utility program when running pgidx on a corrupt database. See [forum:/forumpost/a60ea5a4d4|forum post a60ea5a4d4] for context\n2021-06-08  Add an assert() to prevent the value of the SQLITE_VTABRISK macros from being changed in a way that would break logic.\n2021-06-08 Dan Kennedy Avoid a buffer overread in fts3 that could occur when handling corrupt data structures.\n2021-06-07 Dan Kennedy Fix a buffer overread that could occur in fts5 when handling corrupt records.\n2021-06-07 Dan Kennedy Fix a buffer overrun in fts3 that could occur when handling corrupt records and \u0027^\u0027 queries.\n2021-06-07  Add recent dbsqlfuzz test cases to test/fuzzdata8.db.\n2021-06-07  Avoid use of uninitialized memory while running defragmentPage() on a corrupt database file. dbsqlfuzz 4c45cecc0b255aaf2ea85453ccd17e814fd0b6b2\n2021-06-07  Fix an assert() in the OP_ParseSchema opcode that might fail on a corrupt database file when running with PRAGMA writable_schema\u003dON. dbsqlfuzz e7d743ca65f2767e415095f0c5a49166a0f55eea.\n2021-06-07  Remove unnecessary end-of-line whitespace from the regexp.c extension.\n2021-06-07  Omit the unnecessary highlighting of the security implications of SQLTIE_DIRECTONLY in the sqlite3_create_function() documentation. No changes to code.\n2021-06-04  A better fix for the problem addressed by [4eb80b0cc61526c1].  This fix also avoids reading uninitialized variables.\n2021-06-04 larrybr Make MSVC build examples work when taken literally, and say when they do.\n2021-06-04  Add the (missing) dependency of regexp.c to the shell.c rule in the makefiles. This dependency should have been added by [5d4535bfb603d7c8] but was missed.\n2021-06-04  Fix harmless compiler warnings.\n2021-06-04  Fix more cases in the regexp extension where the 0x00 terminator at the end of the input string is being pattern matched. [forum/forumpost/9104f0d9e7|Forum post 9104f0d9e7].\n2021-06-04  Revamp SQLITE_TESTCTRL_TUNE to provide visibility of current turning parameter values.\n2021-06-04  Add support for SQLITE_TESTCTRL_TUNE and the \".testctrl tune ID VALUE\" command in the CLI.\n(...)\n2021-04-05  Do not invoke the xDelete method when converting to PRAGMA journal_mode\u003dOFF if the underlying VFS does not support that method. dbsqlfuzz 39d6af88ef5242f866c4f9b21ede330c5c1e36a8.\n2021-04-05  As a continuation of [1f66a85b7757754f], ensure that an OOM that occurs while checking the validity of the schema is reported out as SQLITE_NOMEM and not as SQLITE_SCHEMA.\n2021-04-04  Fix an assert() in sqlite3BtreeLast() that needs an \"|| CORRUPT_DB\" term. Dbsqlfuzz case b92b72e4de80b5140c30ab71372ca719b8feb618.\n2021-04-04 larrybr Avoid compile error when SQLITE_OMIT_VIRTUALTABLE defined.\n2021-04-04 larrybr Make shell .parameter feature type-agnostic. Hush harmless compiler warning.\n2021-04-03  Improved robustness to OOM conditions in the window function logic. dbsqlfuzz 0c123f7d80b29beaafc8411c12129e46f7ffdac3.\n2021-04-03  Take care not to change an SQLITE_NOMEM error into SQLITE_SCHEMA.\n2021-04-03 Dan Kennedy Fix a crash in handling queries of the form \"SELECT aggregate(DISTINCT tbl.col) FROM ... LEFT JOIN tbl ...\". Fixes a problem introduced by [ef4ac0ddd297bbd3].\n2021-04-02  Correctly capture the error when a RETURNING clause appears on an attempt to UPDATE an eponymous virtual table. dbsqlfuzz 486f791cbe2dc45839310073e71367a1d8ad22dd.\n2021-04-02 Dan Kennedy Add experimental SQLITE_FCNTL_EXTERNAL_READER file control.\n2021-04-02  Fix a problem with the geopoly_bbox() function.\n2021-03-31  When resolving names in the RETURNING clause, do not accept trigger names even within subquires.  See [forum:/info/34c81d83c9177f46|forum post 34c81d83c9177f46] for context.\n2021-03-31  When resolving column names in the RETURNING clause, do not ignore an incorrect table name qualifier.  Raise an error instead. See [forum:forumpost/85aef8bc01|forum post 85aef8bc01] for context.\n2021-03-31  Defer deletion of expressions that are optimized out by the AND optimizer in the sqlite3ExprAnd() routine until the corresponding Parse object is deleted.  This avoids a dangling pointer in AggInfo if sqlite3ExprAnd() is invoked by the push-down optimization.  The dangling pointer appears to be harmless in release builds, only showing up in debug builds. Problem found by dbsqlfuzz.\n2021-03-31 Dan Kennedy Ensure that negative numbers may not be used in frame offset clauses even if they are initially text value. e.g. (RANGE BETWEEN \u0027-1\u0027 PRECEDING ...).\n2021-03-30  Raise an error if a term of the form \"TABLE.*\" appears in the RETURNING clause, as SQLite does not (yet) know how to handle that. Ticket [132994c8b1063bfb].\n2021-03-29 Dan Kennedy Do not do the EXISTS-to-IN transformation if the sub-select has LIMIT clause.\n2021-03-29 Dan Kennedy Add \"#ifdef SQLITE_DEBUG\" blocks around test variables sqlite3_fts5_may_be_corrupt and sqlite3_fts3_may_be_corrupt.\n2021-03-29  Fix VDBE coverage macros.\n2021-03-29  Omit the SQLITE_STOREP2 and SQLITE_KEEPNULL options from the comparison opcodes, allowing them to run faster.  This required refactoring the vector comparison logic, which in turn required changing OP_ElseNotEq into OP_ElseEq.\n2021-03-29  Add the OP_ZeroOrNull opcode and use it to compute boolean values for scalar comparisons, rather than the SQLITE_STOREP2 parameter to the comparison opcode.\n2021-03-29  The comparison opcodes (ex: OP_Eq) now set the iCompare flag so that the result of comparison can be used by subsequent OP_Jump or OP_ElseNotEq opcodes.\n2021-03-28  Alternative implementation of the comparison opcode speed-up of check-in [4a8805d9a66dc888] that should pass muster with UBSAN.\n2021-03-28  Document the \"%token\" directive for Lemon.  This directive has been in place for a while, but was previously undocumented.\n2021-03-27  For the sqlite3_bind_text16 TCL binding used for testing, ensure that there are at least 3 terminating zeros, so that there will always be a \\u0000 character even if the original byte sequence is an odd number of bytes.\n2021-03-26  In the sqlite3_bind_text and sqlite3_bind_text16 TCL commands of the test suite, ensure that the string is zero-terminated if the size argument is negative.\n2021-03-24  Remove old testcases() macros.  Also remove surplus end-of-line whitespace.\n2021-03-24  Comment improvements to on the distinct-agg optimization.  Show a line in the EQP output when using an ephemeral table to implement DISTINCT on an aggregate.\n2021-03-24  Fix a harmless compiler warning.\n2021-03-23 Dan Kennedy Fix a problem with renaming a column when there is a quoted string immediately following the column name somewhere in the schema.\n2021-03-23  Add an ALWAYS() on a branch that is always taken.\n2021-03-23  Test result adjustments in test/misc7.test due to the EQP format change.\n2021-03-23  Tweaks to test/scanstatus.test to account for the new EQP format.\n2021-03-23  Changes to test/analyzeG.test to conform to the new EXPLAIN QUERY PLAN syntax.\n2021-03-23  Fix a test case in bigmmap.test so that it works with the new EXPLAIN QUERY PLAN output format.\n2021-03-23  Add the ExprList.nAlloc column and use it to make the sqlite3ExprListAppend() routine much faster.\n2021-03-22  Increase the version number to 3.36.0 to begin the next development cycle.\n2021-03-20  Use the canonical name, not the AS name, when showing the MATERIALIZE or CO-ROUTINE lines for a CTE.\n2021-03-20  Revise tests cases to align with the new EXPLAIN QUERY PLAN output.\n2021-03-19  Further simplification of the EQP output.  Only show \"SUBQUERY n\" if the subquery is anonymous.\n2021-03-19  Improved labeling of EXPLAIN QUERY PLAN output.  Many test failures due to the different output format.\n2021-03-16 Dan Kennedy Add tests for sqlite_rename_quotefix(). Fix a memory leak in the same.\n2021-03-16 Dan Kennedy Have ALTER TABLE RENAME COLUMN and DROP COLUMN use sqlite_rename_quotefix() to convert any double-quoted strings in the database schema to their single-quoted equivalents.\n2021-03-15 Dan Kennedy Add internal SQL function sqlite_rename_quotefix(). For converting double-quoted strings to their single-quoted counterparts in DDL statements.\n2021-03-13 Dan Kennedy Fix a memory leak in the new code on this branch.\n2021-03-13 Dan Kennedy Fix typos in comments and add test cases.\n2021-03-12 Dan Kennedy Fix a crash in new code on this branch.\n2021-03-12 Dan Kennedy Attempt to use an index for DISTINCT aggregate queries that have GROUP BY clauses.\n2021-03-09 Dan Kennedy Add missing comment to new routine in select.c.\n2021-03-09 Dan Kennedy Experimental optimization for distinct aggregates (e.g. \"SELECT count(DISTINCT \u003cexpr) FROM ...\").\n\nCreated with:\n  roll-dep src/third_party/sqlite/src\n\nBug: 1229446\nChange-Id: I3e7e59026e1a1613288a82ae5c9db6b247d5f1fa\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3048991\nCommit-Queue: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nReviewed-by: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#904956}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 12c34f753baeee97733deae7fe46b74a4694e7a1\n"
    },
    {
      "commit": "2950fe3f0c1689d99b379db917f26e4e8c65d838",
      "tree": "00c5073a12e24740c07fb661beee8ebb9bff23bf",
      "parents": [
        "b3c088299fa02779ee0eb7314e8ae213d14f9f23"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Thu Jul 22 04:19:18 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 22 04:26:59 2021"
      },
      "message": "sqlite: Document sqlite-owners group.\n\nBug: 1231758, 1229825\nChange-Id: I235dde4e1d0663ed28dc03822a3c39573183fd29\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3044244\nAuto-Submit: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCommit-Queue: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nReviewed-by: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#904180}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5b28cbd9312cd74a5dcce23f8d75a58fe3345cb\n"
    },
    {
      "commit": "b3c088299fa02779ee0eb7314e8ae213d14f9f23",
      "tree": "f4c7efdecc98702f7aaa5821d366dd43a085d52b",
      "parents": [
        "c8c0bcdcb214d371cf1ec89520bbafb61a86b6e2"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Mon Jul 19 18:06:24 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jul 19 18:16:13 2021"
      },
      "message": "sqlite: Update sqlite/fuzz README\n\nDumping some more hopefully-useful knowledge into documentation\n\nBug: 1229825\nChange-Id: I3245f5c1a44eb935d7a2c319f449fbd29f7c3d95\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3033741\nAuto-Submit: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Chris Mumford \u003ccmumford@google.com\u003e\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#903094}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6898a114942fa10c4e6ccdbb9aca5470947d5abf\n"
    },
    {
      "commit": "c8c0bcdcb214d371cf1ec89520bbafb61a86b6e2",
      "tree": "5ab3a7c8c87bae077213aa4f7332caf90bedd5a7",
      "parents": [
        "c0be5df19ab36e9f72c1cc8e5481e37a5880023a"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Thu Jul 15 23:41:29 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 15 23:49:14 2021"
      },
      "message": "sqlite: Improve readme documentation.\n\nDumping lots of hopefully-useful knowledge from my time maintaining SQLite.\n\n- Some new information, particularly around how SQLite\u0027s maintenance\n  interacts with related things like release timelines, security issues,\n  etc.\n- Some smaller improvements around formatting and consistency around use\n  of terms.\n\nBug: 1229825\nChange-Id: I5d60777449316b2ec4f252fd00d7894f8ef8af2f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3032924\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Chris Mumford \u003ccmumford@google.com\u003e\nCr-Commit-Position: refs/heads/master@{#902222}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ea7040c643f6c60e142fa77260a646d98f6ca412\n"
    },
    {
      "commit": "c0be5df19ab36e9f72c1cc8e5481e37a5880023a",
      "tree": "c31dcfd17537476284df21bf82531352200bf1ba",
      "parents": [
        "89731b82256b0a83b25612cba15535acbda12913"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Thu Jul 15 05:03:02 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Jul 15 05:13:11 2021"
      },
      "message": "sqlite: Replace huangdarwin@ with mek@ as primary OWNERS.\n\nBug: 1225482\nChange-Id: Ib6a4b41bb398b5fc3ecafaf07b5f4dc4df547b80\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3028808\nCommit-Queue: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nAuto-Submit: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#901818}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4497faf8ed5337e1e5158f8da770cc26310a09ce\n"
    },
    {
      "commit": "89731b82256b0a83b25612cba15535acbda12913",
      "tree": "cb7022b39e6479bc3c11d608d7b46d9273e21eaa",
      "parents": [
        "915bc8d935ae5ca56eb8ed0070a933bf479adba6"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Wed Jun 09 21:36:28 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 09 21:51:44 2021"
      },
      "message": "sqlite: Mention where to find the current SQLite version in the README.\n\nDocumentation-only change. The version can be found in https://source.chromium.org/chromium/chromium/src/+/main:third_party/sqlite/README.chromium\n\nChange-Id: I1b07a7b1845e5555d71c8b023ebe275b16b5e545\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2947041\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nAuto-Submit: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#890961}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5d4b5f849a9ae3dc65728ebc35f1766f56393da2\n"
    },
    {
      "commit": "915bc8d935ae5ca56eb8ed0070a933bf479adba6",
      "tree": "0e266674f1304162a952ba9a58e574ff4114ac9d",
      "parents": [
        "7850b845753256f3e74c8dd06c78d877b5fc3c3c"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Thu May 27 00:18:50 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 27 00:24:05 2021"
      },
      "message": "sqlite: Build sqlite_shell with developer options.\n\nThis gives Chrome developers a SQLite shell that behaves very closely to\nproduction SQLite (modulo Perfetto\u0027s additions).\n\nThe developer shell supports the EXPLAIN QUERY PLAN [1] and EXPLAIN [2]\nstatements, which are very helpful in reasoning about SQLite query\nperformance. These statements are disabled the production SQLite build\nthat we ship in Chrome, in order to avoid associated overheads.\n\n[1] https://www.sqlite.org/eqp.html\n[2] https://www.sqlite.org/lang_explain.html\n\nTested: Built sqlite_dev_shell and tried out the statements.\nChange-Id: Idacc54d1427a7952ec1cde345c0bc9d937a441cc\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2918455\nReviewed-by: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#886970}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1969b7c3f8c7517006c04e19810c1ef5155e0ddf\n"
    },
    {
      "commit": "7850b845753256f3e74c8dd06c78d877b5fc3c3c",
      "tree": "51a355d11967894bcf887ed260facea6cabf936d",
      "parents": [
        "79ba146e97f0f365c84632a1c2de506e1ca9cd5f"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed May 26 19:24:36 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 26 19:31:02 2021"
      },
      "message": "sqlite: Transition PRESUBMIT.py to Python3.\n\nBug: 1212086\nChange-Id: Ie8d6a41e56b05293b432f1912050a52b6ad7c9f9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2918594\nAuto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#886857}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e425e4511543d057d7e35a684a762b27148399b3\n"
    },
    {
      "commit": "79ba146e97f0f365c84632a1c2de506e1ca9cd5f",
      "tree": "87489d3e93785b3f720ec363213673d9b6471031",
      "parents": [
        "d1ca1ea1fb444b812f58e4a14c772b5b33d29a02"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Wed May 26 19:11:38 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 26 19:18:46 2021"
      },
      "message": "sqlite: More guidance on avoiding NULLs.\n\nChange-Id: I60a262dc0a8d37bad44615bba98d5ff8970a0110\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2918006\nReviewed-by: Marijn Kruisselbrink \u003cmek@chromium.org\u003e\nReviewed-by: Ayu Ishii \u003cayui@chromium.org\u003e\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#886843}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0166412db5dc9cb66dc8b1cf9e2e135a6f5d5caf\n"
    },
    {
      "commit": "d1ca1ea1fb444b812f58e4a14c772b5b33d29a02",
      "tree": "f98b9a1de3e1458f7d269c7e819f2343cc8bfb08",
      "parents": [
        "c8d983b6b48a3702732e8411621122246236366a"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Tue May 25 16:42:10 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 25 16:49:06 2021"
      },
      "message": "Revert \"SQLite: Set printf() precision limits in production.\"\n\nThis reverts commit 389b0c03061ead5b97af7fb58ad18684362228b7.\n\nReason for revert: https://crbug.com/1212989 -- Turns out printf() is used internally in SQLite\u0027s schema parsing, and precision limits break it.\n\nOriginal change\u0027s description:\n\u003e SQLite: Set printf() precision limits in production.\n\u003e\n\u003e This CL sets an explicit precision limit on printf() according to the\n\u003e recommendations at\n\u003e https://www.sqlite.org/compile.html#printf_precision_limit.\n\u003e\n\u003e printf() is Web-exposed in WebSQL since Chrome 91, so we have a short\n\u003e window of opportunity to set limits, before Web properties start\n\u003e depending on the function. These limits reduce the chance that a bug in\n\u003e a site will accidentally OOM a renderer.\n\u003e\n\u003e Bug: 1211778\n\u003e Change-Id: Iff7221705761d5d5a1523051f4d6ca932da34492\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911717\n\u003e Commit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\n\u003e Commit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\n\u003e Auto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\n\u003e Reviewed-by: Darwin Huang \u003chuangdarwin@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/master@{#886041}\n\nBug: 1211778\nChange-Id: I61292fe3467e10f28d57b01c77efcfb3516ff1f4\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2917235\nAuto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\nCommit-Queue: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/master@{#886323}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1141e10e435633dddf5f9b3a84bd8c3d8aef550d\n"
    },
    {
      "commit": "c8d983b6b48a3702732e8411621122246236366a",
      "tree": "6990a864d9502efd56216dbb46a8085f82b19ab3",
      "parents": [
        "230eb00b85cfefabec04b8906378fa2508b5ce8a"
      ],
      "author": {
        "name": "Victor Costan",
        "email": "pwnall@chromium.org",
        "time": "Mon May 24 19:49:43 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 24 19:56:29 2021"
      },
      "message": "SQLite: Set printf() precision limits in production.\n\nThis CL sets an explicit precision limit on printf() according to the\nrecommendations at\nhttps://www.sqlite.org/compile.html#printf_precision_limit.\n\nprintf() is Web-exposed in WebSQL since Chrome 91, so we have a short\nwindow of opportunity to set limits, before Web properties start\ndepending on the function. These limits reduce the chance that a bug in\na site will accidentally OOM a renderer.\n\nBug: 1211778\nChange-Id: Iff7221705761d5d5a1523051f4d6ca932da34492\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911717\nCommit-Queue: Victor Costan \u003cpwnall@chromium.org\u003e\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nAuto-Submit: Victor Costan \u003cpwnall@chromium.org\u003e\nReviewed-by: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#886041}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 389b0c03061ead5b97af7fb58ad18684362228b7\n"
    },
    {
      "commit": "230eb00b85cfefabec04b8906378fa2508b5ce8a",
      "tree": "f98b9a1de3e1458f7d269c7e819f2343cc8bfb08",
      "parents": [
        "01d81b60c2a1c69a8ec360ea228062d1040aba3c"
      ],
      "author": {
        "name": "Darwin Huang",
        "email": "huangdarwin@chromium.org",
        "time": "Sat May 22 01:28:48 2021"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sat May 22 01:35:34 2021"
      },
      "message": "Sqlite: Document backup cherry-picking process.\n\nBug: 1162100\nChange-Id: I62cf9105d7ad0c9faae8b54f8127f4809f1dbf0a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2906550\nAuto-Submit: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nReviewed-by: Chris Mumford \u003ccmumford@google.com\u003e\nCommit-Queue: Darwin Huang \u003chuangdarwin@chromium.org\u003e\nCr-Commit-Position: refs/heads/master@{#885732}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 33040c832f39eb1b6c7fbf0281b3afb228b57687\n"
    }
  ],
  "next": "01d81b60c2a1c69a8ec360ea228062d1040aba3c"
}
