mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 11:57:38 +02:00
Fix bug #11335 View redefines TinyInt(1) column definition
Item_type_holder doesn't store information about length and exact type of original item which results in redefining length to max_length and geometry type to longtext. Changed the way derived tables except unions are built. Now they are created from original field list instead of list of Item_type_holder. mysql-test/r/subselect.result: Fixed wrong test case result. bug#11335 mysql-test/r/view_grant.result: Fixed wrong test case result. bug#11335 mysql-test/r/view.result: Added test case for bug #11335. Fixed wrong test case result. mysql-test/t/view.test: Test case for bug #11335 View redefines TinyInt(1) column definition. sql/sql_union.cc: Fix bug #11335 View redefines TinyInt(1) column definition. Changed the way derived tables except unions are built. Now they are created from original field list instead of list of Item_type_holders. sql/sql_select.cc: Fix bug #11335 View redefines TinyInt(1) column definition. Added special handling of DATE/TIME fields to preserve field's type in tmp field creation. In create_tmp_field() for Item_field added special handling of case when item have to be able to store NULLs but underlaid field is NOT NULL. sql/item_sum.cc: Fix bug #11335 View redefines TinyInt(1) column definition. Added special handling of DATE/TIME fields to preserve field's type while tmp field created in Item_sum_hybrid::create_tmp_field().
This commit is contained in:
parent
10ec1349d7
commit
a292b42436
7 changed files with 77 additions and 13 deletions
|
|
@ -72,12 +72,12 @@ select c from mysqltest.v4;
|
|||
c
|
||||
show columns from mysqltest.v1;
|
||||
Field Type Null Key Default Extra
|
||||
c bigint(20) YES NULL
|
||||
d bigint(20) YES NULL
|
||||
c bigint(12) YES NULL
|
||||
d bigint(12) YES NULL
|
||||
show columns from mysqltest.v2;
|
||||
Field Type Null Key Default Extra
|
||||
c bigint(20) YES NULL
|
||||
d bigint(20) YES NULL
|
||||
c bigint(12) YES NULL
|
||||
d bigint(12) YES NULL
|
||||
explain select c from mysqltest.v1;
|
||||
ERROR HY000: EXPLAIN/SHOW can not be issued; lacking privileges for underlying table
|
||||
show create view mysqltest.v1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue