mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge polly.local:/tmp/maint/bug11655/my41-bug11655
into polly.local:/home/kaa/src/maint/m41-maint--07OGk sql/field.cc: Auto merged sql/item_timefunc.cc: Auto merged mysql-test/r/func_time.result: Manually merged mysql-test/t/func_time.test: Manually merged
This commit is contained in:
@ -97,7 +97,9 @@ subtime("02:01:01.999999", "01:01:01.999999")
|
||||
01:00:00.000000
|
||||
select timediff("1997-01-01 23:59:59.000001","1995-12-31 23:59:59.000002");
|
||||
timediff("1997-01-01 23:59:59.000001","1995-12-31 23:59:59.000002")
|
||||
8807:59:59.999999
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '8807:59:59.999999'
|
||||
select timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002");
|
||||
timediff("1997-12-31 23:59:59.000001","1997-12-30 01:01:01.000002")
|
||||
46:58:57.999999
|
||||
@ -208,13 +210,16 @@ NULL NULL
|
||||
SELECT TIMEDIFF(t1,t4) As ttt, TIMEDIFF(t2, t3) As qqq from test;
|
||||
ttt qqq
|
||||
-744:00:00 NULL
|
||||
26305:01:02 22:58:58
|
||||
-26305:01:02 -22:58:58
|
||||
838:59:59 22:58:58
|
||||
-838:59:59 -22:58:58
|
||||
NULL 26:02:02
|
||||
00:00:00 -26:02:02
|
||||
NULL NULL
|
||||
NULL NULL
|
||||
00:00:00 -24:00:00
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '26305:01:02'
|
||||
Warning 1292 Truncated incorrect time value: '-26305:01:02'
|
||||
drop table t1, test;
|
||||
select addtime("-01:01:01.01", "-23:59:59.1") as a;
|
||||
a
|
||||
@ -224,7 +229,9 @@ a
|
||||
10000
|
||||
select microsecond(19971231235959.01) as a;
|
||||
a
|
||||
10000
|
||||
0
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '19971231235959.01'
|
||||
select date_add("1997-12-31",INTERVAL "10.09" SECOND_MICROSECOND) as a;
|
||||
a
|
||||
1997-12-31 00:00:10.090000
|
||||
|
@ -330,7 +330,9 @@ extract(DAY_MINUTE FROM "02 10:11:12")
|
||||
21011
|
||||
select extract(DAY_SECOND FROM "225 10:11:12");
|
||||
extract(DAY_SECOND FROM "225 10:11:12")
|
||||
225101112
|
||||
8385959
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '225 10:11:12'
|
||||
select extract(HOUR FROM "1999-01-02 10:11:12");
|
||||
extract(HOUR FROM "1999-01-02 10:11:12")
|
||||
10
|
||||
@ -694,6 +696,93 @@ t1 CREATE TABLE `t1` (
|
||||
`from_unixtime(1) + 0` double(23,6) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
SELECT SEC_TO_TIME(3300000);
|
||||
SEC_TO_TIME(3300000)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '3300000'
|
||||
SELECT SEC_TO_TIME(3300000)+0;
|
||||
SEC_TO_TIME(3300000)+0
|
||||
8385959.000000
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '3300000'
|
||||
SELECT SEC_TO_TIME(3600 * 4294967296);
|
||||
SEC_TO_TIME(3600 * 4294967296)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '15461882265600'
|
||||
SELECT TIME_TO_SEC('916:40:00');
|
||||
TIME_TO_SEC('916:40:00')
|
||||
3020399
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '916:40:00'
|
||||
SELECT ADDTIME('500:00:00', '416:40:00');
|
||||
ADDTIME('500:00:00', '416:40:00')
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '916:40:00'
|
||||
SELECT ADDTIME('916:40:00', '416:40:00');
|
||||
ADDTIME('916:40:00', '416:40:00')
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '916:40:00'
|
||||
Warning 1292 Truncated incorrect time value: '1255:39:59'
|
||||
SELECT SUBTIME('916:40:00', '416:40:00');
|
||||
SUBTIME('916:40:00', '416:40:00')
|
||||
422:19:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '916:40:00'
|
||||
SELECT SUBTIME('-916:40:00', '416:40:00');
|
||||
SUBTIME('-916:40:00', '416:40:00')
|
||||
-838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '-916:40:00'
|
||||
Warning 1292 Truncated incorrect time value: '-1255:39:59'
|
||||
SELECT MAKETIME(916,0,0);
|
||||
MAKETIME(916,0,0)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '916:00:00'
|
||||
SELECT MAKETIME(4294967296, 0, 0);
|
||||
MAKETIME(4294967296, 0, 0)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '4294967296:00:00'
|
||||
SELECT MAKETIME(-4294967296, 0, 0);
|
||||
MAKETIME(-4294967296, 0, 0)
|
||||
-838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '-4294967296:00:00'
|
||||
SELECT MAKETIME(0, 4294967296, 0);
|
||||
MAKETIME(0, 4294967296, 0)
|
||||
NULL
|
||||
SELECT MAKETIME(0, 0, 4294967296);
|
||||
MAKETIME(0, 0, 4294967296)
|
||||
NULL
|
||||
SELECT MAKETIME(CAST(-1 AS UNSIGNED), 0, 0);
|
||||
MAKETIME(CAST(-1 AS UNSIGNED), 0, 0)
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '18446744073709551615:00:00'
|
||||
SELECT EXTRACT(HOUR FROM '100000:02:03');
|
||||
EXTRACT(HOUR FROM '100000:02:03')
|
||||
838
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '100000:02:03'
|
||||
CREATE TABLE t1(f1 TIME);
|
||||
INSERT INTO t1 VALUES('916:00:00 a');
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'f1' at row 1
|
||||
Warning 1264 Data truncated; out of range for column 'f1' at row 1
|
||||
SELECT * FROM t1;
|
||||
f1
|
||||
838:59:59
|
||||
DROP TABLE t1;
|
||||
SELECT SEC_TO_TIME(CAST(-1 AS UNSIGNED));
|
||||
SEC_TO_TIME(CAST(-1 AS UNSIGNED))
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '18446744073709551615'
|
||||
SET NAMES latin1;
|
||||
SET character_set_results = NULL;
|
||||
SHOW VARIABLES LIKE 'character_set_results';
|
||||
|
@ -369,6 +369,47 @@ show create table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #11655: Wrong time is returning from nested selects - maximum time exists
|
||||
#
|
||||
# check if SEC_TO_TIME() handles out-of-range values correctly
|
||||
SELECT SEC_TO_TIME(3300000);
|
||||
SELECT SEC_TO_TIME(3300000)+0;
|
||||
SELECT SEC_TO_TIME(3600 * 4294967296);
|
||||
|
||||
# check if TIME_TO_SEC() handles out-of-range values correctly
|
||||
SELECT TIME_TO_SEC('916:40:00');
|
||||
|
||||
# check if ADDTIME() handles out-of-range values correctly
|
||||
SELECT ADDTIME('500:00:00', '416:40:00');
|
||||
SELECT ADDTIME('916:40:00', '416:40:00');
|
||||
|
||||
# check if SUBTIME() handles out-of-range values correctly
|
||||
SELECT SUBTIME('916:40:00', '416:40:00');
|
||||
SELECT SUBTIME('-916:40:00', '416:40:00');
|
||||
|
||||
# check if MAKETIME() handles out-of-range values correctly
|
||||
SELECT MAKETIME(916,0,0);
|
||||
SELECT MAKETIME(4294967296, 0, 0);
|
||||
SELECT MAKETIME(-4294967296, 0, 0);
|
||||
SELECT MAKETIME(0, 4294967296, 0);
|
||||
SELECT MAKETIME(0, 0, 4294967296);
|
||||
SELECT MAKETIME(CAST(-1 AS UNSIGNED), 0, 0);
|
||||
|
||||
# check if EXTRACT() handles out-of-range values correctly
|
||||
SELECT EXTRACT(HOUR FROM '100000:02:03');
|
||||
|
||||
# check if we get proper warnings if both input string truncation
|
||||
# and out-of-range value occur
|
||||
CREATE TABLE t1(f1 TIME);
|
||||
INSERT INTO t1 VALUES('916:00:00 a');
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #20927: sec_to_time treats big unsigned as signed
|
||||
#
|
||||
# check if SEC_TO_TIME() handles BIGINT UNSIGNED values correctly
|
||||
SELECT SEC_TO_TIME(CAST(-1 AS UNSIGNED));
|
||||
# 21913: DATE_FORMAT() Crashes mysql server if I use it through
|
||||
# mysql-connector-j driver.
|
||||
#
|
||||
|
Reference in New Issue
Block a user