diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-12-08 10:02:28 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-12-08 10:02:28 +0200 |
commit | 0a02c1a6678f8ee278224ebd8ddfe74ee852cfb7 (patch) | |
tree | c834a9d3262d1389e0e76e27e154ca6a63eb2db3 /sql/sql_parse.cc | |
parent | a61fbf87ed9f6bb68332b81bc1024d1ded944d3d (diff) | |
parent | dfafe15abbd552ed487b2b0f7188db9303b1fa1f (diff) | |
download | mariadb-git-0a02c1a6678f8ee278224ebd8ddfe74ee852cfb7.tar.gz |
Merge 10.2 into bb-10.2-ext
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r-- | sql/sql_parse.cc | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 8b1b20f5857..4246c9cdae9 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -5751,14 +5751,19 @@ end_with_restore_list: thd->print_aborted_warning(3, "RELEASE"); } #ifdef WITH_WSREP - if (WSREP(thd) && (thd->wsrep_conflict_state != NO_CONFLICT && - thd->wsrep_conflict_state != REPLAYING)) - { - DBUG_ASSERT(thd->is_error()); // the error is already issued + if (WSREP(thd)) { + + if (thd->wsrep_conflict_state == NO_CONFLICT || + thd->wsrep_conflict_state == REPLAYING) + { + my_ok(thd); + } + } else { +#endif /* WITH_WSREP */ + my_ok(thd); +#ifdef WITH_WSREP } - else #endif /* WITH_WSREP */ - my_ok(thd); break; } case SQLCOM_ROLLBACK: @@ -5795,13 +5800,16 @@ end_with_restore_list: if (tx_release) thd->set_killed(KILL_CONNECTION); #ifdef WITH_WSREP - if (WSREP(thd) && thd->wsrep_conflict_state != NO_CONFLICT) - { - DBUG_ASSERT(thd->is_error()); // the error is already issued + if (WSREP(thd)) { + if (thd->wsrep_conflict_state == NO_CONFLICT) { + my_ok(thd); + } + } else { +#endif /* WITH_WSREP */ + my_ok(thd); +#ifdef WITH_WSREP } - else #endif /* WITH_WSREP */ - my_ok(thd); break; } case SQLCOM_RELEASE_SAVEPOINT: @@ -6258,8 +6266,9 @@ finish: trans_rollback_stmt(thd); } #ifdef WITH_WSREP - else if (thd->spcont && + if (thd->spcont && (thd->wsrep_conflict_state == MUST_ABORT || + thd->wsrep_conflict_state == ABORTED || thd->wsrep_conflict_state == CERT_FAILURE)) { /* |