- Issue created by @Driskell
In https://www.drupal.org/project/drupal/issues/3181013 🐛 Faulty permanent config cache has been set to the cache backend on failed sql server connection Fixed there is an issue with configuration storage and we need a test that can simulate a failure of storage. It does this well by creating tables with invalid schema so queries fail.
However, with SQLite storage used for a lot of testing, there is an issue in that it uses double quoted identifiers. Even though the schema is wrong and we are selecting from invalid columns - the query succeeds. This appears to be normal behaviour for double quoted identifiers:
https://www.sqlite.org/lang_keywords.html
> If a keyword in double quotes (ex: "key" or "glob") is used in a context where it cannot be resolved to an identifier but where a string literal is allowed, then the token is understood to be a string literal instead of an identifier.
-
Change the identifiers to be either square brackets (MS Access compatibility) or grace accents (MySQL compatibility).
Although these are non-SQL conformant and for compatibility purposes - it's the only way to prevent a quoted identified from being treated as a string literal, and the only way I can currently think to allow us to write the tests needed for the above issue.
* Change identifierQuotes on the SQLite connection to square brackets
* Is a test required? I would anticipate as its configuration, it's not needed, and any regression here would begin failing the above issues tests if it was unblocked
None
Hopefully none, as this is in the driver layer, but arguably impacts all queries.
None
TBD
Active
10.1 ✨