mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02: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:
parent
848d211c5c
commit
2e814d4702
835 changed files with 173885 additions and 83591 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free Software
|
||||
|
|
@ -26,6 +26,8 @@ Created 11/28/1995 Heikki Tuuri
|
|||
#ifndef fut0lst_h
|
||||
#define fut0lst_h
|
||||
|
||||
#ifndef UNIV_INNOCHECKSUM
|
||||
|
||||
#include "univ.i"
|
||||
|
||||
#include "fil0fil.h"
|
||||
|
|
@ -41,11 +43,12 @@ typedef byte flst_node_t;
|
|||
|
||||
/* The physical size of a list base node in bytes */
|
||||
#define FLST_BASE_NODE_SIZE (4 + 2 * FIL_ADDR_SIZE)
|
||||
#endif /* !UNIV_INNOCHECKSUM */
|
||||
|
||||
/* The physical size of a list node in bytes */
|
||||
#define FLST_NODE_SIZE (2 * FIL_ADDR_SIZE)
|
||||
|
||||
#ifndef UNIV_HOTBACKUP
|
||||
#if !defined UNIV_HOTBACKUP && !defined UNIV_INNOCHECKSUM
|
||||
/********************************************************************//**
|
||||
Initializes a list base node. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -56,7 +59,6 @@ flst_init(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Adds a node as the last node in a list. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_add_last(
|
||||
/*==========*/
|
||||
|
|
@ -65,7 +67,6 @@ flst_add_last(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Adds a node as the first node in a list. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_add_first(
|
||||
/*===========*/
|
||||
|
|
@ -74,7 +75,6 @@ flst_add_first(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Inserts a node after another in a list. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_insert_after(
|
||||
/*==============*/
|
||||
|
|
@ -84,7 +84,6 @@ flst_insert_after(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Inserts a node before another in a list. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_insert_before(
|
||||
/*===============*/
|
||||
|
|
@ -94,7 +93,6 @@ flst_insert_before(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Removes a node. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_remove(
|
||||
/*========*/
|
||||
|
|
@ -105,7 +103,6 @@ flst_remove(
|
|||
Cuts off the tail of the list, including the node given. The number of
|
||||
nodes which will be removed must be provided by the caller, as this function
|
||||
does not measure the length of the tail. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_cut_end(
|
||||
/*=========*/
|
||||
|
|
@ -118,7 +115,6 @@ flst_cut_end(
|
|||
Cuts off the tail of the list, not including the given node. The number of
|
||||
nodes which will be removed must be provided by the caller, as this function
|
||||
does not measure the length of the tail. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_truncate_end(
|
||||
/*==============*/
|
||||
|
|
@ -126,18 +122,16 @@ flst_truncate_end(
|
|||
flst_node_t* node2, /*!< in: first node not to remove */
|
||||
ulint n_nodes,/*!< in: number of nodes to remove */
|
||||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Gets list length.
|
||||
@return length */
|
||||
/** Get the length of a list.
|
||||
@param[in] base base node
|
||||
@return length */
|
||||
UNIV_INLINE
|
||||
ulint
|
||||
flst_get_len(
|
||||
/*=========*/
|
||||
const flst_base_node_t* base, /*!< in: pointer to base node */
|
||||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
const flst_base_node_t* base);
|
||||
/********************************************************************//**
|
||||
Gets list first node address.
|
||||
@return file address */
|
||||
@return file address */
|
||||
UNIV_INLINE
|
||||
fil_addr_t
|
||||
flst_get_first(
|
||||
|
|
@ -146,7 +140,7 @@ flst_get_first(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Gets list last node address.
|
||||
@return file address */
|
||||
@return file address */
|
||||
UNIV_INLINE
|
||||
fil_addr_t
|
||||
flst_get_last(
|
||||
|
|
@ -155,7 +149,7 @@ flst_get_last(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Gets list next node address.
|
||||
@return file address */
|
||||
@return file address */
|
||||
UNIV_INLINE
|
||||
fil_addr_t
|
||||
flst_get_next_addr(
|
||||
|
|
@ -164,7 +158,7 @@ flst_get_next_addr(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Gets list prev node address.
|
||||
@return file address */
|
||||
@return file address */
|
||||
UNIV_INLINE
|
||||
fil_addr_t
|
||||
flst_get_prev_addr(
|
||||
|
|
@ -182,7 +176,7 @@ flst_write_addr(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Reads a file address.
|
||||
@return file address */
|
||||
@return file address */
|
||||
UNIV_INLINE
|
||||
fil_addr_t
|
||||
flst_read_addr(
|
||||
|
|
@ -191,8 +185,7 @@ flst_read_addr(
|
|||
mtr_t* mtr); /*!< in: mini-transaction handle */
|
||||
/********************************************************************//**
|
||||
Validates a file-based list.
|
||||
@return TRUE if ok */
|
||||
UNIV_INTERN
|
||||
@return TRUE if ok */
|
||||
ibool
|
||||
flst_validate(
|
||||
/*==========*/
|
||||
|
|
@ -200,7 +193,6 @@ flst_validate(
|
|||
mtr_t* mtr1); /*!< in: mtr */
|
||||
/********************************************************************//**
|
||||
Prints info of a file-based list. */
|
||||
UNIV_INTERN
|
||||
void
|
||||
flst_print(
|
||||
/*=======*/
|
||||
|
|
@ -212,6 +204,6 @@ flst_print(
|
|||
#include "fut0lst.ic"
|
||||
#endif
|
||||
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
#endif /* !UNIV_HOTBACKUP && !UNIV_INNOCHECKSUM*/
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue