Skip to content

Add StrictDecoding trait - #489

Merged
stephencelis merged 12 commits into
mainfrom
strict-decoding
Aug 11, 2026
Merged

Add StrictDecoding trait#489
stephencelis merged 12 commits into
mainfrom
strict-decoding

Conversation

@stephencelis

Copy link
Copy Markdown
Member

Adopts strict decoding introduced in StructuredQueries, ensuring that type mismatches are better caught. By default, decoding is lenient but will begin to emit runtime warnings so that developers can resolve existing issues in their code base. Once migrated, folks can enable the StrictDecoding trait for harder failure, and in a 2.0 major release strict decoding will likely be the default.

Adopts strict decoding introduced in StructuredQueries, ensuring that
type mismatches are better caught. By default, decoding is lenient but
will begin to emit runtime warnings so that developers can resolve
existing issues in their code base. Once migrated, folks can enable the
`StrictDecoding` trait for harder failure, and in a 2.0 major release
strict decoding will likely be the default.
@stephencelis
stephencelis requested a review from mbrandonw July 8, 2026 19:07
stephencelis and others added 11 commits July 8, 2026 13:06
* Add `LazyInitializableByDefault` trait

Makes it easier to turn on the StructuredQueries trait without an
explicit dependency.

* wip
* use typed throws in SQLite query/function decoder

This prevents an allocation, particularly on type mismatch, improving
performance for columns containing multiple data types.

* Refactor date decoding logic in SQLiteFunctionDecoder

* Fix date decoding logic in SQLiteQueryDecoder

---------

Co-authored-by: Stephen Celis <stephen.celis@gmail.com>
Co-authored-by: Stephen Celis <stephen@stephencelis.com>
@stephencelis
stephencelis merged commit fcd8dce into main Aug 11, 2026
3 of 5 checks passed
@stephencelis
stephencelis deleted the strict-decoding branch August 11, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants