1. 25 Sep, 2017 8 commits
  2. 24 Sep, 2017 2 commits
  3. 23 Sep, 2017 11 commits
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      Cleanup: Revert unnecessary changes and simplify some code · acd66eed
      Marko Mäkelä authored
      Revert any changes that are not needed any more.
      
      Most of the code submitted by Vinchen has been refactored so far.
      The redo log format changes are as they were submitted by Vinchen.
      
      FIXME: On rollback, convert the record to "old" format if the values
      match the 'default row' ones. There should be no need to write any
      new BLOBs during rollback. If we created new BLOBs during rollback,
      crash recovery could become very tricky.
      
      TODO: Review the changes to row0upd.cc, row0umod.cc. For new inserts
      and updates, if the suffix of instantly added columns match the
      'default row', we can omit those fields from the clustered index
      record. If a non-default value is assigned to the last column, then
      all columns will have to be materialized.
      
      TODO: Implement update-in-place of the 'default row' record
      (for performing instant ADD COLUMN after instant ADD COLUMN).
      
      TODO: Implement and test rollback of the 'default row' record.
      
      TODO: Test crash recovery. Ensure that the ADD COLUMN operation
      is being rolled back if the server is killed during it. Also test
      crash recovery of DML operations on tables that were subject to
      instant ADD COLUMN, using all supported ROW_FORMAT (REDUNDANT,
      COMPACT, DYNAMIC).
      acd66eed
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.3-instant · 09370c07
      Marko Mäkelä authored
      09370c07
    • Marko Mäkelä's avatar
      Clarify a comment · 3b90e507
      Marko Mäkelä authored
      3b90e507
    • Marko Mäkelä's avatar
      Relax a too strict debug assertion · 1b349262
      Marko Mäkelä authored
      1b349262
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      Encode the number of added columns in the record header · 47988df7
      Marko Mäkelä authored
      For ROW_FORMAT=COMPACT and ROW_FORMAT=DYNAMIC records that contain
      fields that have been inserted after columns were instantly added
      (the record is tagged REC_STATUS_COLUMNS_ADDED), encode the
      number of added columns - 1 in the record header.
      
      rec_get_n_add_field_len): Determine the encoded size of the added fields.
      
      rec_get_n_add_field(): Determine the number of added fields.
      
      rec_set_n_add_field(): Set the number of added fields.
      47988df7
    • Marko Mäkelä's avatar
      Clarify a comment · 6d6ce1bb
      Marko Mäkelä authored
      6d6ce1bb
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      Add member functions to dictionary objects · f4ac3b78
      Marko Mäkelä authored
      dict_col_t::is_nullable(): Determine if the column can be set NULL.
      
      dict_col_t::is_nullable(): Determine if the column is virtual.
      
      dict_col_t::is_instant(): Determine if the column has been instantly added.
      
      dict_col_t::instant_value(): Get the default value of an instantly-added
      column.
      
      dict_index_t::get_n_nullable(n_prefix): Determine the number of nullable
      index fields in the prefix.
      
      dict_index_t::instant_field_value(): Get the default value of a
      clustered index field of an instantly-added column.
      f4ac3b78
    • Alexander Barkov's avatar
  4. 22 Sep, 2017 19 commits