summaryrefslogtreecommitdiff
path: root/sql-common
diff options
context:
space:
mode:
authorunknown <tnurnberg@white.intern.koehntopp.de>2007-11-17 05:57:21 +0100
committerunknown <tnurnberg@white.intern.koehntopp.de>2007-11-17 05:57:21 +0100
commit8309c197faab8b6c49e26082f5e24ee38ae834b2 (patch)
tree97fb75ac3b33df4f54bb08644cfeb1466618ba2f /sql-common
parent9a0020b5c41977df46d83baaa3f03b53ea87412b (diff)
parent5e9933d7ff7d7fdd0e8b117b0344b127d5f23ffa (diff)
downloadmariadb-git-8309c197faab8b6c49e26082f5e24ee38ae834b2.tar.gz
Merge mysql.com:/misc/mysql/mysql-5.0-opt
into mysql.com:/misc/mysql/32180/50-32180 sql-common/my_time.c: Auto merged
Diffstat (limited to 'sql-common')
-rw-r--r--sql-common/my_time.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sql-common/my_time.c b/sql-common/my_time.c
index 453c7b73008..ecc5aaf8af2 100644
--- a/sql-common/my_time.c
+++ b/sql-common/my_time.c
@@ -1108,9 +1108,14 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
long part1,part2;
*was_cut= 0;
+ bzero((char*) time_res, sizeof(*time_res));
+ time_res->time_type=MYSQL_TIMESTAMP_DATE;
if (nr == LL(0) || nr >= LL(10000101000000))
+ {
+ time_res->time_type=MYSQL_TIMESTAMP_DATETIME;
goto ok;
+ }
if (nr < 101)
goto err;
if (nr <= (YY_PART_YEAR-1)*10000L+1231L)
@@ -1134,6 +1139,9 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
}
if (nr < 101000000L)
goto err;
+
+ time_res->time_type=MYSQL_TIMESTAMP_DATETIME;
+
if (nr <= (YY_PART_YEAR-1)*LL(10000000000)+LL(1231235959))
{
nr= nr+LL(20000000000000); /* YYMMDDHHMMSS, 2000-2069 */
@@ -1147,7 +1155,6 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
ok:
part1=(long) (nr/LL(1000000));
part2=(long) (nr - (longlong) part1*LL(1000000));
- bzero((char*) time_res, sizeof(*time_res));
time_res->year= (int) (part1/10000L); part1%=10000L;
time_res->month= (int) part1 / 100;
time_res->day= (int) part1 % 100;