• Sergei Golubchik's avatar
    MDEV-5800 InnoDB support for indexed vcols · 1cae1af6
    Sergei Golubchik authored
      * remove old 5.2+ InnoDB support for virtual columns
      * enable corresponding parts of the innodb-5.7 sources
      * copy corresponding test cases from 5.7
      * copy detailed Alter_inplace_info::HA_ALTER_FLAGS flags from 5.7
         - and more detailed detection of changes in fill_alter_inplace_info()
      * more "innodb compatibility hooks" in sql_class.cc to
         - create/destroy/reset a THD (used by background purge threads)
         - find a prelocked table by name
         - open a table (from a background purge thread)
    
      * different from 5.7:
        - new service thread "thd_destructor_proxy" to make sure all THDs are
          destroyed at the correct point in time during the server shutdown
        - proper opening/closing of tables for vcol evaluations in
           + FK checks (use already opened prelocked tables)
           + purge threads (open the table, MDLock it, add it to tdc, close
             when not needed)
        - cache open tables in vc_templ
        - avoid unnecessary allocations, reuse table->record[0] and table->s->default_values
        - not needed in 5.7, because it overcalculates:
          + tell the server to calculate vcols for an on-going inline ADD INDEX
          + calculate vcols for correct error messages
    
      * update other engines (mroonga/tokudb) accordingly
    1cae1af6
gcol_column_def_options.inc 19.3 KB