1. 25 Mar, 2019 11 commits
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 8b480df6
      Marko Mäkelä authored
      8b480df6
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · dbc0d576
      Marko Mäkelä authored
      dbc0d576
    • Marko Mäkelä's avatar
      MDEV-19022: InnoDB fails to cleanup useless B-tree pages · 525e79b0
      Marko Mäkelä authored
      The test case for reproducing MDEV-14126 demonstrates that InnoDB can
      end up with an index tree where a non-leaf page has only one child page.
      
      The test case innodb.innodb_bug14676111 demonstrates that such pages
      are sometimes unavoidable, because InnoDB does not implement any sort
      of B-tree rotation.
      
      But, there is no reason to allow a root page with only one child page.
      
      btr_cur_node_ptr_delete(): Replaces btr_node_ptr_delete().
      
      btr_page_get_father(): Declare globally.
      
      btr_discard_only_page_on_level(): Declare with ATTRIBUTE_COLD.
      It turns out that this function is not covered by the
      innodb.innodb_bug14676111 test case after all.
      
      btr_discard_page(): If the root page ends up having only one child
      page, shrink the tree by invoking btr_lift_page_up().
      525e79b0
    • Marko Mäkelä's avatar
      Avoid sign mismatch in comparisons · ade0a0e9
      Marko Mäkelä authored
      This is follow-up to commit 1bd98154.
      ade0a0e9
    • Marko Mäkelä's avatar
      MDEV-14126: Fix type mismatch · 1bd98154
      Marko Mäkelä authored
      Backport some changes to B-tree page accessor functions from 10.3,
      including changing page_get_n_recs() to return uint16_t.
      1bd98154
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · c3a6c683
      Marko Mäkelä authored
      c3a6c683
    • Marko Mäkelä's avatar
      MDEV-14126: Detect unexpected emptying of B-tree pages · 72b934e3
      Marko Mäkelä authored
      If an index page becomes empty, btr_page_empty() should be called.
      72b934e3
    • Marko Mäkelä's avatar
    • Marko Mäkelä's avatar
      MDEV-14126: Remove page_is_root() · b59d4846
      Marko Mäkelä authored
      The predicate page_is_root(), which was added in MariaDB Server 10.2.2,
      is based on a wrong assumption.
      
      Under some circumstances, InnoDB can transform B-trees into a degenerate
      state where a non-leaf page has no sibling pages. Because of this,
      we cannot assume that a page that has no siblings is the root page.
      This bug will be tracked as MDEV-19022.
      
      Because of the bug that may affect many InnoDB data files, we must remove
      and replace the wrong predicate. Using the wrong predicate can cause
      corruption. A leaf page is not allowed to be empty except if it is the
      root page, and the entire table is empty.
      b59d4846
    • Marko Mäkelä's avatar
      MDEV-18090 Assertion failures due to virtual columns after upgrading to 10.2 · 71c781bf
      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.
      
      Similar to what was done in MDEV-18084 and MDEV-18960, we adjust two more
      code paths for the old tables.
      
      ha_innobase::build_template(): Do not invoke
      dict_index_contains_col_or_prefix() for virtual columns if InnoDB
      does not store the metadata.
      
      innobase_build_col_map(): Relax an assertion about the number of columns.
      
      ha_innobase::omits_virtual_cols(): Renamed from omits_virtual_cols().
      71c781bf
    • Alexander Barkov's avatar
      SEQUENCE tests for MDEV-18892 Regression in slow log and admin statements · f03f4da6
      Alexander Barkov authored
      Adding tests to cover how SEQUENCE related statements work in combination
      with the slow log configuration commands.
      f03f4da6
  2. 23 Mar, 2019 5 commits
  3. 22 Mar, 2019 20 commits
  4. 21 Mar, 2019 4 commits