HomePhabricator

database: Avoid use of PDO transaction system for SQLite

Description

database: Avoid use of PDO transaction system for SQLite

This is in preparation for changing doBegin() to use BEGIN IMMEDIATE.

PDO::beginTransaction() doesn't support any parameters for mode.
Use direct queries instead so that modes (such as IMMEDIATE) can
be used.

Since PDO's transaction system maintains state internally (similarly
to what MediaWiki Database classes do) we have to abandon use of
PDO commit() and rollback() as well (in favour of direct queries
already provided by DatabaseBase).

Bug: T89180
Change-Id: I2ad2a3c2a6d4737f5ef8822fba7cbcf5e36021f4