1. 09 Sep, 2021 5 commits
  2. 08 Sep, 2021 1 commit
    • Eugene Kosov's avatar
      MDEV-25951 MariaDB crash after ALTER TABLE convert to utf8mb4 · a4b3970c
      Eugene Kosov authored
      Bug happens when partially indexed CHAR or VARCHAR field in converted from
      utf8mb3 to utf8mb4.
      
      Fixing by relaxing assertions. For some time dict_index_t and dict_table_t
      are becoming not synchronized. Namely, dict_index_t has a new prefix_len which
      is a multiple of a user-provided length and charset->mbmaxlen. But
      the table still have and old mbmaxlen and assertion fails. This happens only
      during utf8mb3 -> utf8mb4 conversions and the magic number 4 comes from
      utf8mb_4_.
      
      At the end of ALTER TABLE (innobase_rename_or_enlarge_columns_cache())
      dict_index_t and dict_table_t became synchronized
      again and will stay so at all times. For, example, they will be synchronized
      on table load and newly added assertion proves that.
      a4b3970c
  3. 07 Sep, 2021 8 commits
  4. 06 Sep, 2021 4 commits
  5. 05 Sep, 2021 3 commits
    • Daniel Black's avatar
      MDEV-12055 binlog.binlog_stm_ctype_ucs postfix · 38648bbb
      Daniel Black authored
      As highlighted in https://bugs.gentoo.org/807995,
      people occasionaly run tests in the 20:00->23:59:59 time range.
      
      Fixes 265e3253
      
      binlog.binlog_stm_ctype_ucs 'mix'        w1 [ fail ]
              Test ended at 2021-08-11 22:55:35
      
      CURRENT_TEST: binlog.binlog_stm_ctype_ucs
      --- /var/tmp/portage/dev-db/mariadb-10.5.11/work/mysql/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result    2021-06-18 18:19:11.000000000 +0800
      +++ /var/tmp/portage/dev-db/mariadb-10.5.11/work/mysql/mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.reject    2021-08-11 22:55:34.993447479 +0800
      @@ -76,21 +76,21 @@
       /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
       DELIMITER /*!*/;
       # at #
      -#YYMMDD HH:MM:SS server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## created YYMMDD HH:MM:SS
      +#210811 22:55:34 server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## created 210811 22:55:34
      38648bbb
    • Daniel Black's avatar
      MDEV-26529: binlog.binlog_flush_binlogs_delete_domain fails on RISC-V · 21d31b99
      Daniel Black authored
      Per https://bugs.gentoo.org/807995
      
      The test failed with:
      
      CURRENT_TEST: binlog.binlog_flush_binlogs_delete_domain
      — /tmp/mariadb-10.5.11/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.result 2021-06-18 18:19:11.000000000 +0800
      +++ /tmp/mariadb-10.5.11/mysql-test/suite/binlog/r/binlog_flush_binlogs_delete_domain.reject 2021-09-01 22:55:29.406655479 +0800
      @@ -85,6 +85,6 @@
      ERROR HY000: The value of gtid domain being deleted ('4294967296') exceeds its maximum size of 32 bit unsigned integer
      FLUSH BINARY LOGS DELETE_DOMAIN_ID = (4294967295);
      Warnings:
      -Warning 1076 The gtid domain being deleted ('4294967295') is not in the current binlog state
      +Warning 1076 The gtid domain being deleted ('18446744073709551615') is not in the current binlog state
      DROP TABLE t;
      RESET MASTER;
      
      mysqltest: Result length mismatch
      
      ptr_domain_id is a uint32* so explicitly cast this when printing it out.
      
      Thanks Marek Szuba for the bug report and testing the patch.
      21d31b99
    • Oleksandr Byelkin's avatar
      MDEV-26362: incorrect nest_level value with INTERSECT · 391f6b4f
      Oleksandr Byelkin authored
      Add DBUG_ASSERT (should be kept in merge)
      Fix nest_level assignment in LEX::add_unit_in_brackets (should be ignored in merge to 10.4)
      391f6b4f
  6. 02 Sep, 2021 2 commits
  7. 01 Sep, 2021 4 commits
  8. 31 Aug, 2021 5 commits
  9. 30 Aug, 2021 3 commits
    • Marko Mäkelä's avatar
      MDEV-26504 THD::copy_db_to() fails to return true if THD::db is null · ceb40ef4
      Marko Mäkelä authored
      THD::copy_db_to(): Always return true if the output parameter
      was left uninitialized. This fixes a regression that was caused
      by commit 7d0d934c (MDEV-16473).
      
      MariaDB Server 10.3 and later were unaffected by this bug
      thanks to commit a7e352b5.
      
      Possibly this bug only affects mysql_list_fields()
      in the Embedded Server (libmysqld).
      
      This bug was found by GCC 11.2.0 in CMAKE_BUILD_TYPE=RelWithDebInfo.
      ceb40ef4
    • Marko Mäkelä's avatar
      Fix GCC 11 -Wmaybe-uninitialized for PLUGIN_PERFSCHEMA · fda704c8
      Marko Mäkelä authored
      init_mutex_v1_t: Stop lying that the mutex parameter is const.
      GCC 11.2.0 assumes that it is and could complain about any mysql_mutex_t
      being uninitialized even after mysql_mutex_init() as long as
      PLUGIN_PERFSCHEMA is enabled.
      
      init_rwlock_v1_t, init_cond_v1_t: Remove untruthful const qualifiers.
      
      Note: init_socket_v1_t is expecting that the socket fd has already
      been created before PSI_SOCKET_CALL(init_socket), and therefore that
      parameter really is being treated as a pointer to const.
      fda704c8
    • Marko Mäkelä's avatar
      Update libmariadb · 969edf02
      Marko Mäkelä authored
      969edf02
  10. 29 Aug, 2021 1 commit
    • Sergei Golubchik's avatar
      mtr: fix the check where a combination is pre-selected · 600e4949
      Sergei Golubchik authored
      if all options from a combination from the combinations file are already
      present in the server's list of options, then don't try to run tests
      in other combinations from this file.
      
      old behavior was: if at least one option from a combination is
      already present in the list...
      600e4949
  11. 26 Aug, 2021 4 commits
    • Sergei Golubchik's avatar
      typo fixed · fe2a7048
      Sergei Golubchik authored
      fe2a7048
    • Daniel Black's avatar
      rocksdb: disable on arm64 except for Linux · 228630f6
      Daniel Black authored
      Thanks to Theodore Brockman on Zulip for noticing
      on an OSX ARM64 and testing this patch.
      
      Per https://github.com/google/cpu_features/pull/150/files
      CMAKE_SYSTEM_PROCESSOR is arm64 on Apple.
      
      Without this, compulation error:
      
      [ 80%] Building CXX object storage/rocksdb/CMakeFiles/rocksdblib.dir/rocksdb/util/crc32c.cc.o
      /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:500:18: error: use of undeclared identifier 'isSSE42'
        has_fast_crc = isSSE42();
                       ^
      /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1230:7: error: use of undeclared identifier 'isSSE42'
        if (isSSE42()) {
            ^
      /mariadb/storage/rocksdb/rocksdb/util/crc32c.cc:1231:9: error: use of undeclared identifier 'isPCLMULQDQ'
          if (isPCLMULQDQ()) {
              ^
      
      This can be reverted when the RocksDB submodule is updated.
      
      https://github.com/facebook/rocksdb/commit/ee4bd4780b321ddb5f92a0f4eb956f2a2ebd60dc
      228630f6
    • Michael Widenius's avatar
      MDEV 22785 Crash with prepared statements and NEXTVAL() · b378ddb3
      Michael Widenius authored
      The problem was that a PREARE followed by a non prepared statement
      using DEFAULT NEXT_VALUE() could change table->next_local to point to
      a not persitent memory aria. The next EXECUTE would then try to use
      the wrong pointer, which could cause a crash.
      Fixed by reseting the pointer to it's old value when doing EXECUTE.
      b378ddb3
    • Michael Widenius's avatar
      Fixed failing maria.repair test · c9851d35
      Michael Widenius authored
      Backported patch from MariaDB 10.6
      The issue was that the using session_mem_used to break a test does not
      guarantee where the test breaks, which gives different results
      depending on the environment or how MariaDB is compield.
      c9851d35