Commit d0bce83d authored by catch's avatar catch
Browse files

Issue #3539366 by dimitriskr, andypost, godotislate: Default DB transaction...

Issue #3539366 by dimitriskr, andypost, godotislate: Default DB transaction isolation set to read-committed breaks InstallerIsolationLevelExistingSettingsTest test
parent d7987181
Loading
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -45,6 +45,9 @@ public function testInstaller(): void {
    unset($driver_test_connection['isolation_level']);
    unset($driver_test_connection['init_commands']);

    $connection = Database::getConnection('default', 'default');
    $query = $connection->isMariaDb() ? 'SELECT @@SESSION.tx_isolation' : 'SELECT @@SESSION.transaction_isolation';
    $original_transaction_level = $connection->query($query)->fetchField();
    Database::renameConnection('default', 'original_database_connection');
    Database::addConnectionInfo('default', 'default', $driver_test_connection);
    // Close and reopen the database connection, so the database init commands
@@ -52,10 +55,8 @@ public function testInstaller(): void {
    Database::closeConnection('default', 'default');
    $connection = Database::getConnection('default', 'default');

    $query = $connection->isMariaDb() ? 'SELECT @@SESSION.tx_isolation' : 'SELECT @@SESSION.transaction_isolation';

    // Test that transaction level is REPEATABLE READ.
    $this->assertEquals('REPEATABLE-READ', $connection->query($query)->fetchField());
    // Test that transaction level has not changed.
    $this->assertEquals($original_transaction_level, $connection->query($query)->fetchField());

    // Restore the old database connection.
    Database::addConnectionInfo('default', 'default', $connection_info['default']);