An error occurred fetching the project authors.
  1. 01 Apr, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-22107 Restore accidentally orphaned MTR_MEMO_MODIFY · b212f1da
      Marko Mäkelä authored
      In MDEV-12353, the calls to mtr_t::memo_modify_page()
      were accidentally removed along with
      mlog_open_and_write_index() and its callers.
      
      Let us resurrect the function to enable better debug checks.
      
      mtr_t::flag_modified(): Renamed from mtr_t::set_modified()
      and made private.
      
      mtr_t::set_modified(): Take const buf_block_t& as a parameter.
      
      In several mtr_t member functions, replace const buf_page_t&
      parameters with const buf_block_t&, so that we can pass the
      parameter to set_modified().
      
      mtr_t::modify(): Add a MTR_MEMO_MODIFY entry for a block that
      is guaranteed to be modified in the mini-transaction.
      b212f1da
  2. 05 Mar, 2020 1 commit
  3. 03 Mar, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-12353: Introduce an EXTENDED record subtype TRIM_PAGES · fae259f0
      Marko Mäkelä authored
      For undo log truncation, commit 055a3334
      repurposed the MLOG_FILE_CREATE2 record with a nonzero page size
      to indicate that an undo tablespace will be shrunk in size.
      In commit 7ae21b18 the
      MLOG_FILE_CREATE2 record was replaced by a FILE_CREATE record.
      
      Now that the redo log encoding was changed, there is no actual need
      to write a file name in the log record; it suffices to write the
      page identifier of the first page that is not part of the file.
      
      This TRIM_PAGES record could allow us to shrink any data files in the
      future. For now, it will be limited to undo tablespaces.
      
      mtr_t::log_file_op(): Remove the parameter first_page_no, because
      it would always be 0 for file operations.
      
      mtr_t::trim_pages(): Replaces fil_truncate_log().
      
      mtr_t::log_write(): Avoid same_page encoding if !bpage&&!m_last.
      
      fil_op_replay_rename(): Remove the constant parameter first_page_no=0.
      fae259f0
  4. 27 Feb, 2020 2 commits
    • Marko Mäkelä's avatar
      MDEV-21724: Optimize page_cur_insert_low() redo logging · 138cbec5
      Marko Mäkelä authored
      Inserting a record into an index page involves updating multiple
      fields in the page header as well as updating the next-record links
      and potentially updating fields related to the sparse page directory.
      
      Let us cover the insert operations by higher-level log records, to avoid
      'redundant' logging about the writes.
      
      The code for applying the high-level log records will check the
      consistency of the page thoroughly, to avoid crashes during recovery.
      We will refuse to replay the inserts if any inconsistency is detected.
      With innodb_force_recovery=1, recovery will continue, but the affected
      pages may be more inconsistent if some changes were omitted.
      
      mrec_ext_t: Introduce the EXTENDED record subtypes
      INSERT_HEAP_REDUNDANT, INSERT_REUSE_REDUNDANT,
      INSERT_HEAP_DYNAMIC, INSERT_REUSE_DYNAMIC.
      The record will explicitly identify the page type and whether
      the space will be allocated from PAGE_HEAP_TOP or reused from
      the PAGE_FREE list. It will also tell how many bytes to copy
      from the preceding record header and payload, and how to
      initialize the rest of the record header and payload.
      
      mtr_t::page_insert(): Write the high-level log records.
      
      log_phys_t::apply(): Parse the high-level log records.
      
      page_apply_insert_redundant(), page_apply_insert_dynamic():
      Apply the high-level log records.
      
      page_dir_split_slot(): Introduce a variant that does not write log
      nor deal with ROW_FORMAT=COMPRESSED pages.
      
      page_mem_alloc_heap(): Remove the mtr_t parameter
      
      page_cur_insert_rec_low(): Write log only via mtr_t::page_insert().
      138cbec5
    • Marko Mäkelä's avatar
      MDEV-12353: Make UNDO_APPEND more robust · 4431144a
      Marko Mäkelä authored
      This is a follow-up to commit 84e3f9ce
      that introduced the EXTENDED log record of UNDO_APPEND subtype.
      
      mtr_t::undo_append(): Accurately enforce the mtr_buf_t::MAX_DATA_SIZE
      limit. Also, replace mtr_buf_t::push() with simpler code, to append 1 byte
      to the log.
      
      log_phys_t::undo_append(): Return whether the page was found to
      be in an inconsistent state.
      
      log_phys_t::apply(): If corruption was noticed, stop applying log
      unless innodb_force_recovery is set.
      4431144a
  5. 22 Feb, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-12353: Reduce log volume of page_cur_delete_rec() · 572d2075
      Marko Mäkelä authored
      mrec_ext_t: Introduce DELETE_ROW_FORMAT_REDUNDANT,
      DELETE_ROW_FORMAT_DYNAMIC.
      
      mtr_t::page_delete(): Write DELETE_ROW_FORMAT_REDUNDANT or
      DELETE_ROW_FORMAT_DYNAMIC log records. We log the byte offset
      of the preceding record, so that on recovery we can easily
      find everything to update. For DELETE_ROW_FORMAT_DYNAMIC,
      we must also write the header and data size of the record.
      
      We will retain the physical logging for ROW_FORMAT=COMPRESSED pages.
      
      page_zip_dir_balance_slot(): Renamed from page_dir_balance_slot(),
      and specialized for ROW_FORMAT=COMPRESSED only.
      
      page_rec_set_n_owned(), page_dir_slot_set_n_owned(),
      page_dir_balance_slot(): New variants that do not write any log.
      
      page_mem_free(): Take data_size, extra_size as parameters.
      Always zerofill the record payload.
      
      page_cur_delete_rec(): For other than ROW_FORMAT=COMPRESSED,
      only write log by mtr_t::page_delete().
      572d2075
  6. 19 Feb, 2020 2 commits
    • Marko Mäkelä's avatar
      MDEV-12353: Reduce log volume by an UNDO_APPEND record · 84e3f9ce
      Marko Mäkelä authored
      We introduce an EXTENDED log record for appending an undo log record
      to an undo log page. This is equivalent to the MLOG_UNDO_INSERT record
      that was removed in commit f802c989,
      only using more compact encoding.
      
      mtr_t::log_write(): Fix a bug that affects longer log
      record writes in the !same_page && !have_offset case.
      Similar code is already implemented for the have_offset code path.
      The bug was unobservable before we started to write longer
      EXTENDED records. All !have_offset records (FREE_PAGE, INIT_PAGE,
      EXTENDED) that were written so far are short, and we never write
      RESERVED or OPTION records.
      
      mtr_t::undo_append(): Write an UNDO_APPEND record.
      
      log_phys_t::undo_append(): Apply an UNDO_APPEND record.
      
      trx_undo_page_set_next_prev_and_add(),
      trx_undo_page_report_modify(),
      trx_undo_page_report_rename():
      Invoke mtr_t::undo_append() instead of emitting WRITE records.
      84e3f9ce
    • Marko Mäkelä's avatar
      MDEV-12353: Reduce log volume by an UNDO_INIT record · 86f262f1
      Marko Mäkelä authored
      We introduce an EXTENDED log record for initializing an undo log page.
      The size of the record will be 2 bytes plus the optional page identifier.
      The entire undo page will be initialized, except the space that is
      already reserved for TRX_UNDO_SEG_HDR in trx_undo_seg_create().
      
      mtr_t::undo_create(): Write the UNDO_INIT record.
      
      trx_undo_page_init(): Initialize the undo page corresponding to the
      UNDO_INIT record. Unlike the former MLOG_UNDO_INIT record, we will
      initialize almost the entire page, including initializing the
      TRX_UNDO_PAGE_NODE to an empty list node, so that the subsequent call
      to flst_init() will avoid writing log for the undo page.
      86f262f1
  7. 13 Feb, 2020 4 commits
    • Marko Mäkelä's avatar
      MDEV-12353: Change the redo log encoding · 7ae21b18
      Marko Mäkelä authored
      log_t::FORMAT_10_5: physical redo log format tag
      
      log_phys_t: Buffered records in the physical format.
      The log record bytes will follow the last data field,
      making use of alignment padding that would otherwise be wasted.
      If there are multiple records for the same page, also those
      may be appended to an existing log_phys_t object if the memory
      is available.
      
      In the physical format, the first byte of a record identifies the
      record and its length (up to 15 bytes). For longer records, the
      immediately following bytes will encode the remaining length
      in a variable-length encoding. Usually, a variable-length-encoded
      page identifier will follow, followed by optional payload, whose
      length is included in the initially encoded total record length.
      
      When a mini-transaction is updating multiple fields in a page,
      it can avoid repeating the tablespace identifier and page number
      by setting the same_page flag (most significant bit) in the first
      byte of the log record. The byte offset of the record will be
      relative to where the previous record for that page ended.
      
      Until MDEV-14425 introduces a separate file-level log for
      redo log checkpoints and file operations, we will write the
      file-level records in the page-level redo log file.
      The record FILE_CHECKPOINT (which replaces MLOG_CHECKPOINT)
      will be removed in MDEV-14425, and one sequential scan of the
      page recovery log will suffice.
      
      Compared to MLOG_FILE_CREATE2, FILE_CREATE will not include any flags.
      If the information is needed, it can be parsed from WRITE records that
      modify FSP_SPACE_FLAGS.
      
      MLOG_ZIP_WRITE_STRING: Remove. The record was only introduced temporarily
      as part of this work, before being replaced with WRITE (along with
      MLOG_WRITE_STRING, MLOG_1BYTE, MLOG_nBYTES).
      
      mtr_buf_t::empty(): Check if the buffer is empty.
      
      mtr_t::m_n_log_recs: Remove. It suffices to check if m_log is empty.
      
      mtr_t::m_last, mtr_t::m_last_offset: End of the latest m_log record,
      for the same_page encoding.
      
      page_recv_t::last_offset: Reflects mtr_t::m_last_offset.
      
      Valid values for last_offset during recovery should be 0 or above 8.
      (The first 8 bytes of a page are the checksum and the page number,
      and neither are ever updated directly by log records.)
      Internally, the special value 1 indicates that the same_page form
      will not be allowed for the subsequent record.
      
      mtr_t::page_create(): Take the block descriptor as parameter,
      so that it can be compared to mtr_t::m_last. The INIT_INDEX_PAGE
      record will always followed by a subtype byte, because same_page
      records must be longer than 1 byte.
      
      trx_undo_page_init(): Combine the writes in WRITE record.
      
      trx_undo_header_create(): Write 4 bytes using a special MEMSET
      record that includes 1 bytes of length and 2 bytes of payload.
      
      flst_write_addr(): Define as a static function. Combine the writes.
      
      flst_zero_both(): Replaces two flst_zero_addr() calls.
      
      flst_init(): Do not inline the function.
      
      fsp_free_seg_inode(): Zerofill the whole inode.
      
      fsp_apply_init_file_page(): Initialize FIL_PAGE_PREV,FIL_PAGE_NEXT
      to FIL_NULL when using the physical format.
      
      btr_create(): Assert !page_has_siblings() because fsp_apply_init_file_page()
      must have been invoked.
      
      fil_ibd_create(): Do not write FILE_MODIFY after FILE_CREATE.
      
      fil_names_dirty_and_write(): Remove the parameter mtr.
      Write the records using a separate mini-transaction object,
      because any FILE_ records must be at the start of a mini-transaction log.
      
      recv_recover_page(): Add a fil_space_t* parameter.
      After applying log to the a ROW_FORMAT=COMPRESSED page,
      invoke buf_zip_decompress() to restore the uncompressed page.
      
      buf_page_io_complete(): Remove the temporary hack to discard the
      uncompressed page of a ROW_FORMAT=COMPRESSED page.
      
      page_zip_write_header(): Remove. Use mtr_t::write() or
      mtr_t::memset() instead, and update the compressed page frame
      separately.
      
      trx_undo_header_add_space_for_xid(): Remove.
      
      trx_undo_seg_create(): Perform the changes that were previously
      made by trx_undo_header_add_space_for_xid().
      
      btr_reset_instant(): New function: Reset the table to MariaDB 10.2
      or 10.3 format when rolling back an instant ALTER TABLE operation.
      
      page_rec_find_owner_rec(): Merge with the only callers.
      
      page_cur_insert_rec_low(): Combine writes by using a local buffer.
      MEMMOVE data from the preceding record whenever feasible
      (copying at least 3 bytes).
      
      page_cur_insert_rec_zip(): Combine writes to page header fields.
      
      PageBulk::insertPage(): Issue MEMMOVE records to copy a matching
      part from the preceding record.
      
      PageBulk::finishPage(): Combine the writes to the page header
      and to the sparse page directory slots.
      
      mtr_t::write(): Only log the least significant (last) bytes
      of multi-byte fields that actually differ.
      
      For updating FSP_SIZE, we must always write all 4 bytes to the
      redo log, so that the fil_space_set_recv_size() logic in
      recv_sys_t::parse() will work.
      
      mtr_t::memcpy(), mtr_t::zmemcpy(): Take a pointer argument
      instead of a numeric offset to the page frame. Only log the
      last bytes of multi-byte fields that actually differ.
      
      In fil_space_crypt_t::write_page0(), we must log also any
      unchanged bytes, so that recovery will recognize the record
      and invoke fil_crypt_parse().
      
      Future work:
      MDEV-21724 Optimize page_cur_insert_rec_low() redo logging
      MDEV-21725 Optimize btr_page_reorganize_low() redo logging
      MDEV-21727 Optimize redo logging for ROW_FORMAT=COMPRESSED
      7ae21b18
    • Marko Mäkelä's avatar
      MDEV-12353: Write log by mtr_t member functions only · f37a29dd
      Marko Mäkelä authored
      mtr_t::log_write_low(): Replaces mlog_write_initial_log_record_low().
      
      mtr_t::log_file_op(): Replaces fil_op_write_log().
      
      mtr_t::free(): Write MLOG_INIT_FREE_PAGE.
      
      mtr_t::init(): Write MLOG_INIT_FILE_PAGE2.
      
      mtr_t::page_create(): Write record about the partial initialization
      of an index page.
      
      mlog_catenate_ulint(), mlog_catenate_string(),
      mlog_open(), mlog_close(): Remove.
      f37a29dd
    • Marko Mäkelä's avatar
      MDEV-12353: Introduce mtr_t::zmemcpy() · 8a039ee1
      Marko Mäkelä authored
      Exclusively write MLOG_ZIP_WRITE_STRING records by mtr_t::zmemcpy().
      8a039ee1
    • Marko Mäkelä's avatar
      MDEV-12353: Remove MTR_LOG_SHORT_INSERTS · 600eae91
      Marko Mäkelä authored
      No longer emit the redo log records
      MLOG_LIST_END_COPY_CREATED, MLOG_COMP_LIST_END_COPY_CREATED.
      600eae91
  8. 11 Feb, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-19747: Deprecate and ignore innodb_log_optimize_ddl · fc2f2fa8
      Marko Mäkelä authored
      During native table rebuild or index creation, InnoDB used to skip
      redo logging and write MLOG_INDEX_LOAD records to inform crash recovery
      and Mariabackup of the gaps in redo log. This is fragile and prohibits
      some optimizations, such as skipping the doublewrite buffer for
      newly (re)initialized pages (MDEV-19738).
      
      row_merge_write_redo(): Remove. We do not write MLOG_INDEX_LOAD
      records any more. Instead, we write full redo log.
      
      FlushObserver: Remove.
      
      fseg_free_page_func(): Remove the parameter log. Redo logging
      cannot be disabled.
      
      fil_space_t::redo_skipped_count: Remove.
      
      We cannot remove buf_block_t::skip_flush_check, because PageBulk
      will temporarily generate invalid B-tree pages in the buffer pool.
      fc2f2fa8
  9. 07 Feb, 2020 4 commits
  10. 29 Jan, 2020 1 commit
  11. 14 Jan, 2020 1 commit
  12. 08 Jan, 2020 1 commit
  13. 02 Jan, 2020 1 commit
  14. 03 Dec, 2019 3 commits
    • Marko Mäkelä's avatar
      MDEV-21174: Replace mlog_write_string() with mtr_t::memcpy() · af5947f4
      Marko Mäkelä authored
      mtr_t::memcpy(): Replaces mlog_write_string(), mlog_log_string().
      The buf_block_t is passed a parameter, so that
      mlog_write_initial_log_record_low() can be used instead of
      mlog_write_initial_log_record_fast().
      
      fil_space_crypt_t::write_page0(): Remove the fil_space_t* parameter.
      af5947f4
    • Marko Mäkelä's avatar
      MDEV-21174: Replace mlog_memset() with mtr_t::memset() · 87839258
      Marko Mäkelä authored
      Passing buf_block_t helps us avoid calling
      mlog_write_initial_log_record_fast() and page_get_page_no(),
      and allows us to implement more debug checks, such as
      that on ROW_FORMAT=COMPRESSED index pages, only the page header
      may be modified by MLOG_MEMSET records.
      
      fseg_n_reserved_pages(): Add a buf_block_t parameter.
      87839258
    • Marko Mäkelä's avatar
      MDEV-21174: Replace mlog_write_ulint() with mtr_t::write() · 56f6dab1
      Marko Mäkelä authored
      mtr_t::write(): Replaces mlog_write_ulint(), mlog_write_ull().
      Optimize away writes if the page contents does not change,
      except when a dummy write has been explicitly requested.
      
      Because the member function template takes a block descriptor as a
      parameter, it is possible to introduce better consistency checks.
      Due to this, the code for handling file-based lists, undo logs
      and user transactions was refactored to pass around buf_block_t.
      56f6dab1
  15. 15 Nov, 2019 1 commit
  16. 14 Nov, 2019 1 commit
    • Marko Mäkelä's avatar
      MDEV-12353 preparation: Replace mtr_x_lock() and friends · 3d4a8015
      Marko Mäkelä authored
      Apart from page latches (buf_block_t::lock), mini-transactions
      are keeping track of at most one dict_index_t::lock and
      fil_space_t::latch at a time, and in a rare case, purge_sys.latch.
      
      Let us introduce interfaces for acquiring an index latch
      or a tablespace latch.
      
      In a later version, we may want to introduce mtr_t members
      for holding a latched dict_index_t* and fil_space_t*,
      and replace the remaining use of mtr_t::m_memo
      with std::set<buf_block_t*> or with a map<buf_block_t*,byte*>
      pointing to log records.
      3d4a8015
  17. 12 Nov, 2019 1 commit
    • Marko Mäkelä's avatar
      MDEV-12353 preparation: Clean up mtr_t · 2570cb8b
      Marko Mäkelä authored
      mtr_t::Impl, mtr_t::Command: Merge to mtr_t.
      
      MTR_MAGIC_N: Remove.
      
      MTR_STATE_COMMITTING: Remove. This state was only being set
      internally during mtr_t::commit().
      
      mtr_t::Command::m_locks_released: Remove (set-and-never-read member).
      
      mtr_t::Command::m_start_lsn: Replaced with the return value of
      finish_write() and a parameter to release_blocks().
      
      mtr_t::Command::m_end_lsn: Removed as a duplicate of mtr_t::m_commit_lsn.
      
      mtr_t::Command::prepare_write(): Replace a switch () with a
      comparison against 0. Only 2 m_log_mode are allowed.
      2570cb8b
  18. 08 Nov, 2019 1 commit
    • Marko Mäkelä's avatar
      Cleanup: Remove mach_read_ulint() · 78d0d2cd
      Marko Mäkelä authored
      The function mach_read_ulint() is a wrapper for the lower-level
      functions mach_read_from_1(), mach_read_from_2(), mach_read_from_8().
      Invoke those functions directly, for better readability of the code.
      
      mtr_t::read_ulint(), mtr_read_ulint(): Remove. Yes, we will lose the
      ability to assert that the read is covered by the mini-transaction.
      We would still check that on writes, and any writes that
      wrongly bypass mini-transaction logging would likely be caught by
      stress testing with Mariabackup.
      78d0d2cd
  19. 16 Jun, 2019 1 commit
  20. 11 May, 2019 1 commit
    • Vicențiu Ciorbaru's avatar
      Follow-up to changing FSF address · 15f1e03d
      Vicențiu Ciorbaru authored
      Some places didn't match the previous rules, making the Floor
      address wrong.
      
      Additional sed rules:
      
      sed -i -e 's/Place.*Suite .*, Boston/Street, Fifth Floor, Boston/g'
      sed -i -e 's/Suite .*, Boston/Fifth Floor, Boston/g'
      15f1e03d
  21. 29 Nov, 2018 1 commit
  22. 01 Nov, 2018 1 commit
  23. 26 Jul, 2018 1 commit
  24. 01 May, 2018 1 commit
    • Marko Mäkelä's avatar
      Fix many -Wunused-parameter · 2b27ac82
      Marko Mäkelä authored
      Remove unused InnoDB function parameters and functions.
      
      i_s_sys_virtual_fill_table(): Do not allocate heap memory.
      
      mtr_is_block_fix(): Replace with mtr_memo_contains().
      
      mtr_is_page_fix(): Replace with mtr_memo_contains_page().
      2b27ac82
  25. 29 Apr, 2018 1 commit
    • Marko Mäkelä's avatar
      MDEV-12218 Clean up InnoDB parameter validation · 715e4f43
      Marko Mäkelä authored
      Bind more InnoDB parameters directly to MYSQL_SYSVAR and
      remove "shadow variables".
      
      innodb_change_buffering: Declare as ENUM, not STRING.
      
      innodb_flush_method: Declare as ENUM, not STRING.
      
      innodb_log_buffer_size: Bind directly to srv_log_buffer_size,
      without rounding it to a multiple of innodb_page_size.
      
      LOG_BUFFER_SIZE: Remove.
      
      SysTablespace::normalize_size(): Renamed from normalize().
      
      innodb_init_params(): A new function to initialize and validate
      InnoDB startup parameters.
      
      innodb_init(): Renamed from innobase_init(). Invoke innodb_init_params()
      before actually trying to start up InnoDB.
      
      srv_start(bool): Renamed from innobase_start_or_create_for_mysql().
      Added the input parameter create_new_db.
      
      SRV_ALL_O_DIRECT_FSYNC: Define only for _WIN32.
      
      xb_normalize_init_values(): Merge to innodb_init_param().
      715e4f43
  26. 29 Mar, 2018 2 commits
    • Marko Mäkelä's avatar
      MDEV-12266: Change dict_table_t::space to fil_space_t* · 4cad4239
      Marko Mäkelä authored
      InnoDB always keeps all tablespaces in the fil_system cache.
      The fil_system.LRU is only for closing file handles; the
      fil_space_t and fil_node_t for all data files will remain
      in main memory. Between startup to shutdown, they can only be
      created and removed by DDL statements. Therefore, we can
      let dict_table_t::space point directly to the fil_space_t.
      
      dict_table_t::space_id: A numeric tablespace ID for the corner cases
      where we do not have a tablespace. The most prominent examples are
      ALTER TABLE...DISCARD TABLESPACE or a missing or corrupted file.
      
      There are a few functional differences; most notably:
      (1) DROP TABLE will delete matching .ibd and .cfg files,
      even if they were not attached to the data dictionary.
      (2) Some error messages will report file names instead of numeric IDs.
      
      There still are many functions that use numeric tablespace IDs instead
      of fil_space_t*, and many functions could be converted to fil_space_t
      member functions. Also, Tablespace and Datafile should be merged with
      fil_space_t and fil_node_t. page_id_t and buf_page_get_gen() could use
      fil_space_t& instead of a numeric ID, and after moving to a single
      buffer pool (MDEV-15058), buf_pool_t::page_hash could be moved to
      fil_space_t::page_hash.
      
      FilSpace: Remove. Only few calls to fil_space_acquire() will remain,
      and gradually they should be removed.
      
      mtr_t::set_named_space_id(ulint): Renamed from set_named_space(),
      to prevent accidental calls to this slower function. Very few
      callers remain.
      
      fseg_create(), fsp_reserve_free_extents(): Take fil_space_t*
      as a parameter instead of a space_id.
      
      fil_space_t::rename(): Wrapper for fil_rename_tablespace_check(),
      fil_name_write_rename(), fil_rename_tablespace(). Mariabackup
      passes the parameter log=false; InnoDB passes log=true.
      
      dict_mem_table_create(): Take fil_space_t* instead of space_id
      as parameter.
      
      dict_process_sys_tables_rec_and_mtr_commit(): Replace the parameter
      'status' with 'bool cached'.
      
      dict_get_and_save_data_dir_path(): Avoid copying the fil_node_t::name.
      
      fil_ibd_open(): Return the tablespace.
      
      fil_space_t::set_imported(): Replaces fil_space_set_imported().
      
      truncate_t: Change many member function parameters to fil_space_t*,
      and remove page_size parameters.
      
      row_truncate_prepare(): Merge to its only caller.
      
      row_drop_table_from_cache(): Assert that the table is persistent.
      
      dict_create_sys_indexes_tuple(): Write SYS_INDEXES.SPACE=FIL_NULL
      if the tablespace has been discarded.
      
      row_import_update_discarded_flag(): Remove a constant parameter.
      4cad4239
    • Marko Mäkelä's avatar
      MDEV-12266: Add fil_system.sys_space, temp_space · 2ac8b1a9
      Marko Mäkelä authored
      Add fil_system_t::sys_space, fil_system_t::temp_space.
      These will replace lookups for TRX_SYS_SPACE or SRV_TMP_SPACE_ID.
      
      mtr_t::m_undo_space, mtr_t::m_sys_space: Remove.
      
      mtr_t::set_sys_modified(): Remove.
      
      fil_space_get_type(), fil_space_get_n_reserved_extents(): Remove.
      
      fsp_header_get_tablespace_size(), fsp_header_inc_size():
      Merge to the only caller, innobase_start_or_create_for_mysql().
      2ac8b1a9
  27. 29 Jan, 2018 2 commits
  28. 26 Apr, 2017 1 commit