public static function DatabaseTransactionSettings::GetBetterDefaults in Drupal driver for SQL Server and SQL Azure 7.2
Same name and namespace in other branches
- 7.3 sqlsrv/transaction.inc \DatabaseTransactionSettings::GetBetterDefaults()
Proposed better defaults.
Return value
2 calls to DatabaseTransactionSettings::GetBetterDefaults()
- db_transaction_sane in sqlsrv/
transaction.inc - Like db_transaction() but transaction behaviour is more sane requiring explicit commits.
- InsertQuery_sqlsrv::execute in sqlsrv/
query.inc - Executes the insert query.
File
- sqlsrv/
transaction.inc, line 217
Class
- DatabaseTransactionSettings
- Behaviour settings for a transaction.
Code
public static function GetBetterDefaults() {
// Use snapshot if available.
$isolation = DatabaseTransactionIsolationLevel::Ignore();
if ($info = \Database::getConnection()
->schema()
->getDatabaseInfo()) {
if ($info->snapshot_isolation_state == TRUE) {
$isolation = DatabaseTransactionIsolationLevel::Snapshot();
}
}
// Otherwise use Drupal's default behaviour (except for nesting!)
return new DatabaseTransactionSettings(TRUE, DatabaseTransactionScopeOption::Required(), $isolation);
}