mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge mysql.com:/home/tnurnberg/21103/50-21103
into mysql.com:/home/tnurnberg/21103/51-21103 mysql-test/r/func_time.result: Auto merged mysql-test/r/ps_2myisam.result: Auto merged mysql-test/r/ps_3innodb.result: Auto merged mysql-test/r/ps_4heap.result: Auto merged mysql-test/r/ps_5merge.result: Auto merged mysql-test/r/ps_7ndb.result: Auto merged mysql-test/t/func_time.test: Auto merged sql/field.cc: Auto merged
This commit is contained in:
@ -1152,19 +1152,19 @@ select '-- select .. where date/time column = .. --' as test_sequence ;
|
|||||||
######## SELECT .. WHERE column(date/time/..)=value(CHAR(n)/LONGTEXT) ########
|
######## SELECT .. WHERE column(date/time/..)=value(CHAR(n)/LONGTEXT) ########
|
||||||
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' ;
|
||||||
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 ;
|
||||||
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 ;
|
||||||
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 ;
|
||||||
|
|
||||||
|
|
||||||
@ -1177,7 +1177,7 @@ where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and
|
|||||||
c16= CAST('1991-01-01 01:01:01' as datetime) and
|
c16= CAST('1991-01-01 01:01:01' as datetime) and
|
||||||
c17= CAST('1991-01-01 01:01:01' as datetime) ;
|
c17= CAST('1991-01-01 01:01:01' as datetime) ;
|
||||||
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 ;
|
||||||
prepare stmt1 from "select 'true' as found from t9
|
prepare stmt1 from "select 'true' as found from t9
|
||||||
where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and
|
where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and
|
||||||
@ -1187,7 +1187,7 @@ where c1= 20 and c13= CAST('1991-01-01 01:01:01' as datetime) and
|
|||||||
c17= CAST('1991-01-01 01:01:01' as datetime)" ;
|
c17= CAST('1991-01-01 01:01:01' as datetime)" ;
|
||||||
execute stmt1 ;
|
execute stmt1 ;
|
||||||
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 ;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1183,6 +1183,23 @@ set time_zone= @@global.time_zone;
|
|||||||
select str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
select str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||||
str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
|
str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
|
||||||
NULL
|
NULL
|
||||||
|
create table t1 (field DATE);
|
||||||
|
insert into t1 values ('2006-11-06');
|
||||||
|
select * from t1 where field < '2006-11-06 04:08:36.0';
|
||||||
|
field
|
||||||
|
2006-11-06
|
||||||
|
select * from t1 where field = '2006-11-06 04:08:36.0';
|
||||||
|
field
|
||||||
|
select * from t1 where field = '2006-11-06';
|
||||||
|
field
|
||||||
|
2006-11-06
|
||||||
|
select * from t1 where CAST(field as DATETIME) < '2006-11-06 04:08:36.0';
|
||||||
|
field
|
||||||
|
2006-11-06
|
||||||
|
select * from t1 where CAST(field as DATE) < '2006-11-06 04:08:36.0';
|
||||||
|
field
|
||||||
|
2006-11-06
|
||||||
|
drop table t1;
|
||||||
CREATE TABLE t1 (a int, t1 time, t2 time, d date, PRIMARY KEY (a));
|
CREATE TABLE t1 (a int, t1 time, t2 time, d date, PRIMARY KEY (a));
|
||||||
INSERT INTO t1 VALUES (1, '10:00:00', NULL, NULL),
|
INSERT INTO t1 VALUES (1, '10:00:00', NULL, NULL),
|
||||||
(2, '11:00:00', '11:15:00', '1972-02-06');
|
(2, '11:00:00', '11:15:00', '1972-02-06');
|
||||||
|
@ -3046,25 +3046,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
|
||||||
@ -3078,7 +3078,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
|
||||||
@ -3092,7 +3092,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
|
||||||
|
@ -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) ;
|
|||||||
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 ;
|
|||||||
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
|
||||||
|
@ -3030,25 +3030,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
|
||||||
@ -3062,7 +3062,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
|
||||||
@ -3076,7 +3076,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
|
||||||
|
@ -2966,25 +2966,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
|
||||||
@ -2998,7 +2998,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
|
||||||
@ -3012,7 +3012,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
|
||||||
@ -5980,25 +5980,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
|
||||||
@ -6012,7 +6012,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
|
||||||
@ -6026,7 +6026,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
|
||||||
|
@ -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) ;
|
|||||||
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 ;
|
|||||||
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
|
||||||
|
@ -693,6 +693,19 @@ set time_zone= @@global.time_zone;
|
|||||||
|
|
||||||
select str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
select str_to_date('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #21103: DATE column not compared as DATE
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (field DATE);
|
||||||
|
insert into t1 values ('2006-11-06');
|
||||||
|
select * from t1 where field < '2006-11-06 04:08:36.0';
|
||||||
|
select * from t1 where field = '2006-11-06 04:08:36.0';
|
||||||
|
select * from t1 where field = '2006-11-06';
|
||||||
|
select * from t1 where CAST(field as DATETIME) < '2006-11-06 04:08:36.0';
|
||||||
|
select * from t1 where CAST(field as DATE) < '2006-11-06 04:08:36.0';
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug #25643: SEC_TO_TIME function problem
|
# Bug #25643: SEC_TO_TIME function problem
|
||||||
#
|
#
|
||||||
|
23
sql/field.cc
23
sql/field.cc
@ -5436,27 +5436,30 @@ int Field_newdate::store(const char *from,uint len,CHARSET_INFO *cs)
|
|||||||
{
|
{
|
||||||
ASSERT_COLUMN_MARKED_FOR_WRITE;
|
ASSERT_COLUMN_MARKED_FOR_WRITE;
|
||||||
TIME l_time;
|
TIME l_time;
|
||||||
long tmp;
|
|
||||||
int error;
|
int error;
|
||||||
THD *thd= table ? table->in_use : current_thd;
|
THD *thd= table ? table->in_use : current_thd;
|
||||||
if (str_to_datetime(from, len, &l_time,
|
enum enum_mysql_timestamp_type ret;
|
||||||
(TIME_FUZZY_DATE |
|
if ((ret= str_to_datetime(from, len, &l_time,
|
||||||
(thd->variables.sql_mode &
|
(TIME_FUZZY_DATE |
|
||||||
(MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
|
(thd->variables.sql_mode &
|
||||||
MODE_INVALID_DATES))),
|
(MODE_NO_ZERO_IN_DATE | MODE_NO_ZERO_DATE |
|
||||||
&error) <= MYSQL_TIMESTAMP_ERROR)
|
MODE_INVALID_DATES))),
|
||||||
|
&error)) <= MYSQL_TIMESTAMP_ERROR)
|
||||||
{
|
{
|
||||||
tmp= 0L;
|
int3store(ptr,0L);
|
||||||
error= 2;
|
error= 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tmp= l_time.day + l_time.month*32 + l_time.year*16*32;
|
{
|
||||||
|
int3store(ptr, l_time.day + l_time.month*32 + l_time.year*16*32);
|
||||||
|
if(!error && (ret != MYSQL_TIMESTAMP_DATE))
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
if (error)
|
if (error)
|
||||||
set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED,
|
set_datetime_warning(MYSQL_ERROR::WARN_LEVEL_WARN, WARN_DATA_TRUNCATED,
|
||||||
from, len, MYSQL_TIMESTAMP_DATE, 1);
|
from, len, MYSQL_TIMESTAMP_DATE, 1);
|
||||||
|
|
||||||
int3store(ptr,tmp);
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user