mirror of
https://github.com/MariaDB/server.git
synced 2025-06-01 19:42:01 +03:00
MDEV-19680:: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) || (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))' or alike failed upon SELECT with mix of functions from simple view
Set read_set bitmap for view from the JOIN::all_fields list instead of JOIN::fields_list as split_sum_func would have added items to the all_fields list.
This commit is contained in:
parent
9f7fcb9f25
commit
359d91aaee
@ -1479,3 +1479,16 @@ EXECUTE stmt;
|
|||||||
x
|
x
|
||||||
x
|
x
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
|
#
|
||||||
|
# MDEV-19680: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) ||
|
||||||
|
# (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))'
|
||||||
|
# or alike failed upon SELECT with mix of functions from simple view
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (1),(2);
|
||||||
|
CREATE VIEW v1 AS SELECT * FROM t1;
|
||||||
|
SELECT ISNULL( BENCHMARK(1, MIN(a))) FROM v1;
|
||||||
|
ISNULL( BENCHMARK(1, MIN(a)))
|
||||||
|
0
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -1154,3 +1154,18 @@ DROP PROCEDURE p1;
|
|||||||
PREPARE stmt FROM "SELECT 'x' ORDER BY NAME_CONST( 'f', 'foo' )";
|
PREPARE stmt FROM "SELECT 'x' ORDER BY NAME_CONST( 'f', 'foo' )";
|
||||||
EXECUTE stmt;
|
EXECUTE stmt;
|
||||||
DEALLOCATE PREPARE stmt;
|
DEALLOCATE PREPARE stmt;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-19680: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index) ||
|
||||||
|
--echo # (!(ptr >= table->record[0] && ptr < table->record[0] + table->s->reclength)))'
|
||||||
|
--echo # or alike failed upon SELECT with mix of functions from simple view
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t1 VALUES (1),(2);
|
||||||
|
CREATE VIEW v1 AS SELECT * FROM t1;
|
||||||
|
|
||||||
|
SELECT ISNULL( BENCHMARK(1, MIN(a))) FROM v1;
|
||||||
|
|
||||||
|
DROP VIEW v1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -4177,7 +4177,7 @@ void SELECT_LEX::update_used_tables()
|
|||||||
}
|
}
|
||||||
|
|
||||||
Item *item;
|
Item *item;
|
||||||
List_iterator_fast<Item> it(join->fields_list);
|
List_iterator_fast<Item> it(join->all_fields);
|
||||||
while ((item= it++))
|
while ((item= it++))
|
||||||
{
|
{
|
||||||
item->update_used_tables();
|
item->update_used_tables();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user