• Igor Babaev's avatar
    MDEV-30248 Infinite sequence of recursive calls when processing embedded CTE · 074bef4d
    Igor Babaev authored
    This patch fixes the patch for bug MDEV-30248 that unsatisfactorily
    resolved the problem of resolution of references to CTE. In some cases
    when such a reference has the same table name as the name of one of
    CTEs containing this reference the reference could be resolved incorrectly
    that led to an invalid select tree where units could be mutually dependent.
    This in its turn could lead to an infinite sequence of recursive calls or
    to falls into infinite loops.
    
    The patch also removes LEX::resolve_references_to_cte_in_hanging_cte() as
    with the new code for resolution of CTE references the call of this
    function is not needed anymore.
    
    Approved by Oleksandr Byelkin <sanja@mariadb.com>
    074bef4d
cte_recursive.test 90.4 KB