• Igor Babaev's avatar
    MDEV-17574 SIGSEGV or Assertion `producing_item != __null' in · 2d7d19a3
    Igor Babaev authored
               Item_direct_view_ref::derived_field_transformer_for_where
               upon updating a view
    
    The condition pushed into a materialized derived / view mast be adjusted
    for the new context: its column references must be substituted for
    references to the columns of the underlying tables if the condition
    is pushed into WHERE. The substitution is performed by the 'transform'
    method. If the materialized derived is used in a mergeable view then
    the references to the columns of the view are represented by
    Item_direct_view_ref objects. The transform method first processes
    the item wrapped in such an object and only after this it transforms
    the object itself.
    The transformation procedure of an Item_direct_view_ref object has
    to know whether the item it wraps has been substituted. If so the
    procedure does not have to do anything. In the code before this patch
    it was not possible for the transformation procedure used by an
    Item_direct_view_ref object to find out whether a substitution for
    the wrapped item had happened.
    2d7d19a3
derived_cond_pushdown.result 310 KB