1. 09 May, 2018 8 commits
  2. 08 May, 2018 7 commits
  3. 07 May, 2018 9 commits
    • Igor Babaev's avatar
    • Monty's avatar
      Added test case for MDEV-13007 ALTER .. ENGINE on temporary sequence may go wrong · bd09c5ca
      Monty authored
      Looks like the bug was fixed some time ago (at least I can't repeat it).
      I added the test case just have this case tested properly.
      bd09c5ca
    • Daniel Black's avatar
      mysys: disable "optimized" memcpy from 18 years ago · d405bee0
      Daniel Black authored
      MDEV-15843 mysys: remove optimized memcpy from 18 years ago
      
      While this code has remained dormant for 18 years, libc implementers
      have used assembly features to gain improvements using achitecture
      features optimized and by the buffer length like:
      * https://svnweb.freebsd.org/base/head/lib/libc/amd64/string/memcmp.S
      * https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/aarch64/memcmp.S
      * https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/powerpc/powerpc64/memcpy.S
      
      From an sysbench-1.0.6 oltp_read_only test on binary charset table:
      
      x86_64:
      was ptr_compare_0:
      perf report -g --no-children:
      +    3.37%  mysqld   mysqld               [.] hp_rec_hashnr
      +    3.15%  mysqld   libc-2.26.so         [.] __memmove_avx_unaligned_erms
      +    2.73%  mysqld   mysqld               [.] row_search_mvcc
      +    1.97%  mysqld   mysqld               [.] rec_get_offsets_func
      +    1.24%  mysqld   mysqld               [.] ptr_compare_0
      +    1.14%  mysqld   mysqld               [.] my_qsort2
      
      After: __memcmp_avx2_movbe
      +    3.42%  mysqld   mysqld               [.] hp_rec_hashnr
      +    2.96%  mysqld   libc-2.26.so         [.] __memmove_avx_unaligned_erms
      +    2.91%  mysqld   mysqld               [.] row_search_mvcc
      +    2.13%  mysqld   mysqld               [.] rec_get_offsets_func
      +    1.18%  mysqld   libc-2.26.so         [.] __memcmp_avx2_movbe
      +    1.04%  mysqld   mysqld               [.] evaluate_join_record
      +    1.02%  mysqld   mysqld               [.] my_qsort2
      
      Power9:
      Before: ptr_compare_0
      +    4.24%  mysqld   mysqld               [.] _Z15row_search_mvccPh15page_cur_mode_tP14row_prebuilt_tmm
      +    2.18%  mysqld   mysqld               [.] hp_rec_hashnr
      +    2.07%  mysqld   mysqld               [.] _Z20rec_get_offsets_funcPKhPK12dict_index_tPmbmPP16mem_block_info_t
      +    1.60%  mysqld   mysqld               [.] _ZL20evaluate_join_recordP4JOINP13st_join_tablei
      +    1.20%  mysqld   mysqld               [.] _ZN11ha_innobase13general_fetchEPhjj
      +    1.05%  mysqld   mysqld               [.] _ZN17Item_func_between15val_int_cmp_intEv
      +    0.92%  mysqld   mysqld               [.] _Z40row_sel_field_store_in_mysql_format_funcPhPK17mysql_row_templ_tPKhm
      +    0.91%  mysqld   mysqld               [.] _ZNK10Item_param6PValue7val_intEPK19Type_std_attributes
      +    0.84%  mysqld   mysqld               [.] ptr_compare_0
      
      After: __memcmp_power8
      +    2.29%  mysqld           mysqld                  [.] _Z15row_search_mvccPh15page_cur_mode_tP14row_prebuilt_tmm
      +    1.32%  mysqld           mysqld                  [.] hp_rec_hashnr
      +    1.18%  swapper          [kernel.kallsyms]       [k] power_enter_stop
      +    1.12%  mysqld           mysqld                  [.] _Z20rec_get_offsets_funcPKhPK12dict_index_tPmbmPP16mem_block_info_t
      +    0.87%  mysqld           mysqld                  [.] _ZL20evaluate_join_recordP4JOINP13st_join_tablei
      +    0.87%  mysqld           [kernel.kallsyms]       [k] ___bpf_prog_run
      +    0.76%  mysqld           libc-2.26.so            [.] __memcmp_power8
      +    0.68%  mysqld           mysqld                  [.] _ZN11ha_innobase13general_fetchEPhjj
      +    0.58%  mysqld           mysqld                  [.] _ZN17Item_func_between15val_int_cmp_intEv
      d405bee0
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · 1a4c355a
      Marko Mäkelä authored
      1a4c355a
    • Marko Mäkelä's avatar
      MDEV-14825 Assertion `col->ord_part' in row_build_index_entry_low upon... · e44ca6cc
      Marko Mäkelä authored
      MDEV-14825 Assertion `col->ord_part' in row_build_index_entry_low upon ROLLBACK or DELETE with concurrent ALTER on partitioned table
      
      If creating a secondary index fails (typically, ADD UNIQUE INDEX fails
      due to duplicate key), it is possible that concurrently running UPDATE
      or DELETE will access the index stub and hit the debug assertion.
      
      It does not make any sense to keep updating an uncommitted index whose
      creation has failed.
      
      dict_index_t::is_corrupted(): Replaces dict_index_is_corrupted().
      Also take online_status into account.
      
      Replace some calls to dict_index_is_clust() with calls to
      dict_index_t::is_primary().
      e44ca6cc
    • Daniel Black's avatar
      sp_cache_package_routine: fix compile warning · 005d53f6
      Daniel Black authored
      (clang-3.8)
      sql/sp.cc:2834:53: warning: implicit conversion of NULL constant to 'size_t' (aka 'unsigned long') [-Wnull-conversion]
          size_t prefix_length= dot ? dot - tmp.str + 1 : NULL;
                 ~~~~~~~~~~~~~                            ^~~~
                                                          0
      005d53f6
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-13134 Introduce ALTER TABLE attributes ALGORITHM=NOCOPY and ALGORITHM=INSTANT · c5b28e55
      Thirunarayanan Balathandayuthapani authored
      Remove the warning for InnoDB rebuilding table to add column FTS_DOC_ID.
      c5b28e55
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-13134 Introduce ALTER TABLE attributes ALGORITHM=NOCOPY and ALGORITHM=INSTANT · 85cc6b70
      Thirunarayanan Balathandayuthapani authored
      Introduced new alter algorithm type called NOCOPY & INSTANT for
      inplace alter operation.
      
      NOCOPY - Algorithm refuses any alter operation that would
      rebuild the clustered index. It is a subset of INPLACE algorithm.
      
      INSTANT - Algorithm allow any alter operation that would
      modify only meta data. It is a subset of NOCOPY algorithm.
      
      Introduce new variable called alter_algorithm. The values are
      DEFAULT(0), COPY(1), INPLACE(2), NOCOPY(3), INSTANT(4)
      
      Message to deprecate old_alter_table variable and make it alias
      for alter_algorithm variable.
      
      alter_algorithm variable for slave is always set to default.
      85cc6b70
    • Daniel Black's avatar
      mtr: extend func_math (CRC32) · 97486599
      Daniel Black authored
      97486599
  4. 06 May, 2018 12 commits
  5. 04 May, 2018 3 commits
    • Marko Mäkelä's avatar
      Merge 10.2 into 10.3 · b20039dd
      Marko Mäkelä authored
      b20039dd
    • Marko Mäkelä's avatar
      MDEV-15764 InnoDB may write uninitialized garbage to redo log · d257c425
      Marko Mäkelä authored
      log_sys_init(), log_buffer_extend(): Add TRASH_ALLOC() instrumentation
      
      log_write_up_to(): Correctly calculate the byte offset.
      d257c425
    • Marko Mäkelä's avatar
      Make a test independent of the build options · 3b50cd24
      Marko Mäkelä authored
      The number of records in INFORMATION_SCHEMA.COLUMNS depends on the
      build options, and could easily change when features are added.
      We are not interested in the number of rows returned. The test was
      originally added because of problem 15 reported in MDEV-13900
      (testing for MDEV-11369 instant ADD COLUMN). The issue was an
      assertion failure ut_ad(!rec_is_default_row(rec, index))
      in lock_clust_rec_cons_read_sees(), because the 'default row' record
      was not being properly ignored by the b-tree cursor.
      3b50cd24
  6. 03 May, 2018 1 commit