mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
privent crash on temporary table during indexes lookup (BUG#4677)
This commit is contained in:
parent
ed32dbbaf4
commit
76c0154e11
3 changed files with 19 additions and 2 deletions
|
@ -977,3 +977,9 @@ ERROR HY000: View 'test.v1' references invalid table(s) or column(s)
|
|||
drop view v1;
|
||||
create view v1 (a,a) as select 'a','a';
|
||||
ERROR 42S21: Duplicate column name 'a'
|
||||
create table t1 (a int, b int);
|
||||
create view v1 as select a, sum(b) from t1 group by a;
|
||||
select b from v1 use index (some_index) where b=1;
|
||||
ERROR 42000: Key column 'some_index' doesn't exist in table
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
|
|
@ -900,3 +900,13 @@ drop view v1;
|
|||
#
|
||||
-- error 1060
|
||||
create view v1 (a,a) as select 'a','a';
|
||||
|
||||
#
|
||||
# check 'use index' on view with temporary table
|
||||
#
|
||||
create table t1 (a int, b int);
|
||||
create view v1 as select a, sum(b) from t1 group by a;
|
||||
-- error 1072
|
||||
select b from v1 use index (some_index) where b=1;
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
|
|
@ -2555,8 +2555,9 @@ bool get_key_map_from_key_list(key_map *map, TABLE *table,
|
|||
map->clear_all();
|
||||
while ((name=it++))
|
||||
{
|
||||
if ((pos= find_type(&table->keynames, name->ptr(), name->length(), 1)) <=
|
||||
0)
|
||||
if (table->keynames.type_names == 0 ||
|
||||
(pos= find_type(&table->keynames, name->ptr(), name->length(), 1)) <=
|
||||
0)
|
||||
{
|
||||
my_error(ER_KEY_COLUMN_DOES_NOT_EXITS, MYF(0), name->c_ptr(),
|
||||
table->real_name);
|
||||
|
|
Loading…
Reference in a new issue