mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Fix for bug#37526: asymertic operator <=> in trigger
Problem: <=> operator may return wrong results comparing NULL and a DATE/DATETIME/TIME value. Fix: properly check NULLs.
This commit is contained in:
@@ -560,4 +560,27 @@ select * from t2
|
||||
where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
id cur_date
|
||||
drop table t1,t2;
|
||||
SELECT
|
||||
CAST('NULL' AS DATE) <=> CAST('2008-01-01' AS DATE) n1,
|
||||
CAST('2008-01-01' AS DATE) <=> CAST('NULL' AS DATE) n2,
|
||||
CAST('NULL' AS DATE) <=> CAST('NULL' AS DATE) n3,
|
||||
CAST('NULL' AS DATE) <> CAST('2008-01-01' AS DATE) n4,
|
||||
CAST('2008-01-01' AS DATE) <> CAST('NULL' AS DATE) n5,
|
||||
CAST('NULL' AS DATE) <> CAST('NULL' AS DATE) n6,
|
||||
CAST('NULL' AS DATE) < CAST('2008-01-01' AS DATE) n7,
|
||||
CAST('2008-01-01' AS DATE) < CAST('NULL' AS DATE) n8,
|
||||
CAST('NULL' AS DATE) < CAST('NULL' AS DATE) n9;
|
||||
n1 n2 n3 n4 n5 n6 n7 n8 n9
|
||||
0 0 1 NULL NULL NULL NULL NULL NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
Warning 1292 Truncated incorrect datetime value: 'NULL'
|
||||
End of 5.0 tests
|
||||
|
@@ -388,4 +388,20 @@ where id in (select id from t2 as x1 where (t2.cur_date is null));
|
||||
|
||||
drop table t1,t2;
|
||||
|
||||
|
||||
#
|
||||
# Bug #37526: asymertic operator <=> in trigger
|
||||
#
|
||||
SELECT
|
||||
CAST('NULL' AS DATE) <=> CAST('2008-01-01' AS DATE) n1,
|
||||
CAST('2008-01-01' AS DATE) <=> CAST('NULL' AS DATE) n2,
|
||||
CAST('NULL' AS DATE) <=> CAST('NULL' AS DATE) n3,
|
||||
CAST('NULL' AS DATE) <> CAST('2008-01-01' AS DATE) n4,
|
||||
CAST('2008-01-01' AS DATE) <> CAST('NULL' AS DATE) n5,
|
||||
CAST('NULL' AS DATE) <> CAST('NULL' AS DATE) n6,
|
||||
CAST('NULL' AS DATE) < CAST('2008-01-01' AS DATE) n7,
|
||||
CAST('2008-01-01' AS DATE) < CAST('NULL' AS DATE) n8,
|
||||
CAST('NULL' AS DATE) < CAST('NULL' AS DATE) n9;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user