Read-ony transactions may modify TEMP tables
Temporary tables are private to a connection and modifying a temporary
table does not lock the database. This change extends the check on
the statement characteristics: a statement is considered read-only if
it does not modify any table other than temporary tables.
The new logic to categorize a statement only runs if a prepared
statement is not read-only, in a read-only transaction. There is no
performance penalty for truly read-only statements or for read/write
transactions.
Bug: 317993835
Test: atest
* FrameworksCoreTests:android.database.sqlite
Change-Id: Ifd663dec8680d4c3c6eb9ec61f49b51eb2f11fad
4 files changed