diff options
author | tnurnberg@white.intern.koehntopp.de <> | 2007-11-17 00:03:12 +0100 |
---|---|---|
committer | tnurnberg@white.intern.koehntopp.de <> | 2007-11-17 00:03:12 +0100 |
commit | 2adbc2e0fba980193e3e9d929c2065a5467f5a9a (patch) | |
tree | 0a1cf9f44c8beca392dafceab9e0b0d974212778 /sql-common | |
parent | 7260dbdbd28dfccc9ba5d3aef5c0161b40d570e2 (diff) | |
parent | 4a7c875673ea3b7e487e09068f37e878dc16c60b (diff) | |
download | mariadb-git-2adbc2e0fba980193e3e9d929c2065a5467f5a9a.tar.gz |
Merge mysql.com:/misc/mysql/32180/50-32180
into mysql.com:/misc/mysql/32180/51-32180
Diffstat (limited to 'sql-common')
-rw-r--r-- | sql-common/my_time.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sql-common/my_time.c b/sql-common/my_time.c index a1a3e0b6c77..a6d3a4246ad 100644 --- a/sql-common/my_time.c +++ b/sql-common/my_time.c @@ -1105,9 +1105,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) @@ -1131,6 +1136,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 */ @@ -1144,7 +1152,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; |