-
Notifications
You must be signed in to change notification settings - Fork 141
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
Support sqlite builds with DQS=off #311
base: master
Are you sure you want to change the base?
Conversation
If sqlite3 is built with double-quoted string literals disabled (which is recommended, see https://www.sqlite.org/compile.html#dqs), diskcache starts failing with the following crypting error: ``` no such column: "size" ``` This is because the syntax `WHERE key = "size"` in standard SQL refers to a column named "size", not a string literal. Parsing this as a string literal is a conditional sqlite extension. This patch makes the code more robust by avoiding this optional sqlite feature.
cc @grantjenks |
- grantjenks/python-diskcache#311 Differential Revision: https://reviews.freebsd.org/D45295 Approved by: yuri Sponsored by: SkunkWerks, GmbH
sqlite 3.49 (at least 3.49.1 released on conda forge) appears to have (possibly inadvertently) set DQS=off, so this failure has reappeared. I believe sqlite had backed away from changing this setting temporarily and I don't see the change explicitly announced in the changelog, which leads me to think this was inadvertent. Still, it would be nice to have this package be unaffeted. |
We were also bitten by this change in Conda. Agree it would be cool if diskcache would be compatible with dqs=off, since this is advocated by SQLite as the recommended option (see https://www.sqlite.org/quirks.html). Anything we can do to help get this merged? |
Just wanted to chime in and mention that we're also impacted by the conda-forge issue. I still find it to be a very useful library and would love to keep using it. |
Creating an explicit link over to the related conda-forge issue: conda-forge/sqlite-feedstock#130 |
If sqlite3 is built with double-quoted string literals disabled (which is recommended, see https://www.sqlite.org/compile.html#dqs), diskcache starts failing with the following crypting error:
This is because the syntax
WHERE key = "size"
in standard SQL refers to a column named "size", not a string literal. Parsing this as a string literal is a conditional sqlite extension.This patch makes the code more robust by avoiding this optional sqlite feature.