mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
Another attempt to fix bug mdev-10736.
This commit is contained in:
parent
effb65bc86
commit
5c7d829346
3 changed files with 19 additions and 15 deletions
|
@ -1623,3 +1623,12 @@ n
|
|||
3
|
||||
4
|
||||
5
|
||||
#
|
||||
# MDEV-10736: recursive definition with anchor over a table with blob
|
||||
#
|
||||
CREATE TABLE t1 (f VARCHAR(1024));
|
||||
WITH RECURSIVE cte(f) AS
|
||||
(SELECT t1.f FROM t1 UNION ALL SELECT cte.f FROM cte)
|
||||
SELECT * FROM cte as t;
|
||||
f
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -1185,13 +1185,12 @@ WITH RECURSIVE cte(n) AS
|
|||
( SELECT n+1 FROM cte WHERE n < 5 UNION SELECT 1 UNION SELECT 1 )
|
||||
SELECT * FROM cte;
|
||||
|
||||
# --echo #
|
||||
# --echo # MDEV-10736: recursive definition with anchor over a table with blob
|
||||
# --echo #
|
||||
#
|
||||
# CREATE TABLE t1 (f VARCHAR(1024));
|
||||
# set statement max_recursive_iterations=1 for
|
||||
# WITH RECURSIVE cte(f) AS
|
||||
# (SELECT t1.f FROM t1 UNION ALL SELECT cte.f FROM cte)
|
||||
# SELECT * FROM cte;
|
||||
# DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-10736: recursive definition with anchor over a table with blob
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (f VARCHAR(1024));
|
||||
WITH RECURSIVE cte(f) AS
|
||||
(SELECT t1.f FROM t1 UNION ALL SELECT cte.f FROM cte)
|
||||
SELECT * FROM cte as t;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -480,10 +480,6 @@ unconditional_materialization:
|
|||
derived->set_materialized_derived();
|
||||
if (!derived->table || !derived->table->is_created())
|
||||
res= mysql_derived_create(thd, lex, derived);
|
||||
#if 0
|
||||
if (!res)
|
||||
res= mysql_derived_fill(thd, lex, derived);
|
||||
#endif
|
||||
goto exit_merge;
|
||||
}
|
||||
|
||||
|
@ -920,7 +916,7 @@ bool mysql_derived_create(THD *thd, LEX *lex, TABLE_LIST *derived)
|
|||
|
||||
if (table->is_created())
|
||||
DBUG_RETURN(FALSE);
|
||||
select_union *result= (select_union*)unit->result;
|
||||
select_union *result= derived->derived_result;
|
||||
if (table->s->db_type() == TMP_ENGINE_HTON)
|
||||
{
|
||||
result->tmp_table_param.keyinfo= table->s->key_info;
|
||||
|
|
Loading…
Add table
Reference in a new issue