SQLITE_LIMIT_EXPR_DEPTH if SQLITE_DBCONFIG_DEFENSIVE is engaged.
Also give a different error message when the number of CTEs
grow too large.
This is a proposed work-around for the problem described at
[forum:/info/2026-10-16T20:30:17Z|Forum post 2026-10-16T20:30:17Z].
It does require the user to disable defensive. Perhaps for 3.55.0
I should add a new limit instead, like SQLITE_LIMIT_CTES.
FossilOrigin-Name: 2161aefeb89842ba1675f469770b81b0c9946ebdfdcbca130440e81732463916
names, the probability of being unable to create a unique names becomes
vanishingly small, essentially zero. And even if that does happen,
be sure to free the last candidate name before returning an error.
[bugs:/info/2026-10-17T09:25:38Z|Bug 2026-10-17T09:25:38Z]
FossilOrigin-Name: d43611f653bad426df8dc4ac12d0fff1662245b0715f7e66a023bd1dd129faea
Also make use of the new sqlite3_str_free() interface.
[bugs:/info/2026-10-17T09:26:21Z|Bug 2026-10-17T09:26:21Z]
FossilOrigin-Name: d3e004fe3daeb01085e969890beb56fe71839bcad0e7a19e1690a1b2d14b2775
a reprepare if a binding that is not 0 or 1 is cleared.
[forum:/info/2026-10-16T19:10:10Z|Forum post 2026-10-16T19:10:10Z].
FossilOrigin-Name: 535a77cf5a8e1a7baab14a3686deebde30a8d3c14735fadc033c1bfea5fb84a9
and rLhs are vectors and so neither should be freed using
sqlite3ReleaseTempReg(). Indeed, neither should be freed at all since
both vectors remain in use.
FossilOrigin-Name: fc7b959f45a55d95c9cb37692e82b811e3ef286a6d826895dfee9a1f2abfdcc8
resulting in the same register being on the reusable register list twice.
[bugs:/info/2026-10-14T05:52:10Z|Bug 2026-10-14T05:52:10Z].
FossilOrigin-Name: 930df67b442ed677dbe5b22afe4fb91c907c721592a8090f0a70ebea79f3a854
[bugs:/info/2026-10-11T20:33:51Z|Bug 2026-10-11T20:33:51Z]. See
also [987ba5a3dc5f2a22].
FossilOrigin-Name: 5e488c8da369cdf43e945078f3c9475f2cc5d71c099c85424f7c28ff0d4a7d61
as it should.
[forum:/info/2026-10-12T17:59:34Z|Forum post 2026-10-12T17:59:34Z].
FossilOrigin-Name: d0fe92e0ce8662b9f3391769e4602a5495c2c69591ded7d4e464e90517c1f407
Report [bugs:/info/2026-10-12T13:52:22Z | 2026-10-12T13:52:22Z]. Re-added
after the addition of a necessary prerequisite in the previous check-in.
FossilOrigin-Name: 8ab55e0185a1956fb3e131bc5faae0cf3ff5abb1f553217f2d63fcb15c75cc1f
if SQLite is compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTIONS. Adjust
asserts accordingly.
FossilOrigin-Name: dcf20611cdd4a250531d0e753144ab1b6796635331bb906df0e174aea4bd4158
prevent an assertion fault. Need to reconsider this approach in light of
[bug:/info/2026-05-18T14:04:01Z|Bug 2026-05-18T14:04:01Z]. That other
bug might be fixed incorrectly, and might also need to be backed out.
Both bugs reopened until we can complete the analysis.
FossilOrigin-Name: 163413d8e19b97e36b2a1f6734c271b3944195a213973e2975e43f45a1e80735
uses unnecessary disk access and might actually give incorrect results if
the expression was moved outside of the indexed loop. The error condition
arose in check-in [44200596aa943963] for version 3.41.0 and was first
reported 3.5 years later by
[bugs:/info/2026-10-11T19:26:40Z|Bug 2026-10-11T19:26:40Z].
FossilOrigin-Name: fee60d93e9fb37234d9cad50c65fb6d62dfe21a7fde21a16ce39025290375ad8
copy of the JSON. It needs to parse the JSON for itself.
[bugs:/info/2026-10-11T18:32:23Z|Bug 2026-10-11T18:32:23Z].
FossilOrigin-Name: ba74c33b6a69f8eeca3f8c497f9f74dd6dc92bfe8f4b0dcf0325595a5664c9d9
of check-in [7a0cdc7edb704a88]. Trouble reported by
[bugs:/info/2026-10-11T17:00:56Z|Bug 2026-10-11T17:00:56Z].
FossilOrigin-Name: 1b574df8c7df4f737ca7b7e42203a8090836a05bc808cafc8f8f70aefbe8627b
reported by [bugs:/info/2026-10-11T16:49:00Z|Bug 2026-10-11T16:49:00Z].
This problem surfaced after the fix to
[forum:/info/2025-08-21T14:14:03Z|Forum post 2025-08-21T14:14:03Z]
at check-in [e0beda7ffe92abf6]. Before that, the query would not parse.
FossilOrigin-Name: e6e27e37eb8c3159d67529959694971f35a589da75648e207c44e317e6d160be
sqlite3VdbeMakeReady() as it has been found to not work correctly on
some 32-bit builds.
[bugs:/info/2026-10-10T18:05:46Z|Bug 2026-10-10T18:05:46Z]
FossilOrigin-Name: 6ebd1e69486cabc6be3316426f67341d75073e8b392de5d6e5307662dd0000dd
[forum:/info/2026-10-09T17:57:07Z|Forum post 2026-10-09T17:57:07Z].
FossilOrigin-Name: 48fedacea79a9cd0a93d88dc38588ae0f1a011ed908b41ba4f2e2ee1160ffa44
fixes that will go into a patch release on this branch. The plan it to
periodically merge the branch into trunk, rather than cherrypicking from
trunk to branch as has been done before.
FossilOrigin-Name: 6b286a1bb034fc7f855e023aa0dab920366d949dd5fefcf2652039d5c6dc96ed
those functions are subject to change and removal at any time, lest people
come to depend on them. No changes to code.
FossilOrigin-Name: a3332bd623d997921c3186433cd1eab0c9413aa0f68d93b1731cf80128ec3a36
a COLLATE clause, as using the collating on "=" would give the wrong answer.
[bugs:/info/2026-10-08T12:36:41Z|Bugs 2026-10-08T12:36:41Z]
FossilOrigin-Name: 53a73aa03d05350ebee81c3d2aef85744c8ebeda72f565083dc4b472b57c5499
the sqldiff command-line tool in order to close comments and similar
in the case of a corrupt schema, and avoid possible SQL injection
attacks. ANT-2026-9VFH4DZS.
FossilOrigin-Name: 028a92f9c353d3b400551954de2e09c1723076491f79ff767dd24b452654fda8