1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-5975 Prepared statements with DATE literals do not honor NO_ZERO_IN_DATE

This commit is contained in:
Alexander Barkov
2014-04-22 11:23:35 +04:00
parent 046ae9f5c6
commit ed93e55bac
3 changed files with 48 additions and 0 deletions

View File

@ -613,3 +613,31 @@ t1 CREATE TABLE `t1` (
`TIMESTAMP'2001-01-00 00:00:00'` datetime DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1;
#
# MDEV-5975 Prepared statements with DATE literals do not honor NO_ZERO_IN_DATE
#
SET sql_mode=DEFAULT;
PREPARE stmt FROM "SELECT (SELECT DATE'2001-00-00') AS c";
EXECUTE stmt;
c
2001-00-00
SET sql_mode='no_zero_in_date';
EXECUTE stmt;
c
NULL
Warnings:
Warning 1292 Incorrect datetime value: '2001-00-00'
DEALLOCATE PREPARE stmt;
SET sql_mode=DEFAULT;
PREPARE stmt FROM "SELECT (SELECT TIMESTAMP'2001-00-00 10:20:30') AS c";
EXECUTE stmt;
c
2001-00-00 10:20:30
SET sql_mode='no_zero_in_date';
EXECUTE stmt;
c
NULL
Warnings:
Warning 1292 Incorrect datetime value: '2001-00-00 10:20:30'
DEALLOCATE PREPARE stmt;
SET sql_mode=DEFAULT;

View File

@ -326,3 +326,21 @@ CREATE TABLE t1 AS SELECT
TIMESTAMP'2001-01-00 00:00:00';
SHOW CREATE TABLE t1;
DROP TABLE t1;
--echo #
--echo # MDEV-5975 Prepared statements with DATE literals do not honor NO_ZERO_IN_DATE
--echo #
SET sql_mode=DEFAULT;
PREPARE stmt FROM "SELECT (SELECT DATE'2001-00-00') AS c";
EXECUTE stmt;
SET sql_mode='no_zero_in_date';
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET sql_mode=DEFAULT;
PREPARE stmt FROM "SELECT (SELECT TIMESTAMP'2001-00-00 10:20:30') AS c";
EXECUTE stmt;
SET sql_mode='no_zero_in_date';
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET sql_mode=DEFAULT;