• Oleg Smirnov's avatar
    MDEV-25080 Fix crash for CREATE TABLE from pushed union · b5507c73
    Oleg Smirnov authored
    During st_select_lex_unit::prepare() the member select_unit*
    st_select_lex_unit::union_result is being assigned to an instance
    of one of the following classes:
     - select_unit
     - select_unit_ext
     - select_unit_recursive
     - select_union_direct
    Select_union_direct used to pass the result of the query directly to
    the receiving select_result without filling a temporary table. This class
    wraps a select_result object and is currently used to process UNION ALL
    queries. Other select_unit_* classes involve some additional result processing.
    Pushed down units are processed on the engine side so the results must be
    also passed directly to a select_result object. So in the case when
    the unit pushdown is employed st_select_lex_unit::union_result must be
    assigned to an instance of select_union_direct.
    b5507c73
federatedx_create_handlers.test 18.8 KB