diff options
author | unknown <mhansson@dl145s.mysql.com> | 2007-05-21 14:28:31 +0200 |
---|---|---|
committer | unknown <mhansson@dl145s.mysql.com> | 2007-05-21 14:28:31 +0200 |
commit | ab267d33ffcde14acf7791638329122f66591bc7 (patch) | |
tree | ae312ba026c0dea7c15761078a939369c9d4d299 /sql/field_conv.cc | |
parent | 5d8c8803bd08bdba6c8714bfe8037c87e39f3962 (diff) | |
parent | 84966af9fc33a4cfa72f24a57da170db28f1c55a (diff) | |
download | mariadb-git-ab267d33ffcde14acf7791638329122f66591bc7.tar.gz |
Merge dl145s.mysql.com:/users/mhansson/mysql/push/bug23856/my50-bug23856
into dl145s.mysql.com:/users/mhansson/mysql/push/bug23856/my51-bug23856
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/t/func_gconcat.test:
Auto merged
sql/field.h:
Auto merged
sql/field_conv.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/item_sum.cc:
Bug#23856: Manual merge 5.0->5.1. Changed comparison to strict inequality between
convert_blob_length and UINT_MAX16. Replaced UINT_MAX16 with Field_varstring::MAX_SIZE.
Diffstat (limited to 'sql/field_conv.cc')
-rw-r--r-- | sql/field_conv.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/field_conv.cc b/sql/field_conv.cc index 9771cbc12b1..e042c0ad76d 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -529,7 +529,21 @@ void Copy_field::set(char *to,Field *from) } +/* + To do: + + If 'save\ is set to true and the 'from' is a blob field, do_copy is set to + do_save_blob rather than do_conv_blob. The only differences between them + appears to be: + - do_save_blob allocates and uses an intermediate buffer before calling + Field_blob::store. Is this in order to trigger the call to + well_formed_copy_nchars, by changing the pointer copy->tmp.ptr()? + That call will take place anyway in all known cases. + + - The above causes a truncation to MAX_FIELD_WIDTH. Is this the intended + effect? Truncation is handled by well_formed_copy_nchars anyway. + */ void Copy_field::set(Field *to,Field *from,bool save) { if (to->type() == MYSQL_TYPE_NULL) |