1. 07 Feb, 2018 1 commit
    • Marko Mäkelä's avatar
      Foreign key code cleanup · 4cec63af
      Marko Mäkelä authored
      row_ins_cascade_calc_update_vec(): Remove the output parameter
      fts_col_affected, and instead return whether any fulltext index
      is affected by the cascade operation.
      
      row_ins_foreign_check_on_constraint(): Narrow the scope of some
      variables.
      
      ib_dec_in_dtor: Remove.
      4cec63af
  2. 06 Feb, 2018 13 commits
  3. 05 Feb, 2018 4 commits
  4. 04 Feb, 2018 1 commit
  5. 03 Feb, 2018 5 commits
  6. 02 Feb, 2018 14 commits
  7. 01 Feb, 2018 2 commits
    • Monty's avatar
      Ensure that thd->user_var_events_alloc is always relevant · 859fe1f2
      Monty authored
      If binary logging is not enabled thd->user_var_events_alloc
      would never be initialized.
      859fe1f2
    • Marko Mäkelä's avatar
      MDEV-15165 InnoDB purge for index on virtual column is trying to access an incomplete record · 44314c76
      Marko Mäkelä authored
      The algorithm change is based on a MySQL 8.0 fix for
      BUG #26818787: ASSERTION: DATA0DATA.IC:430:TUPLE
      by Krzysztof Kapuścik
      https://github.com/mysql/mysql-server/commit/ee606e62bbddd7ac3579b4a20ef8684fa7cd83fe
      
      If a record had been inserted in place of a delete-marked purgeable
      record by modifying that record, and purge was accessing that record
      before the off-page columns were written, row_build_index_entry()
      would have returned NULL, causing a crash.
      
      row_vers_non_virtual_fields_equal(): Check whether all non-virtual fields
      of an index are equal. Replaces row_vers_non_vc_match(). A more complex
      version of this function was called row_vers_non_vc_index_entry_match()
      in the MySQL 8.0 fix.
      
      row_vers_impl_x_locked_low(): This change is not directly related to
      the reported problem, but apparently to the removal of the function
      row_vers_non_vc_match(). This function checks if a secondary index
      record was modified by a transaction that has not been committed yet.
      For comparing the non-virtual columns, construct a secondary index
      tuple from the table row.
      
      row_vers_vc_matches_cluster(): Replace row_vers_non_vc_match() with
      code that is equivalent to the row_vers_non_vc_index_entry_match()
      in the MySQL 8.0 fix. Also, deduplicate some code by using goto.
      44314c76