Fix and test strict keyword. #346
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The strict query mode, while hard to use as its shadowed (#328), currently errors, as it tries to convert values back to a Missing Union.
This PR uses
nonmissingtypefor strict queries to make it work. It does mean that in cases where the query starts with a NULL value, it forces the declared type, potentially corrupting custom data (like the symbol in this test). Whether this should be the default behaviour is up for discussion and will not be changed in this PR. Also see the comment here:SQLite.jl/src/SQLite.jl
Line 433 in ccdb8b0
I've also added a few type hints (found using Cthulhu) to fix type instabilities, for my large 200MB+ table, strict mode is now almost 10 times faster.