diff options
Diffstat (limited to 'sql/field.cc')
-rw-r--r-- | sql/field.cc | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sql/field.cc b/sql/field.cc index d099da2d959..2da84ba1316 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -327,7 +327,7 @@ bool Field::send_binary(Protocol *protocol) { char buff[MAX_FIELD_WIDTH]; String tmp(buff,sizeof(buff),charset()); - val_str(&tmp,&tmp); + val_str(&tmp); return protocol->store(tmp.ptr(), tmp.length(), tmp.charset()); } @@ -396,8 +396,8 @@ uint Field::fill_cache_field(CACHE_FIELD *copy) bool Field::get_date(TIME *ltime,uint fuzzydate) { char buff[40]; - String tmp(buff,sizeof(buff),&my_charset_bin),tmp2,*res; - if (!(res=val_str(&tmp,&tmp2)) || + String tmp(buff,sizeof(buff),&my_charset_bin),*res; + if (!(res=val_str(&tmp)) || str_to_TIME(res->ptr(),res->length(),ltime,fuzzydate) <= TIMESTAMP_DATETIME_ERROR) return 1; @@ -407,8 +407,8 @@ bool Field::get_date(TIME *ltime,uint fuzzydate) bool Field::get_time(TIME *ltime) { char buff[40]; - String tmp(buff,sizeof(buff),&my_charset_bin),tmp2,*res; - if (!(res=val_str(&tmp,&tmp2)) || + String tmp(buff,sizeof(buff),&my_charset_bin),*res; + if (!(res=val_str(&tmp)) || str_to_time(res->ptr(),res->length(),ltime)) return 1; return 0; @@ -3087,8 +3087,7 @@ longlong Field_timestamp::val_int(void) } -String *Field_timestamp::val_str(String *val_buffer, - String *val_ptr __attribute__((unused))) +String *Field_timestamp::val_str(String *val_buffer, String *val_ptr) { uint32 temp, temp2; time_t time_arg; @@ -5789,7 +5788,7 @@ create_field::create_field(Field *old_field,Field *orig_field) my_ptrdiff_t diff= (my_ptrdiff_t) (orig_field->table->rec_buff_length*2); orig_field->move_field(diff); // Points now at default_values bool is_null=orig_field->is_real_null(); - orig_field->val_str(&tmp,&tmp); + orig_field->val_str(&tmp); orig_field->move_field(-diff); // Back to record[0] if (!is_null) { |