mirror of
https://github.com/MariaDB/server.git
synced 2026-05-14 19:07:15 +02:00
Merge remote-tracking branch 'origin/10.0' into 10.0
This commit is contained in:
commit
45898c2092
104 changed files with 574 additions and 643 deletions
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1994, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -220,15 +221,17 @@ btr_cur_optimistic_insert(
|
|||
btr_cur_t* cursor, /*!< in: cursor on page after which to insert;
|
||||
cursor stays valid */
|
||||
ulint** offsets,/*!< out: offsets on *rec */
|
||||
mem_heap_t** heap, /*!< in/out: pointer to memory heap, or NULL */
|
||||
mem_heap_t** heap, /*!< in/out: pointer to memory heap */
|
||||
dtuple_t* entry, /*!< in/out: entry to insert */
|
||||
rec_t** rec, /*!< out: pointer to inserted record if
|
||||
succeed */
|
||||
big_rec_t** big_rec,/*!< out: big rec vector whose fields have to
|
||||
be stored externally by the caller, or
|
||||
NULL */
|
||||
be stored externally by the caller */
|
||||
ulint n_ext, /*!< in: number of externally stored columns */
|
||||
que_thr_t* thr, /*!< in: query thread or NULL */
|
||||
que_thr_t* thr, /*!< in/out: query thread; can be NULL if
|
||||
!(~flags
|
||||
& (BTR_NO_LOCKING_FLAG
|
||||
| BTR_NO_UNDO_LOG_FLAG)) */
|
||||
mtr_t* mtr) /*!< in/out: mini-transaction;
|
||||
if this function returns DB_SUCCESS on
|
||||
a leaf page of a secondary index in a
|
||||
|
|
@ -256,15 +259,17 @@ btr_cur_pessimistic_insert(
|
|||
cursor stays valid */
|
||||
ulint** offsets,/*!< out: offsets on *rec */
|
||||
mem_heap_t** heap, /*!< in/out: pointer to memory heap
|
||||
that can be emptied, or NULL */
|
||||
that can be emptied */
|
||||
dtuple_t* entry, /*!< in/out: entry to insert */
|
||||
rec_t** rec, /*!< out: pointer to inserted record if
|
||||
succeed */
|
||||
big_rec_t** big_rec,/*!< out: big rec vector whose fields have to
|
||||
be stored externally by the caller, or
|
||||
NULL */
|
||||
be stored externally by the caller */
|
||||
ulint n_ext, /*!< in: number of externally stored columns */
|
||||
que_thr_t* thr, /*!< in: query thread or NULL */
|
||||
que_thr_t* thr, /*!< in/out: query thread; can be NULL if
|
||||
!(~flags
|
||||
& (BTR_NO_LOCKING_FLAG
|
||||
| BTR_NO_UNDO_LOG_FLAG)) */
|
||||
mtr_t* mtr) /*!< in/out: mini-transaction */
|
||||
MY_ATTRIBUTE((nonnull(2,3,4,5,6,7,10), warn_unused_result));
|
||||
/*************************************************************//**
|
||||
|
|
@ -390,12 +395,12 @@ btr_cur_pessimistic_update(
|
|||
ulint** offsets,/*!< out: offsets on cursor->page_cur.rec */
|
||||
mem_heap_t** offsets_heap,
|
||||
/*!< in/out: pointer to memory heap
|
||||
that can be emptied, or NULL */
|
||||
that can be emptied */
|
||||
mem_heap_t* entry_heap,
|
||||
/*!< in/out: memory heap for allocating
|
||||
big_rec and the index tuple */
|
||||
big_rec_t** big_rec,/*!< out: big rec vector whose fields have to
|
||||
be stored externally by the caller, or NULL */
|
||||
be stored externally by the caller */
|
||||
const upd_t* update, /*!< in: update vector; this is allowed also
|
||||
contain trx id and roll ptr fields, but
|
||||
the values in update vector have no effect */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2012, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -574,7 +575,8 @@ dtype_get_fixed_size_low(
|
|||
#else /* !UNIV_HOTBACKUP */
|
||||
return(len);
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
/* fall through for variable-length charsets */
|
||||
/* Treat as variable-length. */
|
||||
/* Fall through */
|
||||
case DATA_VARCHAR:
|
||||
case DATA_BINARY:
|
||||
case DATA_DECIMAL:
|
||||
|
|
|
|||
|
|
@ -782,7 +782,7 @@ fil_create_new_single_table_tablespace(
|
|||
ulint size) /*!< in: the initial size of the
|
||||
tablespace file in pages,
|
||||
must be >= FIL_IBD_FILE_INITIAL_SIZE */
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull(2), warn_unused_result));
|
||||
#ifndef UNIV_HOTBACKUP
|
||||
/********************************************************************//**
|
||||
Tries to open a single-table tablespace and optionally checks the space id is
|
||||
|
|
|
|||
|
|
@ -126,18 +126,6 @@ thd_is_replication_slave_thread(
|
|||
/*============================*/
|
||||
THD* thd); /*!< in: thread handle */
|
||||
|
||||
/******************************************************************//**
|
||||
Gets information on the durability property requested by thread.
|
||||
Used when writing either a prepare or commit record to the log
|
||||
buffer.
|
||||
@return the durability property. */
|
||||
UNIV_INTERN
|
||||
enum durability_properties
|
||||
thd_requested_durability(
|
||||
/*=====================*/
|
||||
const THD* thd) /*!< in: thread handle */
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
|
||||
/******************************************************************//**
|
||||
Returns true if the transaction this thread is processing has edited
|
||||
non-transactional tables. Used by the deadlock detector when deciding
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1995, 2009, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -787,13 +788,13 @@ mach_swap_byte_order(
|
|||
dest += len;
|
||||
|
||||
switch (len & 0x7) {
|
||||
case 0: *--dest = *from++;
|
||||
case 7: *--dest = *from++;
|
||||
case 6: *--dest = *from++;
|
||||
case 5: *--dest = *from++;
|
||||
case 4: *--dest = *from++;
|
||||
case 3: *--dest = *from++;
|
||||
case 2: *--dest = *from++;
|
||||
case 0: *--dest = *from++; /* fall through */
|
||||
case 7: *--dest = *from++; /* fall through */
|
||||
case 6: *--dest = *from++; /* fall through */
|
||||
case 5: *--dest = *from++; /* fall through */
|
||||
case 4: *--dest = *from++; /* fall through */
|
||||
case 3: *--dest = *from++; /* fall through */
|
||||
case 2: *--dest = *from++; /* fall through */
|
||||
case 1: *--dest = *from;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
Copyright (c) 2005, 2013, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2012, Facebook Inc.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -172,7 +173,8 @@ page_zip_rec_needs_ext(
|
|||
ignored if zip_size == 0 */
|
||||
ulint zip_size) /*!< in: compressed page size in bytes, or 0 */
|
||||
{
|
||||
ut_ad(rec_size > comp ? REC_N_NEW_EXTRA_BYTES : REC_N_OLD_EXTRA_BYTES);
|
||||
ut_ad(rec_size
|
||||
> (comp ? REC_N_NEW_EXTRA_BYTES : REC_N_OLD_EXTRA_BYTES));
|
||||
ut_ad(ut_is_2pow(zip_size));
|
||||
ut_ad(comp || !zip_size);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1996, 2016, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -212,10 +213,6 @@ UNIV_INTERN
|
|||
dberr_t
|
||||
trx_undo_report_row_operation(
|
||||
/*==========================*/
|
||||
ulint flags, /*!< in: if BTR_NO_UNDO_LOG_FLAG bit is
|
||||
set, does nothing */
|
||||
ulint op_type, /*!< in: TRX_UNDO_INSERT_OP or
|
||||
TRX_UNDO_MODIFY_OP */
|
||||
que_thr_t* thr, /*!< in: query thread */
|
||||
dict_index_t* index, /*!< in: clustered index */
|
||||
const dtuple_t* clust_entry, /*!< in: in the case of an insert,
|
||||
|
|
@ -233,7 +230,7 @@ trx_undo_report_row_operation(
|
|||
inserted undo log record,
|
||||
0 if BTR_NO_UNDO_LOG
|
||||
flag was specified */
|
||||
MY_ATTRIBUTE((nonnull(3,4,10), warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull(1,2,8), warn_unused_result));
|
||||
/******************************************************************//**
|
||||
Copies an undo record to heap. This function can be called if we know that
|
||||
the undo log record exists.
|
||||
|
|
@ -313,10 +310,6 @@ record */
|
|||
storage fields: used by purge to
|
||||
free the external storage */
|
||||
|
||||
/* Operation type flags used in trx_undo_report_row_operation */
|
||||
#define TRX_UNDO_INSERT_OP 1
|
||||
#define TRX_UNDO_MODIFY_OP 2
|
||||
|
||||
#ifndef UNIV_NONINL
|
||||
#include "trx0rec.ic"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1994, 2009, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 2017, MariaDB Corporation.
|
||||
|
||||
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
|
||||
|
|
@ -237,16 +238,22 @@ ut_fold_binary(
|
|||
switch (len & 0x7) {
|
||||
case 7:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 6:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 5:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 4:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 3:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 2:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
/* fall through */
|
||||
case 1:
|
||||
fold = ut_fold_ulint_pair(fold, (ulint)(*str++));
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue