Merge r1625247 from apr trunk:

MySQL driver: Fix incorrect check for bad parameter in the
driver support for apr_dbd_transaction_end().

PR: 56330
Submitted by: Weiqiang Li <weiqiang_li hotmail.com>


git-svn-id: https://svn.apache.org/repos/asf/apr/apr-util/branches/1.5.x@1625249 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES b/CHANGES
index cd1fc55..a0dc378 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,10 @@
                                                      -*- coding: utf-8 -*-
 Changes with APR-util 1.5.4
 
+  *) MySQL driver: Fix incorrect handling of bad parameter in the
+     driver support for apr_dbd_transaction_end().  PR 56330.
+     [Weiqiang Li <weiqiang_li hotmail.com>]
+
   *) apr_crypto_get_driver(): Fix invalid storage reference on error path.
      [Philip Martin <philip.martin wandisco.com>]
 
diff --git a/dbd/apr_dbd_mysql.c b/dbd/apr_dbd_mysql.c
index 1141c6f..3b8017d 100644
--- a/dbd/apr_dbd_mysql.c
+++ b/dbd/apr_dbd_mysql.c
@@ -1050,9 +1050,9 @@
         else {
             ret = mysql_commit(trans->handle->conn);
         }
+        ret |= mysql_autocommit(trans->handle->conn, 1);
+        trans->handle->trans = NULL;
     }
-    ret |= mysql_autocommit(trans->handle->conn, 1);
-    trans->handle->trans = NULL;
     return ret;
 }
 /* Whether or not transactions work depends on whether the