1. 29 Nov, 2021 6 commits
  2. 28 Nov, 2021 2 commits
  3. 26 Nov, 2021 4 commits
    • Sergei Golubchik's avatar
      MDEV-26972 MTR worker aborts after server restart failure · f5441ef4
      Sergei Golubchik authored
      restore the old behavior where without a debugger mtr does not
      wait for mysqld to start. It was broken in feacc0aa
      f5441ef4
    • Sergei Golubchik's avatar
      MDEV-26755 innodb.undo_truncate: ilink::assert_linked(): Assertion `prev != 0 && next != 0' failed · a96b4282
      Sergei Golubchik authored
      close_connections() in mysqld.cc sends a signal to all threads.
      But InnoDB is too busy purging, doesn't react immediately.
      close_connections() waits 20 seconds, which isn't enough in this
      particular case, and then unlinks all threads from
      the list and forcibly closes their vio connection.
      
      InnoDB background  threads have no vio connection to close, but
      they're unlinked all the same. So when later they finally notice
      the shutdown request and try to unlink themselves, they fail to
      assert that they're still linked.
      
      Fix: don't assert_linked, as another thread can unlink this THD anytime
      a96b4282
    • Sergei Golubchik's avatar
      add a test case · 4ba74785
      Sergei Golubchik authored
      MDEV-20330 Combination of "," (comma), cross join and left join fails to parse
      4ba74785
    • Hugo Wen's avatar
      MDEV-27124: Update definer of Add/DropGeometryColumn procedures from 'root' to 'mariadb.sys' · e9572e53
      Hugo Wen authored
      From 10.4.13, the `mariadb.sys` user was created to replace `root` definers.
       - In commit 0253ea7f, definer of
         Add/DropGeometryColumn procedures was changed to `mariadb.sys`, in
         `scripts/maria_add_gis_sp.sql.in`.
         However, maria_add_gis_sp.sql only applies to new databases created by
         installation script. Databases upgraded from old versions will miss this
         change.
       - In addition, according to commit
         0d6d801e(MDEV-23102), in some scenarios
         when root user is replaced it will skip creating `mariadb.sys` user.
      
      This commit is to update the definer from `root` to `mariadb.sys` during
      upgrade. It only makes the change if the original definers are root.
      
      Doesn't choose to execute `maria_add_gis_sp.sql` in upgrade script to
      recreate the procedures is because of considering the scenarios of
      MDEV-23102 that `root` user is replaced and `mariadb.sys` is not created.
      
      All new code of the whole pull request, including one or several files
      that are either new files or modified ones, are contributed under the
      BSD-new license. I am contributing on behalf of my employer Amazon Web
      Services, Inc.
      e9572e53
  4. 25 Nov, 2021 4 commits
  5. 24 Nov, 2021 12 commits
  6. 23 Nov, 2021 6 commits
    • Alexey Bychko's avatar
      MDEV-22522 RPM packages have meaningless summary/description · fe065f8d
      Alexey Bychko authored
      this patch moves cpack summury and description for optional packages
      to the appropriate CMakeLists.txt files
      fe065f8d
    • Julius Goryavsky's avatar
      1c7dd233
    • Julius Goryavsky's avatar
      MDEV-26915: SST scripts do not take log_bin_index setting into account · 2f51511c
      Julius Goryavsky authored
      Currently, SST scripts assume that the filename specified in
      the --log-bin-index argument either does not contain an extension
      or uses the standard ".index" extension. Similar assumptions are
      used for the log_bin_index parameter read from the configuration
      file. This commit adds support for arbitrary extensions for the
      index file paths.
      2f51511c
    • Julius Goryavsky's avatar
      MDEV-26064: mariabackup SST fails when starting with --innodb-force-recovery · b9525997
      Julius Goryavsky authored
      If the server is started with the --innodb-force-recovery argument
      on the command line, then during SST this argument can be passed to
      mariabackup only at the --prepare stage, and accordingly it must be
      removed from the --mysqld-args list (and it is not should be passed
      to mariabackup otherwise).
      
      This commit fixes a flaw in the SST scripts and add a test that
      checks the ability to run the joiner node in a configuration that
      uses --innodb-force-recovery=1.
      b9525997
    • Julius Goryavsky's avatar
      MDEV-26915: SST scripts do not take log_bin_index setting into account · 1ea7d596
      Julius Goryavsky authored
      Currently, SST scripts assume that the filename specified in
      the --log-bin-index argument either does not contain an extension
      or uses the standard ".index" extension. Similar assumptions are
      used for the log_bin_index parameter read from the configuration
      file. This commit adds support for arbitrary extensions for the
      index file paths.
      1ea7d596
    • Julius Goryavsky's avatar
      MDEV-26064: mariabackup SST fails when starting with --innodb-force-recovery · f21a36d5
      Julius Goryavsky authored
      If the server is started with the --innodb-force-recovery argument
      on the command line, then during SST this argument can be passed to
      mariabackup only at the --prepare stage, and accordingly it must be
      removed from the --mysqld-args list (and it is not should be passed
      to mariabackup otherwise).
      
      This commit fixes a flaw in the SST scripts and add a test that
      checks the ability to run the joiner node in a configuration that
      uses --innodb-force-recovery=1.
      f21a36d5
  7. 21 Nov, 2021 1 commit
    • Igor Babaev's avatar
      MDEV-26470 "No database" selected when using CTE in a subquery of DELETE statement · 114e18b8
      Igor Babaev authored
      This bug led to reporting bogus messages "No database selected" for DELETE
      statements if they used subqueries in their WHERE conditions and these
      subqueries contained references to CTEs.
      The bug happened because the grammar rule for DELETE statement did not
      call the function LEX::check_cte_dependencies_and_resolve_references() and
      as a result of it references to CTEs were not identified as such.
      
      Approved by Oleksandr Byelkin <sanja@mariadb.com>
      114e18b8
  8. 20 Nov, 2021 4 commits
    • Igor Babaev's avatar
      MDEV-27086 "No database selected" when using UNION of CTEs to define table · 0dae4163
      Igor Babaev authored
      This bug concerned only CREATE TABLE statements of the form
        CREATE TABLE <table name> AS <with clause> <union>.
      For such a statement not all references to CTE used in <union> were resolved.
      As a result a bogus message was reported for the first unresolved reference.
      This happened because for such statements the function resolving references
      to CTEs LEX::check_cte_dependencies_and_resolve_references() was called
      prematurely in the parser.
      
      Approved by Oleksandr Byelkin <sanja@mariadb.com>
      0dae4163
    • Alexander Barkov's avatar
    • Alexander Barkov's avatar
    • Marko Mäkelä's avatar
      MDEV-27058 fixup: Fix MemorySanitizer, and GCC 4.8.5 ICE on ARMv8 · 9436c778
      Marko Mäkelä authored
      buf_LRU_scan_and_free_block(): It turns out that even with
      -fno-expensive-optimizations, GCC 4.8.5 may fail to split an instruction.
      For the non-embedded server, -O1 would fail and -Og would seem to work,
      while the embedded server build seems to require -O0.
      
      buf_block_init(): Correct the MemorySanitizer instrumentation.
      
      buf_page_get_low(): Do not read dirty data from read-fixed blocks.
      These data races were identified by MemorySanitizer. If a read-fixed
      block is being accessed, we must acquire and release a page latch,
      so that the read-fix (and the exclusive page latch) will be released
      and it will be safe to read the page frame contents if needed,
      even before acquiring the final page latch. We do that in
      buf_read_ahead_linear() and for the allow_ibuf_merge check.
      
      mtr_t::page_lock(): Assert that the block is not read-fixed.
      9436c778
  9. 19 Nov, 2021 1 commit
    • Marko Mäkelä's avatar
      MDEV-27058 fixup: Avoid a hang with ROW_FORMAT=COMPRESSED · da347560
      Marko Mäkelä authored
      buf_page_get_low(): When we are creating an uncompressed page frame
      for a ROW_FORMAT=COMPRESSED page, we must release the buf_pool.page_hash
      latch and buf_pool.mutex while waiting for other threads to release their
      fixes on the block.
      
      This was caught by an occasional hang of the test innodb_zip.bug56680.
      da347560