aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/install/database_update.php21
1 files changed, 16 insertions, 5 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index 7d7572b204..5bc856250b 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -534,12 +534,23 @@ function _sql($sql, &$errored, &$error_ary, $echo_dot = true)
$db->sql_return_on_error(true);
- $result = $db->sql_query($sql);
- if ($db->sql_error_triggered)
+ if ($sql === 'begin')
+ {
+ $db->sql_transaction('begin');
+ }
+ else if ($sql === 'commit')
{
- $errored = true;
- $error_ary['sql'][] = $db->sql_error_sql;
- $error_ary['error_code'][] = $db->sql_error_returned;
+ $db->sql_transaction('commit');
+ }
+ else
+ {
+ $result = $db->sql_query($sql);
+ if ($db->sql_error_triggered)
+ {
+ $errored = true;
+ $error_ary['sql'][] = $db->sql_error_sql;
+ $error_ary['error_code'][] = $db->sql_error_returned;
+ }
}
$db->sql_return_on_error(false);