1. 29 Nov, 2022 4 commits
  2. 26 Nov, 2022 6 commits
  3. 23 Nov, 2022 1 commit
    • lrf141's avatar
      MDEV-19190 Assertion `...auto_inc_initialized` failed in get_auto_increment · da03d8d9
      lrf141 authored
      This is a DELETE only case. Normally this statement doesn't make inserts,
      but DELETE ... FOR PORTION changes it. UPDATE and INSERT initializes
      autoinc by calling handler::info(HA_STATUS_AUTO). Also myisam and innodb
      can lazily initialize it in their update_create_info overrides.
      
      The solution is to initialize autoinc during delete preparation,
      if period (DELETE FOR PORTION) is specified.
      
      The initial work has been done by Kento Takeuchi by his PR #2048,
      however this commit also holds a few technical modifications by
      Nikita Malyavin
      da03d8d9
  4. 22 Nov, 2022 2 commits
    • Julius Goryavsky's avatar
      MDEV-29817: Issues with handling options for SSL CRLs (and some others) · 1ebf0b73
      Julius Goryavsky authored
      This patch adds the correct setting of the "--tls-version" and
      "--ssl-verify-server-cert" options in the client-side utilities
      such as mysqltest, mysqlcheck and mysqlslap, as well as the correct
      setting of the "--ssl-crl" option when executing queries on the
      slave side, and also the correct option codes in the "sslopts-logopts.h"
      file (in the latter case, incorrect values are not a problem right
      now, but may cause subtle test failures in the future, if the option
      handling code changes).
      1ebf0b73
    • Alexander Barkov's avatar
      MDEV-27670 Assertion `(cs->state & 0x20000) == 0' failed in my_strnncollsp_nchars_generic_8bit · 931549ff
      Alexander Barkov authored
      Also fixes:
      
      MDEV-27768 MDEV-25440: Assertion `(cs->state & 0x20000) == 0' failed in my_strnncollsp_nchars_generic_8bit
      
      The "strnncollsp_nchars" virtual function pointer for tis620_thai_nopad_ci
      was incorrectly initialized to a generic function
      my_strnncollsp_nchars_generic_8bit(), which crashed on assert.
      
      Implementing a tis620 specific function version.
      931549ff
  5. 21 Nov, 2022 1 commit
  6. 20 Nov, 2022 1 commit
  7. 09 Nov, 2022 2 commits
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · 20969aa4
      Marko Mäkelä authored
      20969aa4
    • Marko Mäkelä's avatar
      MDEV-29883 Deadlock between InnoDB statistics update and BLOB insert · 6b91792a
      Marko Mäkelä authored
      This is a backport of commit 8b6a308e
      from MariaDB Server 10.6.11. No attempt to reproduce the hang
      in earlier an earlier version of MariaDB Server than 10.6 was made.
      
      In each caller of fseg_n_reserved_pages() except ibuf_init_at_db_start()
      which is a special case for ibuf.index at database startup, we must hold
      an index latch that prevents concurrent allocation or freeing of index
      pages.
      
      Any operation that allocates or free pages that belong to an index tree
      must first acquire an index latch in non-shared mode, and while
      holding that, acquire an index root page latch in non-shared mode.
      
      btr_get_size(), btr_get_size_and_reserved(): Assert that a strong enough
      index latch is being held.
      
      dict_stats_update_transient_for_index(),
      dict_stats_analyze_index(): Acquire a strong enough index latch.
      
      These operations had followed the same order of acquiring latches in
      every InnoDB version since the very beginning
      (commit c533308a).
      
      The hang was introduced in
      commit 2e814d47 which imported
      mysql/mysql-server@ac74632293bea967b352d1b472abedeeaa921b98
      which failed to strengthen the locking requirements of the function
      btr_get_size().
      6b91792a
  8. 08 Nov, 2022 13 commits
  9. 07 Nov, 2022 6 commits
  10. 05 Nov, 2022 1 commit
    • Vladislav Vaintroub's avatar
      MDEV-29951 server hang in crash handler · 92be8d20
      Vladislav Vaintroub authored
      When trying to output stacktrace, and addr2line is not installed, the
      child process forked by start_addr2line_fork() will fail to do exec(),
      and finish with exit(1).
      
      There is a problem with exit() though - it runs exit handlers,
      and for the forked copy of crashing process, it is a bad idea.
      
      In 10.5+ code for example, exit handlers include
      tpool::task_group static destructors, and it will hang infinitely
      waiting for completion of the outstanding tasks.
      
      The fix is to use _exit() instead, which skips the execution of exit
      handlers
      92be8d20
  11. 03 Nov, 2022 1 commit
  12. 02 Nov, 2022 2 commits