Commit be3d7091 authored by unknown's avatar unknown

Merge


mysql-test/r/view.result:
  SCCS merged
mysql-test/t/view.test:
  SCCS merged
parents 0c0a5097 fd3ac382
...@@ -1831,6 +1831,17 @@ select * from v1; ...@@ -1831,6 +1831,17 @@ select * from v1;
t t
01:00 01:00
drop view v1; drop view v1;
create table t1 (f1 date);
insert into t1 values ('2005-01-01'),('2005-02-02');
create view v1 as select * from t1;
select * from v1 where f1='2005.02.02';
f1
2005-02-02
select * from v1 where '2005.02.02'=f1;
f1
2005-02-02
drop view v1;
drop table t1;
CREATE VIEW v1 AS SELECT ENCRYPT("dhgdhgd"); CREATE VIEW v1 AS SELECT ENCRYPT("dhgdhgd");
SELECT * FROM v1; SELECT * FROM v1;
drop view v1; drop view v1;
......
...@@ -1674,6 +1674,17 @@ create view v1 as SELECT TIME_FORMAT(SEC_TO_TIME(3600),'%H:%i') as t; ...@@ -1674,6 +1674,17 @@ create view v1 as SELECT TIME_FORMAT(SEC_TO_TIME(3600),'%H:%i') as t;
select * from v1; select * from v1;
drop view v1; drop view v1;
#
# bug #11325 Wrong date comparison in views
#
create table t1 (f1 date);
insert into t1 values ('2005-01-01'),('2005-02-02');
create view v1 as select * from t1;
select * from v1 where f1='2005.02.02';
select * from v1 where '2005.02.02'=f1;
drop view v1;
drop table t1;
# #
# using encrypt & substring_index in view (BUG#7024) # using encrypt & substring_index in view (BUG#7024)
# #
......
...@@ -238,9 +238,10 @@ void Item_bool_func2::fix_length_and_dec() ...@@ -238,9 +238,10 @@ void Item_bool_func2::fix_length_and_dec()
return; return;
} }
if (args[0]->type() == FIELD_ITEM) Item *real_item= args[0]->real_item();
if (real_item->type() == FIELD_ITEM)
{ {
Field *field=((Item_field*) args[0])->field; Field *field= ((Item_field*) real_item)->field;
if (field->can_be_compared_as_longlong()) if (field->can_be_compared_as_longlong())
{ {
if (convert_constant_item(thd, field,&args[1])) if (convert_constant_item(thd, field,&args[1]))
...@@ -251,9 +252,10 @@ void Item_bool_func2::fix_length_and_dec() ...@@ -251,9 +252,10 @@ void Item_bool_func2::fix_length_and_dec()
} }
} }
} }
if (args[1]->type() == FIELD_ITEM /* && !args[1]->const_item() */) real_item= args[1]->real_item();
if (real_item->type() == FIELD_ITEM)
{ {
Field *field=((Item_field*) args[1])->field; Field *field= ((Item_field*) real_item)->field;
if (field->can_be_compared_as_longlong()) if (field->can_be_compared_as_longlong())
{ {
if (convert_constant_item(thd, field,&args[0])) if (convert_constant_item(thd, field,&args[0]))
......
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