1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Fixed MDEV-14883 Usage of EXCEPT and INTERSECT in recursive CTE

is not supported

Allowed to use recursive references in derived tables.
As a result usage of recursive references in operands of
INTERSECT / EXCEPT is now supported.
This commit is contained in:
Igor Babaev
2018-02-22 10:08:49 -08:00
parent 988ec800ed
commit 907b236112
9 changed files with 464 additions and 22 deletions

View File

@ -1010,6 +1010,20 @@ bool mysql_derived_create(THD *thd, LEX *lex, TABLE_LIST *derived)
}
void TABLE_LIST::register_as_derived_with_rec_ref(With_element *rec_elem)
{
rec_elem->derived_with_rec_ref.link_in_list(this, &this->next_with_rec_ref);
is_derived_with_recursive_reference= true;
get_unit()->uncacheable|= UNCACHEABLE_DEPENDENT;
}
bool TABLE_LIST::is_nonrecursive_derived_with_rec_ref()
{
return is_derived_with_recursive_reference;
}
/**
@brief
Fill the recursive with table