• Alexander Barkov's avatar
    A join patch for MDEV-10780 and MDEV-11265 · 1d9b043a
    Alexander Barkov authored
    MDEV-10780 Server crashes in in create_tmp_table
    MDEV-11265 Access defied when CREATE VIIEW v1 AS SELECT DEFAULT(column) FROM t1
    
    Item_default_value and Item_insert_value erroneously derive from Item_field
    but forgot to override some methods that apply only to true fields,
    so the server code mixes Item_{default|insert}_value instances with real
    table fields (i.e. true Item_field) in some cases.
    Overriding a few methods to avoid this.
    
    TODO: we should eventually derive Item_default_value (and Item_insert_value)
    directly from Item, as they don't really need the entire Item_field,
    Item_ident and Item_result_field functionality.
    Only the member "Field *field" related functionality is actually needed,
    like val_xxx(), is_null(), get_geometry_type(), charset_for_protocol(), etc.
    1d9b043a
item.h 156 KB