Bug#21103: DATE column not compared as DATE

When comparing a DATE field with a DATETIME constant, we now compare
as DATETIMEs, not as DATEs.  Fix BDB queries to still work.
parent f37267bb
...@@ -3029,25 +3029,25 @@ test_sequence ...@@ -3029,25 +3029,25 @@ test_sequence
-- select .. where date/time column = .. -- -- select .. where date/time column = .. --
set @arg00= '1991-01-01 01:01:01' ; set @arg00= '1991-01-01 01:01:01' ;
select 'true' as found from t9 select 'true' as found from t9
where c1= 20 and c13= '1991-01-01 01:01:01' and c14= '1991-01-01 01:01:01' and where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
c17= '1991-01-01 01:01:01' ; c17= '1991-01-01 01:01:01' ;
found found
true true
select 'true' as found from t9 select 'true' as found from t9
where c1= 20 and c13= @arg00 and c14= @arg00 and c15= @arg00 and c16= @arg00 where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
and c17= @arg00 ; and c17= @arg00 ;
found found
true true
prepare stmt1 from "select 'true' as found from t9 prepare stmt1 from "select 'true' as found from t9
where c1= 20 and c13= '1991-01-01 01:01:01' and c14= '1991-01-01 01:01:01' and where c1= 20 and c13= CAST('1991-01-01 01:01:01' AS DATE) and c14= '1991-01-01 01:01:01' and
c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and c15= '1991-01-01 01:01:01' and c16= '1991-01-01 01:01:01' and
c17= '1991-01-01 01:01:01'" ; c17= '1991-01-01 01:01:01'" ;
execute stmt1 ; execute stmt1 ;
found found
true true
prepare stmt1 from "select 'true' as found from t9 prepare stmt1 from "select 'true' as found from t9
where c1= 20 and c13= ? and c14= ? and c15= ? and c16= ? and c17= ?" ; where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ; execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
found found
true true
...@@ -3061,7 +3061,7 @@ c17= CAST('1991-01-01 01:01:01' as datetime) ; ...@@ -3061,7 +3061,7 @@ c17= CAST('1991-01-01 01:01:01' as datetime) ;
found found
true true
select 'true' as found from t9 select 'true' as found from t9
where c1= 20 and c13= @arg00 and c14= @arg00 and c15= @arg00 and c16= @arg00 where c1= 20 and c13= CAST(@arg00 AS DATE) and c14= @arg00 and c15= @arg00 and c16= @arg00
and c17= @arg00 ; and c17= @arg00 ;
found found
true true
...@@ -3075,7 +3075,7 @@ execute stmt1 ; ...@@ -3075,7 +3075,7 @@ execute stmt1 ;
found found
true true
prepare stmt1 from "select 'true' as found from t9 prepare stmt1 from "select 'true' as found from t9
where c1= 20 and c13= ? and c14= ? and c15= ? and c16= ? and c17= ?" ; where c1= 20 and c13= CAST(? AS DATE) and c14= ? and c15= ? and c16= ? and c17= ?" ;
execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ; execute stmt1 using @arg00, @arg00, @arg00, @arg00, @arg00 ;
found found
true true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment