1. 23 Jan, 2020 1 commit
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21344: Uninitialized tbl_buf in dict_acquire_mdl_shared<false>() · 0e25a8b4
      Thirunarayanan Balathandayuthapani authored
      dict_table_t::parse_name(): Properly calculate the *tbl_name_len.
      
      A failure was easily repeatable during the test
      innodb.innodb-alter-debug for the table name test.① ("test/@2460").
      The UTF-8 representation of the U+2460 is only 3 bytes "\xe2\x91\xa0"
      while the filename-safe encoded counterpart of it in dict_table_t::name
      is 5 bytes "@2460".
      
      This bug, introduced by commit ea37b144
      (MDEV-16678), could cause a purge task to hang.
      0e25a8b4
  2. 22 Jan, 2020 8 commits
  3. 21 Jan, 2020 6 commits
  4. 20 Jan, 2020 10 commits
  5. 19 Jan, 2020 2 commits
  6. 18 Jan, 2020 4 commits
  7. 17 Jan, 2020 9 commits
    • Sergei Golubchik's avatar
      MDEV-20205 mysql_install_db shouldn't execute chown · 51a95712
      Sergei Golubchik authored
      Make chown error non-fatal. Just print a warning.
      51a95712
    • Sergei Golubchik's avatar
      rpm/deb and auth_pam_tool_dir/auth_pam_tool · 9d18b624
      Sergei Golubchik authored
      don't let mysql_install_db set SUID bit for auth_pam_tool in rpm/deb
      packages - instead package files with correct permissions and
      only fix the ownership of auth_pam_tool_dir (which can only be done
      after mysql user is created, so in post-install).
      
      keep old mysql_install_db behavior for bintars
      9d18b624
    • Sergei Golubchik's avatar
      restore support for --defaults-file=<(...) · 744d545f
      Sergei Golubchik authored
      if my_realpath() fails, don't return the error code, get_defaults_options()
      returns a number of options consumed, not 0=ok/1=error.
      
      instead, ignore the error from my_realpath. If it fails it internally
      falls back to my_load_path, which restores 10.4- behavior
      744d545f
    • Sergei Golubchik's avatar
      cleanup: remove unused arguments · 8bcbdaf7
      Sergei Golubchik authored
      8bcbdaf7
    • Sergei Petrunia's avatar
      Fix a merge typo · d595a91b
      Sergei Petrunia authored
      d595a91b
    • Marko Mäkelä's avatar
      7b70cbd8
    • Nikša Skeledžija's avatar
      Bug #30499288 - GCC 9.2.1 REPORTS A NEW WARNING FOR OS_FILE_GET_PARENT_DIR · c25a0662
      Nikša Skeledžija authored
      - Fixed a warning visible in optimized build related to calling
      memcpy with length parameters larger than ptrdiff_t max.
      
      rb#23333 approved by Annamalai Gurusami <annamalai.gurusami@oracle.com>
      c25a0662
    • Marko Mäkelä's avatar
      MDEV-21513: Avoid some crashes in ALTER TABLE...IMPORT TABLESPACE · 08b0b2b6
      Marko Mäkelä authored
      IndexPurge::next(): Replace btr_pcur_move_to_next_user_rec()
      with some equivalent code that performs sanity checks without
      killing the server. Perform some additional sanity checks as well.
      
      This change is motivated by
      mysql/mysql-server@48de4d74f4d2f10cd01b129753c7dfa908cf36b5
      which unnecessarily introduces storage overhead to btr_pcur_t
      and uses a test case that injects a fault somewhere else,
      not in the code path that was modified.
      08b0b2b6
    • Marko Mäkelä's avatar
      MDEV-21512 InnoDB may hang due to SPATIAL INDEX · 457ce97e
      Marko Mäkelä authored
      MySQL 5.7.29 includes the following fix:
      Bug #30287668 INNODB: A LONG SEMAPHORE WAIT
      mysql/mysql-server@5cdbb22b51cf2b35dbdf5666a251ffbec2f84dec
      
      There is no test case. It seems that the problem could occur when
      a spatial index is large and peculiar enough so that multiple R-tree
      leaf pages will have the exactly same maximum bounding rectangle (MBR).
      
      The commit message suggests that the hang can occur when R-tree
      non-leaf pages are being merged, which should only be possible
      during transaction rollback or the purge of transaction history,
      when the R-tree index is at least 2 levels high and very many records
      are being deleted. The message says that a comparison result that two
      spatial index node pointer records are equal will cause an infinite loop
      in rtr_page_copy_rec_list_end_no_locks(). Hence, we must include the
      child page number in the comparison to be consistent with
      mysql/mysql-server@2e11fe0e152e34d73579e1a9ec19aedc3f6010f6.
      
      We fix this bug in a simpler way, involving fewer code changes.
      
      cmp_rec_rec(): Renamed from cmp_rec_rec_with_match().
      Assert that rec2 always resides in an index page.
      Treat non-leaf spatial index pages specially.
      457ce97e