diff --git a/sql/handler.cc b/sql/handler.cc index 117476eb47d..e0d0f6f5a1b 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -2604,7 +2604,7 @@ static void xarecover_do_commit_or_rollback(handlerton *hton, // Populate xid using the server_id from original transaction x.set(member->xid, member->server_id); else - (XID)x= *member->full_xid; + x= *member->full_xid; rc= xarecover_decide_to_commit(member, ptr_commit_max) ? hton->commit_by_xid(hton, &x) : hton->rollback_by_xid(hton, &x); diff --git a/sql/handler.h b/sql/handler.h index 01ab2103703..41384fd6ad8 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -978,6 +978,7 @@ struct Online_alter_cache_list; struct XA_data: XID { Online_alter_cache_list *online_alter_cache= NULL; + XA_data &operator=(const XID &x) { XID::operator=(x); return *this; } }; /* diff --git a/sql/rpl_record.cc b/sql/rpl_record.cc index 6098dc7daff..b4254b7b163 100644 --- a/sql/rpl_record.cc +++ b/sql/rpl_record.cc @@ -349,7 +349,7 @@ int unpack_row(const rpl_group_info *rgi, TABLE *table, uint const colcnt, st.next_null_byte(); if (!rpl_data.is_online_alter()) { - Field *result_field; + Field *result_field= NULL; for (; i < colcnt && (result_field= table->field[i]); i++) { /*