mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge mysql.com:/misc/mysql/32180/50-32180
into mysql.com:/misc/mysql/32180/51-32180 mysql-test/r/func_time.result: Auto merged mysql-test/t/func_time.test: Auto merged sql-common/my_time.c: Auto merged
This commit is contained in:
@ -1246,6 +1246,18 @@ select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
|
|||||||
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'concat'
|
ERROR HY000: Illegal mix of collations (ascii_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation 'concat'
|
||||||
set lc_time_names=en_US;
|
set lc_time_names=en_US;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
select DATE_ADD('20071108181000', INTERVAL 1 DAY);
|
||||||
|
DATE_ADD('20071108181000', INTERVAL 1 DAY)
|
||||||
|
2007-11-09 18:10:00
|
||||||
|
select DATE_ADD(20071108181000, INTERVAL 1 DAY);
|
||||||
|
DATE_ADD(20071108181000, INTERVAL 1 DAY)
|
||||||
|
2007-11-09 18:10:00
|
||||||
|
select DATE_ADD('20071108', INTERVAL 1 DAY);
|
||||||
|
DATE_ADD('20071108', INTERVAL 1 DAY)
|
||||||
|
2007-11-09
|
||||||
|
select DATE_ADD(20071108, INTERVAL 1 DAY);
|
||||||
|
DATE_ADD(20071108, INTERVAL 1 DAY)
|
||||||
|
2007-11-09
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
|
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
|
||||||
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
|
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
|
||||||
|
@ -766,6 +766,16 @@ select concat(a,ifnull(min(date_format(now(), '%Y-%m-%d')),' ull')) from t1;
|
|||||||
set lc_time_names=en_US;
|
set lc_time_names=en_US;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#32180: DATE_ADD treats datetime numeric argument as DATE
|
||||||
|
# instead of DATETIME
|
||||||
|
#
|
||||||
|
|
||||||
|
select DATE_ADD('20071108181000', INTERVAL 1 DAY);
|
||||||
|
select DATE_ADD(20071108181000, INTERVAL 1 DAY);
|
||||||
|
select DATE_ADD('20071108', INTERVAL 1 DAY);
|
||||||
|
select DATE_ADD(20071108, INTERVAL 1 DAY);
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1105,9 +1105,14 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
|
|||||||
long part1,part2;
|
long part1,part2;
|
||||||
|
|
||||||
*was_cut= 0;
|
*was_cut= 0;
|
||||||
|
bzero((char*) time_res, sizeof(*time_res));
|
||||||
|
time_res->time_type=MYSQL_TIMESTAMP_DATE;
|
||||||
|
|
||||||
if (nr == LL(0) || nr >= LL(10000101000000))
|
if (nr == LL(0) || nr >= LL(10000101000000))
|
||||||
|
{
|
||||||
|
time_res->time_type=MYSQL_TIMESTAMP_DATETIME;
|
||||||
goto ok;
|
goto ok;
|
||||||
|
}
|
||||||
if (nr < 101)
|
if (nr < 101)
|
||||||
goto err;
|
goto err;
|
||||||
if (nr <= (YY_PART_YEAR-1)*10000L+1231L)
|
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)
|
if (nr < 101000000L)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
|
time_res->time_type=MYSQL_TIMESTAMP_DATETIME;
|
||||||
|
|
||||||
if (nr <= (YY_PART_YEAR-1)*LL(10000000000)+LL(1231235959))
|
if (nr <= (YY_PART_YEAR-1)*LL(10000000000)+LL(1231235959))
|
||||||
{
|
{
|
||||||
nr= nr+LL(20000000000000); /* YYMMDDHHMMSS, 2000-2069 */
|
nr= nr+LL(20000000000000); /* YYMMDDHHMMSS, 2000-2069 */
|
||||||
@ -1144,7 +1152,6 @@ longlong number_to_datetime(longlong nr, MYSQL_TIME *time_res,
|
|||||||
ok:
|
ok:
|
||||||
part1=(long) (nr/LL(1000000));
|
part1=(long) (nr/LL(1000000));
|
||||||
part2=(long) (nr - (longlong) part1*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->year= (int) (part1/10000L); part1%=10000L;
|
||||||
time_res->month= (int) part1 / 100;
|
time_res->month= (int) part1 / 100;
|
||||||
time_res->day= (int) part1 % 100;
|
time_res->day= (int) part1 % 100;
|
||||||
|
Reference in New Issue
Block a user