]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
[mod_mariadb] Fix autocommit not flipping back to on when a transaction ends in mod_m...
authorAndrey Volk <andywolk@gmail.com>
Thu, 23 Jan 2020 22:59:46 +0000 (02:59 +0400)
committerAndrey Volk <andywolk@gmail.com>
Wed, 29 Jan 2020 19:55:29 +0000 (23:55 +0400)
src/mod/databases/mod_mariadb/mod_mariadb.c

index e0eea5a5a547203d45b7b17ee4ad62f794a7a22e..05151d4c890a3f647c793b47efbd5aec28c7b5cf 100644 (file)
@@ -854,14 +854,15 @@ switch_status_t database_commit(switch_database_interface_handle_t *dih)
                return SWITCH_STATUS_FALSE;
 
        result = mariadb_SQLEndTran(handle, SWITCH_TRUE);
-       result = result && database_SQLSetAutoCommitAttr(dih, SWITCH_TRUE);
-       result = result && mariadb_finish_results(handle);
+       result = database_SQLSetAutoCommitAttr(dih, SWITCH_TRUE) && result;
+       result = mariadb_finish_results(handle) && result;
 
        return result;
 }
 
 switch_status_t database_rollback(switch_database_interface_handle_t *dih)
 {
+       switch_status_t result;
        mariadb_handle_t *handle;
 
        if (!dih) {
@@ -874,9 +875,11 @@ switch_status_t database_rollback(switch_database_interface_handle_t *dih)
                return SWITCH_STATUS_FALSE;
        }
 
-       mariadb_SQLEndTran(handle, SWITCH_FALSE);
+       result = mariadb_SQLEndTran(handle, SWITCH_FALSE);
+       result = database_SQLSetAutoCommitAttr(dih, SWITCH_TRUE) && result;
+       result = mariadb_finish_results(handle) && result;
 
-       return SWITCH_STATUS_SUCCESS;
+       return result;
 }
 
 switch_status_t mariadb_handle_callback_exec_detailed(const char *file, const char *func, int line,