Problem/Motivation
#2318191: [meta] Database tests fail on SQLite (reason 1) and subsequently #2428695: SQLite date handling is wrongly implemented and arguments handling needs override wrongly assumed that SQLite's custom Statement class was not needed anymore, but it's quite the opposite, both the custom Statement class and its parent, StatementPrefetch, are very still very much needed otherwise every bit of code in Drupal that deals with the database would need to take care of closing the PDOStatement cursor after each SELECT query.
The reason why SQLite's statement class was not used anymore is twofold:
1) #1953800: Make the database connection serializable made the SQLite's connection constructor call to the parent too early, so the explicit NULL value of statementClass
was never registered in the parent
2) #2010322: SQLite follow up to #1953800 'Make the database connection serializable' removed Drupal\Core\Database\Driver\sqlite\Connection::prepareQuery()
, which was still needed
Proposed resolution
Revert #2428695: SQLite date handling is wrongly implemented and arguments handling needs override and fix the two problems mentioned above.
Remaining tasks
Review the patch.
User interface changes
Nope.
API changes
Nope.