1. 23 Mar, 2020 7 commits
  2. 21 Mar, 2020 13 commits
  3. 20 Mar, 2020 13 commits
  4. 19 Mar, 2020 7 commits
    • Marko Mäkelä's avatar
      MDEV-21981 Replace arithmetic + with bitwise OR when possible · a66eebf5
      Marko Mäkelä authored
      Several macros such as sint2korr() and uint4korr() are using the
      arithmetic + operator while a bitwise or operator would suffice.
      
      GCC 5 and clang 5 and later can detect patterns consisting of
      bitwise or and shifts by multiples of 8 bits, such as those used
      in the InnoDB function mach_read_from_4(). They actually translate
      that verbose low-level code into high-level machine language
      (i486 bswap instruction or fused into the Haswell movbe instruction).
      
      We should do the same for MariaDB Server code that is outside InnoDB.
      
      Note: The Microsoft C compiler is lacking this optimization.
      There, we might consider using _byteswap_ushort(), _byteswap_ulong(),
      _byteswap_uint64(). But, those would lead to unaligned reads, which are
      bad for reasons stated in MDEV-20277. Besides, outside InnoDB,
      most data is already being stored in the native little-endian format
      of that compiler.
      a66eebf5
    • Marko Mäkelä's avatar
      MDEV-21983: Crash on DROP/RENAME TABLE after DISCARD TABLESPACE · 6960e9ed
      Marko Mäkelä authored
      fil_delete_tablespace(): Remove the unused parameter drop_ahi,
      and add the parameter if_exists=false. We want to suppress
      error messages if we know that the tablespace has been discarded.
      
      dict_table_rename_in_cache(): Pass the new parameter to
      fil_delete_tablespace(), that is, do not complain about
      missing tablespace if the tablespace has been discarded.
      
      row_make_new_pathname(): Declare as static.
      
      row_drop_table_for_mysql(): Tolerate !table->data_dir_path
      when the tablespace has been discarded.
      
      row_rename_table_for_mysql(): Skip part of the RENAME TABLE
      when fil_space_get_first_path() returns NULL.
      6960e9ed
    • Marko Mäkelä's avatar
      MDEV-13626: Clean up the buffer pool resizing tests from MySQL 5.7 · 9fd692ae
      Marko Mäkelä authored
      buf_pool_resize(): Simplify the fault injection
      for innodb.buf_pool_resize_oom.
      
      innodb.buf_pool_resize_oom: Use a small buffer pool.
      
      innodb.innodb_buffer_pool_load_now: Make use of the sequence engine,
      to avoid creating explicit InnoDB record locks. Clean up the
      accesses to information_schema.innodb_buffer_page_lru.
      9fd692ae
    • Jan Lindström's avatar
      b6e3cfde
    • Jan Lindström's avatar
      1de104a4
    • Jan Lindström's avatar
      Merge branch '10.4-MDEV-19966' of https://github.com/codership/mariadb-server... · 91baaf45
      Jan Lindström authored
      Merge branch '10.4-MDEV-19966' of https://github.com/codership/mariadb-server into codership-10.4-MDEV-19966
      91baaf45
    • Marko Mäkelä's avatar
      MDEV-13626: Import and adjust buffer pool resizing tests from MySQL 5.7 · 6297a102
      Marko Mäkelä authored
      Adapt from 10.2: git cherry-pick bfb5e1c3
      
      buf_pool_t::chunk_t::create(), buf_pool_t::resize():
      Restore or simplify the debug instrumentation.
      
      buf_resize_callback(): Add DBUG_ENTER/DBUG_VOID_RETURN so that
      the DBUG_EXECUTE_IF in buf_pool_t::resize() can be triggered.
      6297a102