diff options
author | unknown <cmiller@zippy.cornsilk.net> | 2006-09-28 10:15:32 -0400 |
---|---|---|
committer | unknown <cmiller@zippy.cornsilk.net> | 2006-09-28 10:15:32 -0400 |
commit | 98715089c1944791d4d1b7d7cdd18eac302925e3 (patch) | |
tree | 367dcd20ddf83120466fad39d53096cf09d07694 /storage/innobase/data | |
parent | 2d48a1f2a3c3539a977839b94a9d3fe703666753 (diff) | |
parent | 96bc9f80794b305f6f7636213187472eb81a9045 (diff) | |
download | mariadb-git-98715089c1944791d4d1b7d7cdd18eac302925e3.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
include/mysql_com.h:
Auto merged
mysql-test/include/have_ndb.inc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/share/errmsg.txt:
Auto merged
support-files/mysql.spec.sh:
Auto merged
Diffstat (limited to 'storage/innobase/data')
-rw-r--r-- | storage/innobase/data/data0data.c | 8 | ||||
-rw-r--r-- | storage/innobase/data/data0type.c | 56 |
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); } |