1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Merge InnoDB 5.7 from mysql-5.7.9.

Contains also

MDEV-10547: Test multi_update_innodb fails with InnoDB 5.7

	The failure happened because 5.7 has changed the signature of
	the bool handler::primary_key_is_clustered() const
	virtual function ("const" was added). InnoDB was using the old
	signature which caused the function not to be used.

MDEV-10550: Parallel replication lock waits/deadlock handling does not work with InnoDB 5.7

	Fixed mutexing problem on lock_trx_handle_wait. Note that
	rpl_parallel and rpl_optimistic_parallel tests still
	fail.

MDEV-10156 : Group commit tests fail on 10.2 InnoDB (branch bb-10.2-jan)
  Reason: incorrect merge

MDEV-10550: Parallel replication can't sync with master in InnoDB 5.7 (branch bb-10.2-jan)
  Reason: incorrect merge
This commit is contained in:
Jan Lindström
2016-08-12 11:17:45 +03:00
parent 848d211c5c
commit 2e814d4702
835 changed files with 174739 additions and 84445 deletions

View File

@ -573,7 +573,32 @@ struct xid_t {
long bqual_length;
char data[XIDDATASIZE]; // not \0-terminated !
xid_t() {} /* Remove gcc warning */
xid_t() {} /* Remove gcc warning */
long get_format_id() const
{ return formatID; }
void set_format_id(long v)
{
formatID= v;
}
long get_gtrid_length() const
{ return gtrid_length; }
void set_gtrid_length(long v)
{
gtrid_length= v;
}
long get_bqual_length() const
{ return bqual_length; }
void set_bqual_length(long v)
{
bqual_length= v;
}
const char* get_data() const
{ return data; }
void set_data(const void* v, long l)
{
DBUG_ASSERT(l <= XIDDATASIZE);
memcpy(data, v, l);
}
bool eq(struct xid_t *xid)
{ return !xid->is_null() && eq(xid->gtrid_length, xid->bqual_length, xid->data); }
bool eq(long g, long b, const char *d)
@ -586,6 +611,13 @@ struct xid_t {
memcpy(data, g, gtrid_length= gl);
memcpy(data+gl, b, bqual_length= bl);
}
void reset()
{
formatID= -1;
gtrid_length= 0;
bqual_length= 0;
memset(data, 0, XIDDATASIZE);
}
void set(ulonglong xid)
{
my_xid tmp;
@ -3885,8 +3917,8 @@ public:
TABLE_SHARE* get_table_share() { return table_share; }
protected:
/* deprecated, don't use in new engines */
inline void ha_statistic_increment(ulong SSV::*offset) const { }
// inline void ha_statistic_increment(ulong SSV::*offset) const { }
#define ha_statistic_increment(A)
/* Service methods for use by storage engines. */
void **ha_data(THD *) const;
THD *ha_thd(void) const;