1. 23 Aug, 2017 6 commits
  2. 22 Aug, 2017 3 commits
  3. 20 Aug, 2017 2 commits
  4. 19 Aug, 2017 1 commit
    • Igor Babaev's avatar
      This patch complements the patch for mdev-10855. · d7b45e01
      Igor Babaev authored
      It allows to push conditions into derived with window functions not
      only in the cases when the window specifications of these window
      functions use the same partition, but also in the cases when the window
      functions use partitions that share only some fields. In these
      cases only the conditions over the common fields are pushed.
      d7b45e01
  5. 18 Aug, 2017 2 commits
  6. 17 Aug, 2017 2 commits
  7. 16 Aug, 2017 3 commits
    • Marko Mäkelä's avatar
      Silence a -Wimplicit-fallthrough warning · ff3cf749
      Marko Mäkelä authored
      ff3cf749
    • Marko Mäkelä's avatar
      Work around MDEV-13542 Crashing on a corrupted page is unhelpful · 92f9be49
      Marko Mäkelä authored
      With MDEV-12288 and MDEV-13536, the InnoDB purge threads will access
      pages more often, causing all sorts of debug assertion failures in
      the B-tree code.
      
      Work around this problem by amending the corruption tests with
      --innodb-purge-rseg-truncate-frequency=1 --skip-innodb-fast-shutdown
      so that everything will be purged before the server
      is restarted to deal with the corruption.
      92f9be49
    • Marko Mäkelä's avatar
      MDEV-13536 DB_TRX_ID is not actually being reset when the history is removed · f4b379d6
      Marko Mäkelä authored
      This should have been part of MDEV-12288.
      
      trx_undo_t::del_marks: Remove.
      Purge needs to process all undo log records in order to
      reset the DB_TRX_ID. Before MDEV-12288, it sufficed to only delete
      the purgeable delete-marked records, and it ignore other undo log.
      
      trx_rseg_t::needs_purge: Renamed from trx_rseg_t::last_del_marks.
      Indicates whether a rollback segment needs to be processed by purge.
      
      TRX_UNDO_NEEDS_PURGE: Renamed from TRX_UNDO_DEL_MARKS.
      Indicates whether a rollback segment needs to be processed by purge.
      This will be 1 until trx_purge_free_segment() has been invoked.
      
      row_purge_record_func(): Set the is_insert flag for TRX_UNDO_INSERT_REC,
      so that the DB_ROLL_PTR will match in row_purge_reset_trx_id().
      
      trx_purge_fetch_next_rec(): Add a comment about row_purge_record_func()
      going to set the is_insert flag.
      
      trx_purge_read_undo_rec(): Always attempt to read the undo log record.
      
      trx_purge_get_next_rec(): Do not skip any undo log records.
      Even when no clustered index record is going to be removed,
      we may want to reset some DB_TRX_ID,DB_ROLL_PTR.
      
      trx_undo_rec_get_cmpl_info(), trx_undo_rec_get_extern_storage(): Remove.
      
      trx_purge_add_undo_to_history(): Set the TRX_UNDO_NEEDS_PURGE flag
      so that the resetting will work on undo logs that were originally
      created before MDEV-12288 (MariaDB 10.3.1).
      
      trx_undo_roll_ptr_is_insert(), trx_purge_free_segment(): Cleanup
      (should be no functional change).
      f4b379d6
  8. 15 Aug, 2017 14 commits
  9. 14 Aug, 2017 3 commits
  10. 13 Aug, 2017 2 commits
  11. 11 Aug, 2017 2 commits
    • halfspawn's avatar
      c9981fbe
    • Marko Mäkelä's avatar
      MDEV-13495 Crash in rollback of a recovered INSERT transaction after upgrade · 347d9456
      Marko Mäkelä authored
      If the server is upgraded from a database that was created
      before MDEV-12288, and if the undo logs in the database contain
      an incomplete transaction that performed an INSERT operation,
      the server would crash when rolling back that transaction.
      
      trx_commit_low(): Relax a too strict transaction. This function
      will also be called after completing the rollback of a recovered
      transaction.
      
      trx_purge_add_undo_to_history(): Merged from the functions
      trx_purge_add_update_undo_to_history() and trx_undo_update_cleanup(),
      which are removed. Remove the parameter undo_page, and instead call
      trx_undo_set_state_at_finish() to obtain it.
      
      trx_write_serialisation_history(): Treat undo and old_insert equally.
      That is, after the rollback (or XA COMMIT) of a recovered transaction
      before upgrade, move all logs (both insert_undo and update_undo) to
      the purge queue.
      347d9456