Commit 72311008 authored by evgen@moonbone.local's avatar evgen@moonbone.local
Browse files

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt

into  moonbone.local:/mnt/gentoo64/work/30020-bug-5.0-opt-mysql
parents d9f7c443 f18b2386
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -3547,4 +3547,19 @@ a b
6	6
DROP VIEW v1;
DROP TABLE t1,t2,t3;
create table t1 (i int);
insert into t1 values (1), (2), (1), (3), (2), (4);
create view v1 as select distinct i from t1;
select * from v1;
i
1
2
3
4
select table_name, is_updatable from information_schema.views 
where table_name = 'v1';
table_name	is_updatable
v1	NO
drop view v1;
drop table t1;
End of 5.0 tests.
+13 −0
Original line number Diff line number Diff line
@@ -3402,5 +3402,18 @@ SELECT t.person_id AS a, t.person_id AS b FROM v1 t WHERE t.person_id=6;
DROP VIEW v1;
DROP TABLE t1,t2,t3;

#
# Bug#30020: Insufficient check led to a wrong info provided by the
#            information schema table.
#
create table t1 (i int);
insert into t1 values (1), (2), (1), (3), (2), (4);
create view v1 as select distinct i from t1;
select * from v1;
select table_name, is_updatable from information_schema.views 
   where table_name = 'v1';
drop view v1;
drop table t1;

--echo End of 5.0 tests.
+3 −1
Original line number Diff line number Diff line
@@ -3211,7 +3211,7 @@ static int get_schema_views_record(THD *thd, TABLE_LIST *tables,
      Item *item;
      Item_field *field;
      /*
        chech that at least one coulmn in view is updatable
        check that at least one column in view is updatable
      */
      while ((item= it++))
      {
@@ -3222,6 +3222,8 @@ static int get_schema_views_record(THD *thd, TABLE_LIST *tables,
          break;
        }
      }
      if (updatable_view && !tables->view->can_be_merged())
        updatable_view= 0;
    }
    if (updatable_view)
      table->field[5]->store(STRING_WITH_LEN("YES"), cs);