• Aleksey Midenkov's avatar
    MDEV-21138 Assertion `col->ord_part' or `f.col->ord_part' failed in row_build_index_entry_low · 7410ff43
    Aleksey Midenkov authored
    First part (row0mysql.cc) fixes ins_node_set_new_row() usage workflow
    as it is designed to operate on empty row (see row_get_prebuilt_insert_row()
    for example).
    
    Second part (row0ins.cc) fixes duplicate key error in FTS_DOC_ID_INDEX
    since history rows must not generate entries in that index. We detect
    FTS_DOC_ID_INDEX by a number of attributes and skip it if the row is
    historical.
    
    Misc fixes:
    
    row_build_index_entry_low() does not accept non-NULL tuple
    for FTS index (subject assertion fails), assertion (index->type !=
    DICT_FTS) adds code understanding.
    
    Now as historical_row is copied in row_update_vers_insert() there is
    no need to copy the row twice: ROW_COPY_POINTERS is used to build
    historical_row initially.
    
    dbug_print_rec() debug functions.
    7410ff43
update.test 10.1 KB