Bug #121589 Some problems when using temporal type and prepare protocol
Submitted: 23 Oct 7:30 Modified: 26 Oct 12:26
Reporter: ximin liang (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Optimizer Severity:S2 (Serious)
Version:8.0.46, 8.4.13, 9.7.4, 26.10 OS:Any
Assigned to: CPU Architecture:Any

[23 Oct 7:30] ximin liang
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
[26 Oct 12:26] Chaithra Marsur Gopala Reddy
Hi imin liang,

Thank you for the test case Verified as described.