mirror of
https://github.com/MariaDB/server.git
synced 2026-05-12 10:00:09 +02:00
5.6.31
This commit is contained in:
parent
f1aae861ee
commit
720e04ff67
146 changed files with 1536 additions and 1481 deletions
|
|
@ -1,6 +1,6 @@
|
|||
/*****************************************************************************
|
||||
|
||||
Copyright (c) 1994, 2012, Oracle and/or its affiliates. All Rights Reserved.
|
||||
Copyright (c) 1994, 2016, 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
|
||||
|
|
@ -46,7 +46,7 @@ dtype_t*
|
|||
dfield_get_type(
|
||||
/*============*/
|
||||
const dfield_t* field) /*!< in: SQL data field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Gets pointer to the data in a field.
|
||||
@return pointer to data */
|
||||
|
|
@ -55,7 +55,7 @@ void*
|
|||
dfield_get_data(
|
||||
/*============*/
|
||||
const dfield_t* field) /*!< in: field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
#else /* UNIV_DEBUG */
|
||||
# define dfield_get_type(field) (&(field)->type)
|
||||
# define dfield_get_data(field) ((field)->data)
|
||||
|
|
@ -68,7 +68,7 @@ dfield_set_type(
|
|||
/*============*/
|
||||
dfield_t* field, /*!< in: SQL data field */
|
||||
const dtype_t* type) /*!< in: pointer to data type struct */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Gets length of field data.
|
||||
@return length of data; UNIV_SQL_NULL if SQL null data */
|
||||
|
|
@ -77,7 +77,7 @@ ulint
|
|||
dfield_get_len(
|
||||
/*===========*/
|
||||
const dfield_t* field) /*!< in: field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Sets length in a field. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -86,7 +86,7 @@ dfield_set_len(
|
|||
/*===========*/
|
||||
dfield_t* field, /*!< in: field */
|
||||
ulint len) /*!< in: length or UNIV_SQL_NULL */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Determines if a field is SQL NULL
|
||||
@return nonzero if SQL null data */
|
||||
|
|
@ -95,7 +95,7 @@ ulint
|
|||
dfield_is_null(
|
||||
/*===========*/
|
||||
const dfield_t* field) /*!< in: field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Determines if a field is externally stored
|
||||
@return nonzero if externally stored */
|
||||
|
|
@ -104,7 +104,7 @@ ulint
|
|||
dfield_is_ext(
|
||||
/*==========*/
|
||||
const dfield_t* field) /*!< in: field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Sets the "external storage" flag */
|
||||
UNIV_INLINE
|
||||
|
|
@ -112,7 +112,7 @@ void
|
|||
dfield_set_ext(
|
||||
/*===========*/
|
||||
dfield_t* field) /*!< in/out: field */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Sets pointer to the data and length in a field. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -122,7 +122,7 @@ dfield_set_data(
|
|||
dfield_t* field, /*!< in: field */
|
||||
const void* data, /*!< in: data */
|
||||
ulint len) /*!< in: length or UNIV_SQL_NULL */
|
||||
__attribute__((nonnull(1)));
|
||||
MY_ATTRIBUTE((nonnull(1)));
|
||||
/*********************************************************************//**
|
||||
Sets a data field to SQL NULL. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -130,7 +130,7 @@ void
|
|||
dfield_set_null(
|
||||
/*============*/
|
||||
dfield_t* field) /*!< in/out: field */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/**********************************************************************//**
|
||||
Writes an SQL null field full of zeros. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -139,7 +139,7 @@ data_write_sql_null(
|
|||
/*================*/
|
||||
byte* data, /*!< in: pointer to a buffer of size len */
|
||||
ulint len) /*!< in: SQL null size in bytes */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Copies the data and len fields. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -148,7 +148,7 @@ dfield_copy_data(
|
|||
/*=============*/
|
||||
dfield_t* field1, /*!< out: field to copy to */
|
||||
const dfield_t* field2) /*!< in: field to copy from */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Copies a data field to another. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -157,7 +157,7 @@ dfield_copy(
|
|||
/*========*/
|
||||
dfield_t* field1, /*!< out: field to copy to */
|
||||
const dfield_t* field2) /*!< in: field to copy from */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Copies the data pointed to by a data field. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -166,7 +166,7 @@ dfield_dup(
|
|||
/*=======*/
|
||||
dfield_t* field, /*!< in/out: data field */
|
||||
mem_heap_t* heap) /*!< in: memory heap where allocated */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
#ifndef UNIV_HOTBACKUP
|
||||
/*********************************************************************//**
|
||||
Tests if two data fields are equal.
|
||||
|
|
@ -181,7 +181,7 @@ dfield_datas_are_binary_equal(
|
|||
const dfield_t* field2, /*!< in: field */
|
||||
ulint len) /*!< in: maximum prefix to compare,
|
||||
or 0 to compare the whole field length */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Tests if dfield data length and content is equal to the given.
|
||||
@return TRUE if equal */
|
||||
|
|
@ -192,7 +192,7 @@ dfield_data_is_binary_equal(
|
|||
const dfield_t* field, /*!< in: field */
|
||||
ulint len, /*!< in: data length or UNIV_SQL_NULL */
|
||||
const byte* data) /*!< in: data */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
/*********************************************************************//**
|
||||
Gets number of fields in a data tuple.
|
||||
|
|
@ -202,7 +202,7 @@ ulint
|
|||
dtuple_get_n_fields(
|
||||
/*================*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
#ifdef UNIV_DEBUG
|
||||
/*********************************************************************//**
|
||||
Gets nth field of a tuple.
|
||||
|
|
@ -224,7 +224,7 @@ ulint
|
|||
dtuple_get_info_bits(
|
||||
/*=================*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Sets info bits in a data tuple. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -233,7 +233,7 @@ dtuple_set_info_bits(
|
|||
/*=================*/
|
||||
dtuple_t* tuple, /*!< in: tuple */
|
||||
ulint info_bits) /*!< in: info bits */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Gets number of fields used in record comparisons.
|
||||
@return number of fields used in comparisons in rem0cmp.* */
|
||||
|
|
@ -242,7 +242,7 @@ ulint
|
|||
dtuple_get_n_fields_cmp(
|
||||
/*====================*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/*********************************************************************//**
|
||||
Gets number of fields used in record comparisons. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -252,7 +252,7 @@ dtuple_set_n_fields_cmp(
|
|||
dtuple_t* tuple, /*!< in: tuple */
|
||||
ulint n_fields_cmp) /*!< in: number of fields used in
|
||||
comparisons in rem0cmp.* */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
|
||||
/* Estimate the number of bytes that are going to be allocated when
|
||||
creating a new dtuple_t object */
|
||||
|
|
@ -272,7 +272,7 @@ dtuple_create_from_mem(
|
|||
void* buf, /*!< in, out: buffer to use */
|
||||
ulint buf_size, /*!< in: buffer size */
|
||||
ulint n_fields) /*!< in: number of fields */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
|
||||
/**********************************************************//**
|
||||
Creates a data tuple to a memory heap. The default value for number
|
||||
|
|
@ -286,7 +286,7 @@ dtuple_create(
|
|||
is created, DTUPLE_EST_ALLOC(n_fields)
|
||||
bytes will be allocated from this heap */
|
||||
ulint n_fields)/*!< in: number of fields */
|
||||
__attribute__((nonnull, malloc));
|
||||
MY_ATTRIBUTE((nonnull, malloc));
|
||||
|
||||
/*********************************************************************//**
|
||||
Sets number of fields used in a tuple. Normally this is set in
|
||||
|
|
@ -297,7 +297,7 @@ dtuple_set_n_fields(
|
|||
/*================*/
|
||||
dtuple_t* tuple, /*!< in: tuple */
|
||||
ulint n_fields) /*!< in: number of fields */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Copies a data tuple to another. This is a shallow copy; if a deep copy
|
||||
is desired, dfield_dup() will have to be invoked on each field.
|
||||
|
|
@ -309,7 +309,7 @@ dtuple_copy(
|
|||
const dtuple_t* tuple, /*!< in: tuple to copy from */
|
||||
mem_heap_t* heap) /*!< in: memory heap
|
||||
where the tuple is created */
|
||||
__attribute__((nonnull, malloc));
|
||||
MY_ATTRIBUTE((nonnull, malloc));
|
||||
/**********************************************************//**
|
||||
The following function returns the sum of data lengths of a tuple. The space
|
||||
occupied by the field structs or the tuple struct is not counted.
|
||||
|
|
@ -320,7 +320,7 @@ dtuple_get_data_size(
|
|||
/*=================*/
|
||||
const dtuple_t* tuple, /*!< in: typed data tuple */
|
||||
ulint comp) /*!< in: nonzero=ROW_FORMAT=COMPACT */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*********************************************************************//**
|
||||
Computes the number of externally stored fields in a data tuple.
|
||||
@return number of fields */
|
||||
|
|
@ -329,7 +329,7 @@ ulint
|
|||
dtuple_get_n_ext(
|
||||
/*=============*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/************************************************************//**
|
||||
Compare two data tuples, respecting the collation of character fields.
|
||||
@return 1, 0 , -1 if tuple1 is greater, equal, less, respectively,
|
||||
|
|
@ -340,7 +340,7 @@ dtuple_coll_cmp(
|
|||
/*============*/
|
||||
const dtuple_t* tuple1, /*!< in: tuple 1 */
|
||||
const dtuple_t* tuple2) /*!< in: tuple 2 */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/************************************************************//**
|
||||
Folds a prefix given as the number of fields of a tuple.
|
||||
@return the folded value */
|
||||
|
|
@ -353,7 +353,7 @@ dtuple_fold(
|
|||
ulint n_bytes,/*!< in: number of bytes to fold in an
|
||||
incomplete last field */
|
||||
index_id_t tree_id)/*!< in: index tree id */
|
||||
__attribute__((nonnull, pure, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, pure, warn_unused_result));
|
||||
/*******************************************************************//**
|
||||
Sets types of fields binary in a tuple. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -362,7 +362,7 @@ dtuple_set_types_binary(
|
|||
/*====================*/
|
||||
dtuple_t* tuple, /*!< in: data tuple */
|
||||
ulint n) /*!< in: number of fields to set */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/**********************************************************************//**
|
||||
Checks if a dtuple contains an SQL null value.
|
||||
@return TRUE if some field is SQL null */
|
||||
|
|
@ -371,7 +371,7 @@ ibool
|
|||
dtuple_contains_null(
|
||||
/*=================*/
|
||||
const dtuple_t* tuple) /*!< in: dtuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/**********************************************************//**
|
||||
Checks that a data field is typed. Asserts an error if not.
|
||||
@return TRUE if ok */
|
||||
|
|
@ -380,7 +380,7 @@ ibool
|
|||
dfield_check_typed(
|
||||
/*===============*/
|
||||
const dfield_t* field) /*!< in: data field */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/**********************************************************//**
|
||||
Checks that a data tuple is typed. Asserts an error if not.
|
||||
@return TRUE if ok */
|
||||
|
|
@ -389,7 +389,7 @@ ibool
|
|||
dtuple_check_typed(
|
||||
/*===============*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
/**********************************************************//**
|
||||
Checks that a data tuple is typed.
|
||||
@return TRUE if ok */
|
||||
|
|
@ -398,7 +398,7 @@ ibool
|
|||
dtuple_check_typed_no_assert(
|
||||
/*=========================*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
#ifdef UNIV_DEBUG
|
||||
/**********************************************************//**
|
||||
Validates the consistency of a tuple which must be complete, i.e,
|
||||
|
|
@ -409,7 +409,7 @@ ibool
|
|||
dtuple_validate(
|
||||
/*============*/
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, warn_unused_result));
|
||||
#endif /* UNIV_DEBUG */
|
||||
/*************************************************************//**
|
||||
Pretty prints a dfield value according to its data type. */
|
||||
|
|
@ -418,7 +418,7 @@ void
|
|||
dfield_print(
|
||||
/*=========*/
|
||||
const dfield_t* dfield) /*!< in: dfield */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/*************************************************************//**
|
||||
Pretty prints a dfield value according to its data type. Also the hex string
|
||||
is printed if a string contains non-printable characters. */
|
||||
|
|
@ -427,7 +427,7 @@ void
|
|||
dfield_print_also_hex(
|
||||
/*==================*/
|
||||
const dfield_t* dfield) /*!< in: dfield */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/**********************************************************//**
|
||||
The following function prints the contents of a tuple. */
|
||||
UNIV_INTERN
|
||||
|
|
@ -436,7 +436,7 @@ dtuple_print(
|
|||
/*=========*/
|
||||
FILE* f, /*!< in: output stream */
|
||||
const dtuple_t* tuple) /*!< in: tuple */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/**************************************************************//**
|
||||
Moves parts of long fields in entry to the big record vector so that
|
||||
the size of tuple drops below the maximum record size allowed in the
|
||||
|
|
@ -453,7 +453,7 @@ dtuple_convert_big_rec(
|
|||
dtuple_t* entry, /*!< in/out: index entry */
|
||||
ulint* n_ext) /*!< in/out: number of
|
||||
externally stored columns */
|
||||
__attribute__((nonnull, malloc, warn_unused_result));
|
||||
MY_ATTRIBUTE((nonnull, malloc, warn_unused_result));
|
||||
/**************************************************************//**
|
||||
Puts back to entry the data stored in vector. Note that to ensure the
|
||||
fields in entry can accommodate the data, vector must have been created
|
||||
|
|
@ -466,7 +466,7 @@ dtuple_convert_back_big_rec(
|
|||
dtuple_t* entry, /*!< in: entry whose data was put to vector */
|
||||
big_rec_t* vector) /*!< in, own: big rec vector; it is
|
||||
freed in this function */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
/**************************************************************//**
|
||||
Frees the memory in a big rec vector. */
|
||||
UNIV_INLINE
|
||||
|
|
@ -475,7 +475,7 @@ dtuple_big_rec_free(
|
|||
/*================*/
|
||||
big_rec_t* vector) /*!< in, own: big rec vector; it is
|
||||
freed in this function */
|
||||
__attribute__((nonnull));
|
||||
MY_ATTRIBUTE((nonnull));
|
||||
|
||||
/*######################################################################*/
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue