mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-11363: Assertion `!derived->first_sel ect()->first_inner_unit() || derived->first_select()->first_inner_unit()->first_select()-> exclude_from_table_unique_test' failed in TABLE_LIST::set_check_materialized()
Do not try to materialize derived table which already merged (irreversebly).
This commit is contained in:
@ -1080,5 +1080,21 @@ f
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-11363: Assertion `!derived->first_sel ect()->first_inner_unit() ||
|
||||||
|
# derived->first_select()->first_inner_unit()->first_select()->
|
||||||
|
# exclude_from_table_unique_test' failed in
|
||||||
|
# TABLE_LIST::set_check_materialized()
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (f1 INT);
|
||||||
|
CREATE TABLE t2 (f2 INT);
|
||||||
|
CREATE TABLE t3 (f3 INT);
|
||||||
|
CREATE VIEW v1 AS ( SELECT f1 AS f FROM t1 ) UNION ( SELECT f2 AS f FROM t2 );
|
||||||
|
CREATE VIEW v2 AS SELECT f3 AS f FROM t3;
|
||||||
|
CREATE VIEW v3 AS SELECT f FROM ( SELECT f3 AS f FROM v1, t3 ) AS sq;
|
||||||
|
CREATE VIEW v4 AS SELECT COUNT(*) as f FROM v3;
|
||||||
|
REPLACE INTO v2 ( SELECT * FROM v4 ) UNION ( SELECT f FROM v2 );
|
||||||
|
drop view v1,v2,v3,v4;
|
||||||
|
drop table t1,t2,t3;
|
||||||
|
#
|
||||||
# End of 10.2 tests
|
# End of 10.2 tests
|
||||||
#
|
#
|
||||||
|
@ -928,6 +928,25 @@ EXECUTE stmt;
|
|||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-11363: Assertion `!derived->first_sel ect()->first_inner_unit() ||
|
||||||
|
--echo # derived->first_select()->first_inner_unit()->first_select()->
|
||||||
|
--echo # exclude_from_table_unique_test' failed in
|
||||||
|
--echo # TABLE_LIST::set_check_materialized()
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (f1 INT);
|
||||||
|
CREATE TABLE t2 (f2 INT);
|
||||||
|
CREATE TABLE t3 (f3 INT);
|
||||||
|
CREATE VIEW v1 AS ( SELECT f1 AS f FROM t1 ) UNION ( SELECT f2 AS f FROM t2 );
|
||||||
|
CREATE VIEW v2 AS SELECT f3 AS f FROM t3;
|
||||||
|
CREATE VIEW v3 AS SELECT f FROM ( SELECT f3 AS f FROM v1, t3 ) AS sq;
|
||||||
|
CREATE VIEW v4 AS SELECT COUNT(*) as f FROM v3;
|
||||||
|
REPLACE INTO v2 ( SELECT * FROM v4 ) UNION ( SELECT f FROM v2 );
|
||||||
|
|
||||||
|
drop view v1,v2,v3,v4;
|
||||||
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.2 tests
|
--echo # End of 10.2 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -1060,7 +1060,7 @@ next:
|
|||||||
{
|
{
|
||||||
/* Try to fix */
|
/* Try to fix */
|
||||||
TABLE_LIST *derived= res->belong_to_derived;
|
TABLE_LIST *derived= res->belong_to_derived;
|
||||||
if (derived->is_merged_derived())
|
if (derived->is_merged_derived() && !derived->derived->is_excluded())
|
||||||
{
|
{
|
||||||
DBUG_PRINT("info",
|
DBUG_PRINT("info",
|
||||||
("convert merged to materialization to resolve the conflict"));
|
("convert merged to materialization to resolve the conflict"));
|
||||||
|
Reference in New Issue
Block a user