diff options
author | unknown <konstantin@mysql.com> | 2004-09-02 20:16:01 +0400 |
---|---|---|
committer | unknown <konstantin@mysql.com> | 2004-09-02 20:16:01 +0400 |
commit | 0c58737ad6700e844ab38cc2b1154509f0c236db (patch) | |
tree | 0f4b1b3d310d80daa00185bb4406575d041ac80e /sql-common | |
parent | 3c3db07321d1a75a241e1d6689dc56d9415519a5 (diff) | |
download | mariadb-git-0c58737ad6700e844ab38cc2b1154509f0c236db.tar.gz |
A fix and test case for Bug#4231 "Wrong result with MYSQL_TIME
parameters": when unpacking binary time recieved from client, handle
the case when length is 0: it means all MYSQL_TIME members are zero.
include/my_time.h:
Declaration for set_zero_time: a tiny piece of code, which I
see no reason to not reuse.
libmysql/libmysql.c:
set_zero_time implementation is now shared between client and
server.
sql-common/my_time.c:
set_zero_time implementation added.
sql/sql_prepare.cc:
A fix for Bug#4231 "Wrong result with MYSQL_TIME parameters":
when unpacking binary time recieved from client, handle the
case when length is 0: it means all MYSQL_TIME members are zero.
tests/client_test.c:
Test case for bug#4231 "Wrong result with MYSQL_TIME parameters"
Diffstat (limited to 'sql-common')
-rw-r--r-- | sql-common/my_time.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sql-common/my_time.c b/sql-common/my_time.c index fcfa2efef61..4b5daf53bea 100644 --- a/sql-common/my_time.c +++ b/sql-common/my_time.c @@ -716,3 +716,13 @@ my_system_gmt_sec(const MYSQL_TIME *t, long *my_timezone, bool *in_dst_time_gap) return (my_time_t) tmp; } /* my_system_gmt_sec */ + + +/* Set MYSQL_TIME structure to 0000-00-00 00:00:00.000000 */ + +void set_zero_time(MYSQL_TIME *tm) +{ + bzero((void*) tm, sizeof(*tm)); + tm->time_type= MYSQL_TIMESTAMP_NONE; +} + |