diff options
author | unknown <knielsen@knielsen-hq.org> | 2010-08-04 10:39:53 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2010-08-04 10:39:53 +0200 |
commit | 3f1c763a94cd25c4810692983f6e61b528e21268 (patch) | |
tree | d8f9632933303f9bdf8cdc875613ca99f51ecbcb /storage/xtradb/data | |
parent | a74d04671d23fa65bd610184965cc2974ec41cf9 (diff) | |
parent | 0c6afe17dceb926b5c757157308188e540caec1e (diff) | |
download | mariadb-git-3f1c763a94cd25c4810692983f6e61b528e21268.tar.gz |
Merge XtraDB from Percona-Server-5.1.47-11 into MariaDB.
Diffstat (limited to 'storage/xtradb/data')
-rw-r--r-- | storage/xtradb/data/data0data.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/storage/xtradb/data/data0data.c b/storage/xtradb/data/data0data.c index e3c1f1b4f23..0715b49bf9c 100644 --- a/storage/xtradb/data/data0data.c +++ b/storage/xtradb/data/data0data.c @@ -666,6 +666,21 @@ dtuple_convert_big_rec( goto skip_field; } + /* In DYNAMIC and COMPRESSED format, store + locally any non-BLOB columns whose maximum + length does not exceed 256 bytes. This is + because there is no room for the "external + storage" flag when the maximum length is 255 + bytes or less. This restriction trivially + holds in REDUNDANT and COMPACT format, because + there we always store locally columns whose + length is up to local_len == 788 bytes. + @see rec_init_offsets_comp_ordinary */ + if (ifield->col->mtype != DATA_BLOB + && ifield->col->len < 256) { + goto skip_field; + } + longest_i = i; longest = savings; |