1. 23 Mar, 2019 1 commit
  2. 22 Mar, 2019 7 commits
  3. 21 Mar, 2019 18 commits
  4. 20 Mar, 2019 8 commits
  5. 19 Mar, 2019 6 commits
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 117291db
      Marko Mäkelä authored
      117291db
    • Marko Mäkelä's avatar
      trx_purge_rseg_get_next_history_log(): Remove a parameter · 26e5bff0
      Marko Mäkelä authored
      Access purge_sys.rseg directly, instead of obscuring it with a parameter.
      26e5bff0
    • Marko Mäkelä's avatar
      MDEV-18084: Crash on UPDATE after upgrade from 10.0 or 10.1 · a77e2668
      Marko Mäkelä authored
      MariaDB Server 10.0 and 10.1 support non-indexed virtual columns,
      which are hidden from the storage engine. Starting with MDEV-5800
      in MariaDB 10.2.2, the virtual columns are visible to storage engines.
      
      calc_row_difference(): Follow up the MDEV-17199 fix, which forgot
      to increment num_v when skipping virtual columns in tables that
      were created before MariaDB 10.2.2. This caused a corruption of
      the update vector when an updated persistent column is preceded
      by virtual columns.
      a77e2668
    • Marko Mäkelä's avatar
      Replace innobase_is_v_fld() with Field::stored_in_db() · 1efda582
      Marko Mäkelä authored
      The macro innobase_is_v_fld() turns out to be equivalent with
      the opposite of Field::stored_in_db(). Remove the macro and
      invoke the member function directly.
      
      innodb_base_col_setup_for_stored(): Simplify a condition to only
      check Field::vcol_info.
      
      innobase_create_index_def(): Replace some redundant code with
      DBUG_ASSERT().
      1efda582
    • Marko Mäkelä's avatar
      MDEV-18960: Assertion !omits_virtual_cols(*form->s) on TRUNCATE · 9471dbaf
      Marko Mäkelä authored
      MariaDB before MDEV-5800 in version 10.2.2 did not support
      indexed virtual columns. Non-persistent virtual columns were
      hidden from storage engines. Only starting with MDEV-5800, InnoDB
      would create internal metadata on virtual columns.
      
      On TRUNCATE TABLE, an old .frm file from before MDEV-5800 may be
      used as the table schema. When the table is being re-created by
      InnoDB, the old schema must be used. That is, we may hide
      the existence of virtual columns from InnoDB.
      
      create_table_check_doc_id_col(): Remove the assertion that failed.
      This function can actually correctly deal with virtual columns
      that could have been created before MariaDB 10.2.2 introduced MDEV-5800.
      
      create_table_info_t::create_table_def(): Do not create metadata for
      virtual columns if the table definition was created before MariaDB 10.2.2.
      9471dbaf
    • Marko Mäkelä's avatar
      MDEV-18966 Transaction recovery may be broken after upgrade to 10.3 · cdb2208c
      Marko Mäkelä authored
      This bug was introduced by MDEV-12288, which made InnoDB use
      a single undo log for persistent transactions, instead of
      maintaining separate insert_undo and update_undo logs.
      
      trx_undo_reuse_cached(): Initialize the TRX_UNDO_PAGE_TYPE
      after reusing a cached undo log page for undo log.
      Failure to do so can cause trx_undo_mem_create_at_db_start()
      to misclassify new undo log records as TRX_UNDO_INSERT.
      This in turn would trigger an assertion failure in
      trx_roll_pop_top_rec_of_trx() due to undo==insert.
      cdb2208c