• Sergei Golubchik's avatar
    fix gcc 8 compiler warnings · 3d2d060b
    Sergei Golubchik authored
    There were two newly enabled warnings:
    1. cast for a function pointers. Affected sql_analyse.h, mi_write.c
       and ma_write.cc, mf_iocache-t.cc, mysqlbinlog.cc, encryption.cc, etc
    
    2. memcpy/memset of nontrivial structures. Fixed as:
    * the warning disabled for InnoDB
    * TABLE, TABLE_SHARE, and TABLE_LIST got a new method reset() which
      does the bzero(), which is safe for these classes, but any other
      bzero() will still cause a warning
    * Table_scope_and_contents_source_st uses `TABLE_LIST *` (trivial)
      instead of `SQL_I_List<TABLE_LIST>` (not trivial) so it's safe to
      bzero now.
    * added casts in debug_sync.cc and sql_select.cc (for JOIN)
    * move assignment method for MDL_request instead of memcpy()
    * PARTIAL_INDEX_INTERSECT_INFO::init() instead of bzero()
    * remove constructor from READ_RECORD() to make it trivial
    * replace some memcpy() with c++ copy assignments
    3d2d060b
sql_yacc.yy 493 KB