1. 02 Oct, 2017 7 commits
    • Marko Mäkelä's avatar
      Adjust tests for instant ADD COLUMN · 58f2c842
      Marko Mäkelä authored
      58f2c842
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      Enable instant ADD COLUMN · e9f6906d
      Marko Mäkelä authored
      We must split the creation of table or index metadata from the
      creation of the dictionary table records and the creation of
      the data. In this way, we can transform a table-rebuilding operation
      into an instant ADD COLUMN operation. Dictionary objects will only
      be added to cache when table rebuilding or index creation is needed.
      The ctx->instant_table will never be added to cache.
      
      innodb_update_n_cols(): Renamed from innobase_update_n_virtual().
      Call my_error() if an error occurs.
      
      innobase_add_instant_try(): Call my_error() if an error occurs.
      
      create_index_dict(): Replaces row_merge_create_index_graph().
      
      prepare_inplace_alter_table_dict(): First create the ctx->new_table,
      and only then decide if the table really needs to be rebuilt.
      e9f6906d
    • Marko Mäkelä's avatar
      Add system columns to tables before creating the table · ebf539dd
      Marko Mäkelä authored
      dict_create_sys_tables_tuple(), dict_create_table_step(): Omit the
      system columns (which will now exist in the dict_table_t object
      already at this point).
      
      dict_create_table_step(): Expect the callers to invoke
      dict_table_add_system_columns().
      
      pars_create_table(): Before creating the table creation execution graph,
      invoke dict_table_add_system_columns().
      
      row_create_table_for_mysql(): Expect all callers to invoke
      dict_table_add_system_columns().
      ebf539dd
    • Marko Mäkelä's avatar
      Do not modify the table when adding it to the cache · 5ffdb98f
      Marko Mäkelä authored
      dict_table_t::add_to_cache(): Modified from dict_table_add_to_cache().
      Let the callers invoke dict_table_add_system_columns() and if needed,
      set can_be_evicted.
      5ffdb98f
    • Marko Mäkelä's avatar
      Remove dict_table_t::big_rows · 1ef59971
      Marko Mäkelä authored
      The field dict_table_t::big_rows was only used for determining if
      the adaptive hash index should be used when the internal InnoDB SQL
      parser is used. That parser is only used for modifying the InnoDB
      data dictionary, updating persistent tables, and for fulltext indexes.
      1ef59971
    • Marko Mäkelä's avatar
      Remove a constant parameter commit=false · 4268343f
      Marko Mäkelä authored
      4268343f
  2. 01 Oct, 2017 7 commits
  3. 29 Sep, 2017 10 commits
  4. 28 Sep, 2017 7 commits
  5. 27 Sep, 2017 7 commits
  6. 26 Sep, 2017 2 commits
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.3-instant · 18fc6274
      Marko Mäkelä authored
      18fc6274
    • Marko Mäkelä's avatar
      Fix online table-rebuilding ALTER on tables after instant ADD COLUMN · 58ac1718
      Marko Mäkelä authored
      In the temporary file that is applied by row_log_table_apply(),
      we must identify whether the records contain the extra header for
      instantly added columns. For now, we will allocate an additional byte
      for this for ROW_T_INSERT and ROW_T_UPDATE records when the source table
      has been subject to instant ADD COLUMN. The ROW_T_DELETE records are
      fine, as they will be converted and will only contain 'core' columns
      (PRIMARY KEY and some system columns) that are converted from dtuple_t.
      
      rec_get_converted_size_temp(), rec_init_offsets_temp(),
      rec_convert_dtuple_to_temp(): Add the parameter 'status'.
      
      rec_set_n_add_field(): Simplify the interface to resemble
      rec_get_n_add_field().
      
      rec_init_offsets_comp_ordinary(): Handle the new rec_leaf_format
      constant REC_LEAF_TEMP_COLUMNS_ADDED.
      
      rec_get_converted_size_comp_prefix_low(),
      rec_convert_dtuple_to_rec_comp(): Handle
      index->is_instant() for both temp and !temp.
      58ac1718