summaryrefslogtreecommitdiff
path: root/sql/item_sum.cc
diff options
context:
space:
mode:
authorunknown <gkodinov/kgeorge@rakia.(none)>2006-07-25 11:56:22 +0300
committerunknown <gkodinov/kgeorge@rakia.(none)>2006-07-25 11:56:22 +0300
commitbc6fd749b70a138e4c0b9fa2066eb30167a9fc8e (patch)
tree9bd1718474ea29383a75fad4935899f4442fe770 /sql/item_sum.cc
parent800b160031066ccb31bd0efab42b522b3e42b7dd (diff)
parent4e7121c07b0cfb5ed39e25edd9022ba1811d65fa (diff)
downloadmariadb-git-bc6fd749b70a138e4c0b9fa2066eb30167a9fc8e.tar.gz
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into rakia.(none):/home/kgeorge/mysql/autopush/B16712-5.0-opt sql/item_sum.cc: Auto merged sql/sql_select.cc: Auto merged
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r--sql/item_sum.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc
index 4d70debb966..b0caa5e1810 100644
--- a/sql/item_sum.cc
+++ b/sql/item_sum.cc
@@ -377,7 +377,13 @@ Field *Item_sum::create_tmp_field(bool group, TABLE *table,
case INT_RESULT:
return new Field_longlong(max_length,maybe_null,name,table,unsigned_flag);
case STRING_RESULT:
- if (max_length/collation.collation->mbmaxlen > 255 && convert_blob_length)
+ /*
+ Make sure that the blob fits into a Field_varstring which has
+ 2-byte lenght.
+ */
+ if (max_length/collation.collation->mbmaxlen > 255 &&
+ max_length/collation.collation->mbmaxlen < UINT_MAX16 &&
+ convert_blob_length)
return new Field_varstring(convert_blob_length, maybe_null,
name, table,
collation.collation);