1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-5446: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' fails on EXPLAIN EXTENDED with VALUES function

field_index should be set correctly for null field created by Item_insert_value::fix_fields().
This commit is contained in:
unknown
2014-03-14 11:38:17 +02:00
parent a0ea960c3e
commit 5c8ed7dd54
3 changed files with 33 additions and 0 deletions

View File

@@ -272,3 +272,19 @@ ERROR HY000: Incorrect arguments to NAME_CONST
SELECT NAME_CONST('a', -(1)) OR 1;
NAME_CONST('a', -(1)) OR 1
1
#
#MDEV-5446: Assertion `!table || (!table->read_set ||
#bitmap_is_set(table->read_set, field_index))' fails on
#EXPLAIN EXTENDED with VALUES function
#
CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,10);
CREATE VIEW v1 AS SELECT * FROM t1;
EXPLAIN EXTENDED SELECT VALUES(b) FROM v1;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1 100.00
Warnings:
Note 1003 select values(10) AS `VALUES(b)` from `test`.`t1`
drop view v1;
drop table t1;
End of 5.3 tests

View File

@@ -310,3 +310,18 @@ SELECT NAME_CONST('a', -(1 OR 2)) OR 1;
SELECT NAME_CONST('a', -(1 AND 2)) AND 1;
SELECT NAME_CONST('a', -(1)) OR 1;
--echo #
--echo #MDEV-5446: Assertion `!table || (!table->read_set ||
--echo #bitmap_is_set(table->read_set, field_index))' fails on
--echo #EXPLAIN EXTENDED with VALUES function
--echo #
CREATE TABLE t1 (a INT, b INT) ENGINE=MyISAM;
INSERT INTO t1 VALUES (1,10);
CREATE VIEW v1 AS SELECT * FROM t1;
EXPLAIN EXTENDED SELECT VALUES(b) FROM v1;
drop view v1;
drop table t1;
--echo End of 5.3 tests

View File

@@ -7897,6 +7897,8 @@ bool Item_insert_value::fix_fields(THD *thd, Item **items)
{
tmp_field->init(field_arg->field->table);
set_field(tmp_field);
// the index is important when read bits set
tmp_field->field_index= field_arg->field->field_index;
}
}
return FALSE;