File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -139,6 +139,25 @@ class wsrep_off
139
139
my_bool m_wsrep_on;
140
140
};
141
141
142
+ class thd_server_status
143
+ {
144
+ public:
145
+ thd_server_status (THD* thd, uint server_status, bool condition)
146
+ : m_thd(thd)
147
+ , m_thd_server_status(thd->server_status)
148
+ {
149
+ if (condition)
150
+ thd->server_status = server_status;
151
+ }
152
+ ~thd_server_status ()
153
+ {
154
+ m_thd->server_status = m_thd_server_status;
155
+ }
156
+ private:
157
+ THD* m_thd;
158
+ uint m_thd_server_status;
159
+ };
160
+
142
161
class thd_context_switch
143
162
{
144
163
public:
@@ -1094,6 +1113,9 @@ int Wsrep_schema::remove_fragments(THD* thd,
1094
1113
}
1095
1114
else
1096
1115
{
1116
+ Wsrep_schema_impl::thd_server_status
1117
+ thd_server_status (thd, thd->server_status | SERVER_STATUS_IN_TRANS,
1118
+ thd->in_multi_stmt_transaction_mode ());
1097
1119
Wsrep_schema_impl::finish_stmt (thd);
1098
1120
}
1099
1121
You can’t perform that action at this time.
0 commit comments