summaryrefslogtreecommitdiffstats
path: root/system/drivers/DB_mysqli.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/drivers/DB_mysqli.php')
-rw-r--r--system/drivers/DB_mysqli.php7
1 files changed, 6 insertions, 1 deletions
diff --git a/system/drivers/DB_mysqli.php b/system/drivers/DB_mysqli.php
index a5237c832..288f552dd 100644
--- a/system/drivers/DB_mysqli.php
+++ b/system/drivers/DB_mysqli.php
@@ -127,7 +127,7 @@ class CI_DB_mysqli extends CI_DB {
* @access public
* @return bool
*/
- function trans_begin()
+ function trans_begin($test_mode = FALSE)
{
if ( ! $this->trans_enabled)
{
@@ -140,6 +140,11 @@ class CI_DB_mysqli extends CI_DB {
return TRUE;
}
+ // Reset the transaction failure flag.
+ // If the $test_mode flag is set to TRUE transactions will be rolled back
+ // even if the queries produce a successful result.
+ $this->_trans_failure = ($test_mode === TRUE) ? TRUE : FALSE;
+
$this->simple_query('SET AUTOCOMMIT=0');
$this->simple_query('START TRANSACTION'); // can also be BEGIN or BEGIN WORK
return TRUE;