diff options
-rw-r--r-- | BitKeeper/etc/logging_ok | 1 | ||||
-rw-r--r-- | sql/ha_berkeley.cc | 5 | ||||
-rw-r--r-- | sql/sql_parse.cc | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok index bfd5d8f5b39..f63850d4370 100644 --- a/BitKeeper/etc/logging_ok +++ b/BitKeeper/etc/logging_ok @@ -6,3 +6,4 @@ sasha@work.mysql.com serg@serg.mysql.com yfaktoro@nslinuxw2.bedford.progress.com mwagner@evoq.home.mwagner.org +tim@work.mysql.com diff --git a/sql/ha_berkeley.cc b/sql/ha_berkeley.cc index 6cf97f16bb8..7b00720aaef 100644 --- a/sql/ha_berkeley.cc +++ b/sql/ha_berkeley.cc @@ -1374,8 +1374,9 @@ int ha_berkeley::external_lock(THD *thd, int lock_type) && !(thd->options & OPTION_BEGIN)) { /* - F_UNLOCK is done without a transaction commit / rollback. This - means that something went wrong. + F_UNLOCK is done without a transaction commit / rollback. + This happens if the thread didn't update any rows or if + something went wrong during an update. We can in this case silenty abort the transaction. */ DBUG_PRINT("trans",("aborting transaction")); diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 066885ef30a..00fac25ea15 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1539,7 +1539,7 @@ mysql_execute_command(void) /* Check if auto_commit mode changed */ if ((org_options ^ lex->options) & OPTION_AUTO_COMMIT) { - if (!org_options & OPTION_AUTO_COMMIT) + if (!(org_options & OPTION_AUTO_COMMIT)) { /* We changed to auto_commit mode */ thd->options&= ~OPTION_BEGIN; |