summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorkonstantin@mysql.com <>2005-07-14 15:14:40 +0400
committerkonstantin@mysql.com <>2005-07-14 15:14:40 +0400
commitd4df2660c62bef882a08841ee6834611f0e9dfeb (patch)
treed8cf4b0de900dce7fa5bf40c097e2e29149c33bb /sql
parent1b612b0006ab049af072749b7fc9afd2e2852152 (diff)
parent62b8e6fdd153c62a1143a65be5b3c84d37bef890 (diff)
downloadmariadb-git-d4df2660c62bef882a08841ee6834611f0e9dfeb.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/opt/local/work/mysql-4.1-root
Diffstat (limited to 'sql')
-rw-r--r--sql/field.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 64d5babd159..39a99830b14 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -47,6 +47,8 @@ uchar Field_null::null[1]={1};
const char field_separator=',';
#define DOUBLE_TO_STRING_CONVERSION_BUFFER_SIZE 320
+#define BLOB_PACK_LENGTH_TO_MAX_LENGH(arg) \
+((ulong) ((LL(1) << min(arg, 4) * 8) - LL(1)))
/*
Rules for merging different types of fields in UNION
@@ -5445,7 +5447,7 @@ Field_blob::Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg,
enum utype unireg_check_arg, const char *field_name_arg,
struct st_table *table_arg,uint blob_pack_length,
CHARSET_INFO *cs)
- :Field_str(ptr_arg, (1L << min(blob_pack_length,3)*8)-1L,
+ :Field_str(ptr_arg, BLOB_PACK_LENGTH_TO_MAX_LENGH(blob_pack_length),
null_ptr_arg, null_bit_arg, unireg_check_arg, field_name_arg,
table_arg, cs),
packlength(blob_pack_length)