Description:
Hello MySQL team:
here are some problems that can be repeated in 26.10.0, however, in mysql 8.0.26, result of SQL is correct.
How to repeat:
case 1:
CREATE DATABASE IF NOT EXISTS prep_case_bug2;
USE prep_case_bug2;
DROP TABLE IF EXISTS bug2_t;
CREATE TABLE bug2_t (id int primary key, t0 time) ENGINE=InnoDB;
INSERT INTO bug2_t VALUES (1,'01:01:01'),(2,'02:02:02'),(5,'00:00:00');
PREPARE p_cast FROM 'SELECT CAST(? AS TIME)';
PREPARE p_time FROM 'SELECT TIME(?)';
SET @v = '02:02:02';
EXECUTE p_cast USING @v; -- 26.7.10: 00:00:00 | 8.0.26: 02:02:02
EXECUTE p_time USING @v; -- 26.7.10: 00:00:00 | 8.0.26: 02:02:02
case 2:
CREATE TABLE bug3_t (id int primary key, t0 time) ENGINE=InnoDB;
INSERT INTO bug3_t VALUES (1,'01:01:01'),(2,'02:02:02'),(3,'03:03:03');
PREPARE p_parts FROM 'SELECT HOUR(?) AS h, MINUTE(?) AS m, SECOND(?) AS s';
PREPARE p_ext FROM 'SELECT EXTRACT(HOUR FROM ?) AS exh, EXTRACT(MINUTE FROM ?) AS exm';
SET @v = '02:02:02';
EXECUTE p_parts USING @v, @v, @v; -- 26.10.0: h=0 m=0 s=0 | 8.0.26: h=2 m=2 s=2
EXECUTE p_ext USING @v, @v; -- 26.10.0: exh=0 exm=0 | 8.0.26: exh=2 exm=2