1. 12 Jun, 2019 1 commit
  2. 11 Jun, 2019 8 commits
  3. 10 Jun, 2019 3 commits
    • Kentoku SHIBA's avatar
      MDEV-16249 CHECKSUM TABLE for a spider table is not parallel and saves all... · be5c432a
      Kentoku SHIBA authored
      MDEV-16249 CHECKSUM TABLE for a spider table is not parallel and saves all data in memory in the spider head by default (#1328)
      
      add checksum_null for setting null value of checksum
      be5c432a
    • Marko Mäkelä's avatar
      MDEV-19725 Incorrect error handling in ALTER TABLE · cbac8f93
      Marko Mäkelä authored
      Some I/O functions and macros that are declared in os0file.h used to
      return a Boolean status code (nonzero on success). In MySQL 5.7, they
      were changed to return dberr_t instead. Alas, in MariaDB Server 10.2,
      some uses of functions were not adjusted to the changed return value.
      
      Until MDEV-19231, the valid values of dberr_t were always nonzero.
      This means that some code that was incorrectly checking for a zero
      return value from the functions would never detect a failure.
      
      After MDEV-19231, some tests for ALTER ONLINE TABLE would fail with
      cmake -DPLUGIN_PERFSCHEMA=NO. It turned out that the wrappers
      pfs_os_file_read_no_error_handling_int_fd_func() and
      pfs_os_file_write_int_fd_func() were wrongly returning
      bool instead of dberr_t. Also the callers of these functions were
      wrongly expecting bool (nonzero on success) instead of dberr_t.
      
      This mistake had been made when the addition of these functions was
      merged from MySQL 5.6.36 and 5.7.18 into MariaDB Server 10.2.7.
      
      This fix also reverts commit 40becbc3
      which attempted to work around the problem.
      cbac8f93
    • Otto Kekäläinen's avatar
      Deb: Purge unused debconf translations · 5e9090ef
      Otto Kekäläinen authored
      5e9090ef
  4. 07 Jun, 2019 5 commits
  5. 06 Jun, 2019 6 commits
  6. 05 Jun, 2019 4 commits
  7. 04 Jun, 2019 2 commits
    • Varun Gupta's avatar
      MDEV-18015: Assertion `global_status_var.global_memory_used == 0' failed when... · 7906bee6
      Varun Gupta authored
      MDEV-18015: Assertion `global_status_var.global_memory_used == 0' failed when using UDF , window functions and views
      
      Adding destructor for Group_bound_tracker to free Cached_item_str.
      The Cached_item for window functions are allocated on THD:mem_root
      but the Cached_item_str has value of type string which is allocated on
      the heap, so we need to call free() for it
      7906bee6
    • Vladislav Vaintroub's avatar
      MDEV-19684 enable intel assembly (AESNI etc) and fastmath when compiling WolfSSL · c5beac68
      Vladislav Vaintroub authored
      Using different recommended speedup options for WolfSSL.
      
      - Enable  x64 assembly code on Intel.
      - in my_crypt.cc, align EVP_CIPHER_CTX buffer, since some members need
      alignment of 16 (for AESNI instructions), when assembler is enabled.
      - Adjust MY_AES_CTX_SIZE
      - Enable fastmath in wolfssl (large integer math).
      c5beac68
  8. 03 Jun, 2019 8 commits
  9. 02 Jun, 2019 1 commit
  10. 31 May, 2019 2 commits
    • Vlad Lesin's avatar
      MDEV-18207: ASAN heap-use-after-free in _ma_get_status upon concurrent operations with sequence · c9b49a4b
      Vlad Lesin authored
      The issue is that two MARIA_HA instances shares the same MARIA_STATUS_INFO
      object during UNION execution, so the second MARIA_HA instance state pointer
      MARIA_HA::state points to the MARIA_HA::state_save of the first MARIA instance.
      
      This happens in
      thr_multi_lock(...) {
      ...
      	for (first_lock=data, pos= data+1 ; pos < end ; pos++)
      	{
      ...
      		if (pos[0]->lock == pos[-1]->lock && pos[0]->lock->copy_status)
      			(pos[0]->lock->copy_status)((*pos)->status_param,
      																	(*first_lock)->status_param);
      ...
      	}
      ...
      }
      
      Usually the state is restored from ha_maria::external_lock(...):
      
      \#0  _ma_update_status (param=0x6290000e6270) at ./storage/maria/ma_state.c:309
      \#1  0x00005555577ccb15 in _ma_update_status_with_lock (info=0x6290000e6270) at ./storage/maria/ma_state.c:361
      \#2  0x00005555577c7dcc in maria_lock_database (info=0x6290000e6270, lock_type=2) at ./storage/maria/ma_locking.c:66
      \#3  0x0000555557802ccd in ha_maria::external_lock (this=0x61d0001b1308, thd=0x62a000048270, lock_type=2) at ./storage/maria/ha_maria.cc:2727
      
      But _ma_update_status() does not take into account the case when
      MARIA_HA::status points to the MARIA_HA::state_save of the other MARIA_HA
      instance.
      
      The fix is to restore MARIA_HA::state in ha_maria::external_lock() after
      maria_lock_database() call for transactional tables.
      c9b49a4b
    • Marko Mäkelä's avatar
      Define page_id_t in buf0types.h · 9d142a89
      Marko Mäkelä authored
      9d142a89