summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2017-12-08 10:02:28 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2017-12-08 10:02:28 +0200
commit0a02c1a6678f8ee278224ebd8ddfe74ee852cfb7 (patch)
treec834a9d3262d1389e0e76e27e154ca6a63eb2db3 /sql/sql_parse.cc
parenta61fbf87ed9f6bb68332b81bc1024d1ded944d3d (diff)
parentdfafe15abbd552ed487b2b0f7188db9303b1fa1f (diff)
downloadmariadb-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.cc33
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))
{
/*