diff --git a/mysql-test/r/view.result b/mysql-test/r/view.result index c4391781e9c..239849ed8d1 100644 --- a/mysql-test/r/view.result +++ b/mysql-test/r/view.result @@ -1724,3 +1724,9 @@ a b 301 0 drop view v3; drop tables t1,t2; +create table t1(f1 int); +create view v1 as select f1 from t1; +select * from v1 where F1 = 1; +f1 +drop view v1; +drop table t1; diff --git a/mysql-test/t/view.test b/mysql-test/t/view.test index 77f0f65323e..ed7401adaab 100644 --- a/mysql-test/t/view.test +++ b/mysql-test/t/view.test @@ -1654,3 +1654,10 @@ select * from v3; drop view v3; drop tables t1,t2; + +# View field names should be case insensitive +create table t1(f1 int); +create view v1 as select f1 from t1; +select * from v1 where F1 = 1; +drop view v1; +drop table t1; diff --git a/sql/sql_base.cc b/sql/sql_base.cc index d854956325e..fc41643e8d4 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2120,7 +2120,7 @@ find_field_in_table(THD *thd, TABLE_LIST *table_list, Field_translator *trans= table_list->field_translation; for (uint i= 0; i < num; i ++) { - if (strcmp(trans[i].name, name) == 0) + if (!my_strcasecmp(system_charset_info, trans[i].name, name)) { #ifndef NO_EMBEDDED_ACCESS_CHECKS if (check_grants_view &&