-
-
Notifications
You must be signed in to change notification settings - Fork 703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test failures with SQLite 3.37.0+ due to column affinity case #1647
Comments
My best guess is that this is an undocumented change in SQLite 3.38 - I get that test failure with that SQLite version. |
Had a look through the commits in sqlite/sqlite@version-3.37.2...version-3.38.0 but couldn't see anything obvious that might have caused this. Really wish I had a good mechanism for running the test suite against different SQLite versions! May have to revisit this old trick: https://til.simonwillison.net/sqlite/ld-preload |
OK, using that trick worked for testing this:
Then inside that container:
For each version of SQLite I wanted to test I needed to figure out the tarball URL - for example, for Then to build it (the
Then to test with Datasette:
After some trial and error I proved that those tests passed with 3.36.0:
BUT failed with 3.37.0:
|
I thought I'd need to introduce https://dirty-equals.helpmanual.io/types/string/ to help write tests for this, but I think I've found a good alternative that doesn't need a new dependency. |
Updated this TIL with extra patterns I figured out: https://til.simonwillison.net/sqlite/ld-preload |
These three tests are failing on my local machine:
I ran
pytest --lf -vv
and the output had things like this in it:Something is causing column types to come back in uppercase where previously they were lowercase.
The text was updated successfully, but these errors were encountered: