mirror of
https://github.com/MariaDB/server.git
synced 2025-05-31 08:42:45 +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
|
||||
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' )";
|
||||
EXECUTE 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;
|
||||
List_iterator_fast<Item> it(join->fields_list);
|
||||
List_iterator_fast<Item> it(join->all_fields);
|
||||
while ((item= it++))
|
||||
{
|
||||
item->update_used_tables();
|
||||
|
Loading…
x
Reference in New Issue
Block a user