summaryrefslogtreecommitdiff
path: root/storage/innobase/data
diff options
context:
space:
mode:
Diffstat (limited to 'storage/innobase/data')
-rw-r--r--storage/innobase/data/data0data.c8
-rw-r--r--storage/innobase/data/data0type.c56
2 files changed, 15 insertions, 49 deletions
diff --git a/storage/innobase/data/data0data.c b/storage/innobase/data/data0data.c
index 804d02e8f59..fc4494d991a 100644
--- a/storage/innobase/data/data0data.c
+++ b/storage/innobase/data/data0data.c
@@ -540,8 +540,8 @@ dtuple_convert_big_rec(
n_fields = 0;
while (rec_get_converted_size(index, entry)
- >= ut_min(page_get_free_space_of_empty
- (dict_table_is_comp(index->table)) / 2,
+ >= ut_min(page_get_free_space_of_empty(
+ dict_table_is_comp(index->table)) / 2,
REC_MAX_DATA_SIZE)) {
longest = 0;
@@ -610,8 +610,8 @@ dtuple_convert_big_rec(
vector->fields[n_fields].len = dfield->len
- DICT_MAX_INDEX_COL_LEN;
- vector->fields[n_fields].data = mem_heap_alloc
- (heap, vector->fields[n_fields].len);
+ vector->fields[n_fields].data = mem_heap_alloc(
+ heap, vector->fields[n_fields].len);
/* Copy data (from the end of field) to big rec vector */
diff --git a/storage/innobase/data/data0type.c b/storage/innobase/data/data0type.c
index 43fc8c55e35..77779d185cf 100644
--- a/storage/innobase/data/data0type.c
+++ b/storage/innobase/data/data0type.c
@@ -40,9 +40,6 @@ charset-collation code for them. */
ulint data_mysql_default_charset_coll = 99999999;
-dtype_t dtype_binary_val = {DATA_BINARY, 0, 0, 0, 0, 0};
-dtype_t* dtype_binary = &dtype_binary_val;
-
/*************************************************************************
Determine how many bytes the first n characters of the given string occupy.
If the string is shorter than n characters, returns the number of bytes
@@ -53,7 +50,11 @@ dtype_get_at_most_n_mbchars(
/*========================*/
/* out: length of the prefix,
in bytes */
- const dtype_t* dtype, /* in: data type */
+ ulint prtype, /* in: precise type */
+ ulint mbminlen, /* in: minimum length of a
+ multi-byte character */
+ ulint mbmaxlen, /* in: maximum length of a
+ multi-byte character */
ulint prefix_len, /* in: length of the requested
prefix, in characters, multiplied by
dtype_get_mbmaxlen(dtype) */
@@ -63,12 +64,12 @@ dtype_get_at_most_n_mbchars(
{
#ifndef UNIV_HOTBACKUP
ut_a(data_len != UNIV_SQL_NULL);
- ut_ad(!dtype->mbmaxlen || !(prefix_len % dtype->mbmaxlen));
+ ut_ad(!mbmaxlen || !(prefix_len % mbmaxlen));
- if (dtype->mbminlen != dtype->mbmaxlen) {
- ut_a(!(prefix_len % dtype->mbmaxlen));
- return(innobase_get_at_most_n_mbchars
- (dtype_get_charset_coll(dtype->prtype),
+ if (mbminlen != mbmaxlen) {
+ ut_a(!(prefix_len % mbmaxlen));
+ return(innobase_get_at_most_n_mbchars(
+ dtype_get_charset_coll(prtype),
prefix_len, data_len, str));
}
@@ -270,8 +271,6 @@ dtype_print(
} else if (prtype == DATA_TRX_ID) {
fputs("DATA_TRX_ID", stderr);
len = DATA_TRX_ID_LEN;
- } else if (prtype == DATA_MIX_ID) {
- fputs("DATA_MIX_ID", stderr);
} else if (prtype == DATA_ENGLISH) {
fputs("DATA_ENGLISH", stderr);
} else {
@@ -291,38 +290,5 @@ dtype_print(
}
}
- fprintf(stderr, " len %lu prec %lu", (ulong) len, (ulong) type->prec);
-}
-
-/***************************************************************************
-Returns the maximum size of a data type. Note: types in system tables may be
-incomplete and return incorrect information. */
-
-ulint
-dtype_get_max_size(
-/*===============*/
- /* out: maximum size (ULINT_MAX for
- unbounded types) */
- const dtype_t* type) /* in: type */
-{
- switch (type->mtype) {
- case DATA_SYS:
- case DATA_CHAR:
- case DATA_FIXBINARY:
- case DATA_INT:
- case DATA_FLOAT:
- case DATA_DOUBLE:
- case DATA_MYSQL:
- case DATA_VARCHAR:
- case DATA_BINARY:
- case DATA_DECIMAL:
- case DATA_VARMYSQL:
- return(type->len);
- case DATA_BLOB:
- return(ULINT_MAX);
- default:
- ut_error;
- }
-
- return(ULINT_MAX);
+ fprintf(stderr, " len %lu", (ulong) len);
}