summaryrefslogtreecommitdiff
path: root/sql/protocol.cc
diff options
context:
space:
mode:
authorunknown <monty@narttu.mysql.fi>2003-11-03 22:48:03 +0200
committerunknown <monty@narttu.mysql.fi>2003-11-03 22:48:03 +0200
commit30c97ed1755b50f14f294108d93bd37d2094010c (patch)
tree68c6948d4fbd18bb59fa1aeafdce4a07a41b835f /sql/protocol.cc
parent78ee8de22df90d4c0d21887c67e0d0e51b210727 (diff)
parent4cb95b8dfdcd511d9e3f0a164747a5181686d2c7 (diff)
downloadmariadb-git-30c97ed1755b50f14f294108d93bd37d2094010c.tar.gz
Merge
BitKeeper/etc/ignore: auto-union include/m_ctype.h: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/func_compress.result: Auto merged mysql-test/t/date_formats.test: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_create.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/item_strfunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_yacc.yy: Auto merged strings/ctype-bin.c: Auto merged include/mysqld_error.h: Merge error messages mysql-test/r/date_formats.result: merge sql/derror.cc: Fixed wront return value sql/item_timefunc.cc: merge sql/item_timefunc.h: merge sql/mysqld.cc: merge sql/share/czech/errmsg.txt: Merge error messages sql/share/danish/errmsg.txt: Merge error messages sql/share/dutch/errmsg.txt: Merge error messages sql/share/english/errmsg.txt: Merge error messages sql/share/estonian/errmsg.txt: Merge error messages sql/share/french/errmsg.txt: Merge error messages sql/share/german/errmsg.txt: Merge error messages sql/share/greek/errmsg.txt: Merge error messages sql/share/hungarian/errmsg.txt: Merge error messages sql/share/italian/errmsg.txt: Merge error messages sql/share/japanese/errmsg.txt: Merge error messages sql/share/korean/errmsg.txt: Merge error messages sql/share/norwegian-ny/errmsg.txt: Merge error messages sql/share/norwegian/errmsg.txt: Merge error messages sql/share/polish/errmsg.txt: Merge error messages sql/share/portuguese/errmsg.txt: Merge error messages sql/share/romanian/errmsg.txt: Merge error messages sql/share/russian/errmsg.txt: Merge error messages sql/share/serbian/errmsg.txt: Merge error messages sql/share/slovak/errmsg.txt: Merge error messages sql/share/spanish/errmsg.txt: Merge error messages sql/share/swedish/errmsg.txt: Merge error messages sql/share/ukrainian/errmsg.txt: Merge error messages
Diffstat (limited to 'sql/protocol.cc')
-rw-r--r--sql/protocol.cc38
1 files changed, 21 insertions, 17 deletions
diff --git a/sql/protocol.cc b/sql/protocol.cc
index 0fe759cff67..d7a745d371d 100644
--- a/sql/protocol.cc
+++ b/sql/protocol.cc
@@ -833,12 +833,17 @@ bool Protocol_simple::store(TIME *tm)
field_pos++;
#endif
char buff[40];
- String tmp((char*) buff,sizeof(buff),&my_charset_bin);
- DATETIME_FORMAT *tmp_format= (&t_datetime_frm
- (current_thd, DATETIME_FORMAT_TYPE).datetime_format);
- make_datetime(&tmp, tm, 1, tm->second_part,
- tmp_format->format, tmp_format->format_length, 1);
- return net_store_data((char*) tmp.ptr(), tmp.length());
+ uint length;
+ length= my_sprintf(buff,(buff, "%04d-%02d-%02d %02d:%02d:%02d",
+ (int) tm->year,
+ (int) tm->month,
+ (int) tm->day,
+ (int) tm->hour,
+ (int) tm->minute,
+ (int) tm->second));
+ if (tm->second_part)
+ length+= my_sprintf(buff+length,(buff+length, ".%06d", (int)tm->second_part));
+ return net_store_data((char*) buff, length);
}
@@ -851,10 +856,7 @@ bool Protocol_simple::store_date(TIME *tm)
#endif
char buff[40];
String tmp((char*) buff,sizeof(buff),&my_charset_bin);
- DATETIME_FORMAT *tmp_format= (&t_datetime_frm
- (current_thd, DATE_FORMAT_TYPE).datetime_format);
- make_datetime(&tmp, tm, 1, 0,
- tmp_format->format, tmp_format->format_length, 1);
+ make_date((DATE_TIME_FORMAT *) 0, tm, &tmp);
return net_store_data((char*) tmp.ptr(), tmp.length());
}
@@ -873,14 +875,16 @@ bool Protocol_simple::store_time(TIME *tm)
field_pos++;
#endif
char buff[40];
- String tmp((char*) buff,sizeof(buff),&my_charset_bin);
- DATETIME_FORMAT *tmp_format= (&t_datetime_frm
- (current_thd, TIME_FORMAT_TYPE).datetime_format);
+ uint length;
uint day= (tm->year || tm->month) ? 0 : tm->day;
- tm->hour= (long) day*24L+(long) tm->hour;
- make_datetime(&tmp, tm, 0, tm->second_part,
- tmp_format->format, tmp_format->format_length, 1);
- return net_store_data((char*) tmp.ptr(), tmp.length());
+ length= my_sprintf(buff,(buff, "%s%02ld:%02d:%02d",
+ tm->neg ? "-" : "",
+ (long) day*24L+(long) tm->hour,
+ (int) tm->minute,
+ (int) tm->second));
+ if (tm->second_part)
+ length+= my_sprintf(buff+length,(buff+length, ".%06d", (int)tm->second_part));
+ return net_store_data((char*) buff, length);
}