From 84966af9fc33a4cfa72f24a57da170db28f1c55a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 21 May 2007 10:27:33 +0200 Subject: bug#23856 --- sql/field_conv.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'sql/field_conv.cc') diff --git a/sql/field_conv.cc b/sql/field_conv.cc index 5670b1e0676..5c74ea9e49f 100644 --- a/sql/field_conv.cc +++ b/sql/field_conv.cc @@ -530,7 +530,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() == FIELD_TYPE_NULL) -- cgit v1.2.1