1. 07 Jun, 2022 2 commits
  2. 06 Jun, 2022 1 commit
    • Monty's avatar
      Fixed crashing when using DBUG_PUSH_EMPTY · 392e744a
      Monty authored
      DBUG_PUSH_EMPTY is used by thr_mutex.cc.
      If there are 4G of DBUG_PUSH_EMPTY calls, then DBUG_POP_EMPTY will
      cause a crash when DBUGCloseFile() will try to free an object that
      was never allocated.
      392e744a
  3. 03 Jun, 2022 1 commit
  4. 02 Jun, 2022 1 commit
  5. 01 Jun, 2022 2 commits
  6. 30 May, 2022 6 commits
    • Monty's avatar
      Fixed bug in ma_loghandler.cc that could cause an assert · 9d10b710
      Monty authored
      The assert happens in 10.6 with the following command:
      
      ./mtr --no-reorder --verbose-restart main.update_ignore_216 main.upgrade_MDEV-19650 main.upgrade_MDEV-23102-1 main.upgrade_MDEV-23102-2 main.upgrade_geometrycolumn_procedure_definer main.upgrade_mdev_24363 main.varbinary sys_vars.aria_log_file_size_basic
      
      Reviewer: Oleksandr Byelkin <sanja@mariadb.com>
      9d10b710
    • Monty's avatar
      Remove compiler warning about unused variables · 131c318b
      Monty authored
      131c318b
    • Marko Mäkelä's avatar
      MDEV-28689, MDEV-28690: Incorrect error handling for ctrl_mutex · 863c3eda
      Marko Mäkelä authored
      comp_thread_ctxt_t: Remove ctrl_mutex, ctrl_cond, started. We do not
      actually need them for anything.
      
      destroy_worker_thread(): Split from destroy_worker_threads().
      
      create_worker_threads(): We already initialize
      thd->data_avail=FALSE and thd->cancelled=FALSE before
      invoking pthread_create(). If any thread creation fails,
      clean up by destroy_worker_thread().
      
      compress_worker_thread_func(): Assume that thd->started and
      thd->data_avail are already initialized.
      
      Reviewed by: Vladislav Vaintroub
      863c3eda
    • Masashi Tomooka's avatar
      MDEV-28599 EXCHANGE PARTITION on view causes ER_CHECK_NO_SUCH_TABLE instead of ER_WRONG_OBJECT · f7137a61
      Masashi Tomooka authored
      ER_CHECK_NO_SUCH_TABLE was raised because a view does not have
      the corresponding TABLE instance connected to TABLE_LIST and the
      server interprets the absence as the absence of the table itself.
      
      To fix the problem, we add a check to ensure that the target table
      to be swapped with a partition is not a view.
      
      Reviewed by: Nayuta Yanagisawa
      f7137a61
    • mkaruza's avatar
      MDEV-27862 Galera should replicate nextval()-related changes in sequences with... · ebbd5ef6
      mkaruza authored
      MDEV-27862 Galera should replicate nextval()-related changes in sequences with INCREMENT <> 0, at least NOCACHE ones with engine=InnoDB
      
      Sequence storage engine is not transactionl so cache will be written in
      stmt_cache that is not replicated in cluster. To fix this replicate
      what is available in both trans_cache and stmt_cache.
      
      Sequences will only work when NOCACHE keyword is used when sequnce is
      created. If WSREP is enabled and we don't have this keyword report error
      indicting that sequence will not work correctly in cluster.
      
      When binlog is enabled statement cache will be cleared in transaction
      before COMMIT so cache generated from sequence will not be replicated.
      We need to keep cache until replication.
      
      Tests are re-recorded because of replication changes that were
      introducted with this PR.
      Reviewed-by: default avatarJan Lindström <jan.lindstrom@mariadb.com>
      ebbd5ef6
    • Jan Lindström's avatar
      MDEV-20627 : Galera 4 not able to report proper wsrep_incoming_addresses · c8fabbed
      Jan Lindström authored
      wsrep_server_incoming_address function always returned value of the
      wsrep_node_incoming_address even when actual incoming address
      was resolved to inc_addr variable. Fixed by returning inc_addr
      if it does contain incoming address.
      c8fabbed
  7. 27 May, 2022 1 commit
  8. 26 May, 2022 1 commit
    • Ting Nian's avatar
      Add option --enable-cleartext-plugin to the MariaDB client · 31e30329
      Ting Nian authored
      For compatibility reasons, add the option to the MariaDB client without
      any functional changes besides simply accepting the option and emitting
      a warning that it is obsolete.
      
      In MySQL this security related option is compulsory in certain use
      cases. When users switch to MariaDB, this client command that used to
      work starts failing without a sensible error message. In worst case
      users resort to re-installing the mysql client from MySQL.
      
      In MariaDB the option is obsolete and should simply be ignored. Users
      however don't have any opportunity to learn that unless the client
      program tells them so.
      
      Before:
      
          mysql --enable-cleartext-plugin ...
          mysql: unknown option '--enable-cleartext-plugin'
      
          (program terminates)
      
      After:
      
          mysql --enable-cleartext-plugin ...
          WARNING: option '--enable-cleartext-plugin' is obsolete.
      
          (program executes)
      
      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.
      31e30329
  9. 25 May, 2022 3 commits
    • kkz's avatar
    • Marko Mäkelä's avatar
      MDEV-28601 InnoDB history list length was reverted to 32 bits · 99c8aed0
      Marko Mäkelä authored
      srv_do_purge(): In commit edde1f6e
      when the de-facto 32-bit trx_sys_t::history_size() was replaced with
      32-bit trx_sys.rseg_history_len, some more variables were changed
      from ulint (size_t) to uint32_t.
      
      The history list length is the number of committed transactions whose
      undo logs are waiting to be purged. Each TRX_RSEG_HISTORY list is
      storing the number of entries in a 32-bit field and each transaction
      will occupy at least one undo log page. It is thinkable that the
      length of each TRX_RSEG_HISTORY list may approach the maximum
      representable number. The number cannot be exceeded, because the
      rollback segment header is allocated from the same tablespace as
      the undo log header pages it is pointing to, and because the page
      numbers of a tablespace are stored in 32 bits. In any case, it is
      possible that the total number of unpurged committed transactions
      cannot be represented in 32 but 39 bits (corresponding to
      128 rollback segments and undo tablespaces).
      99c8aed0
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-25257 SEGV in fts_get_next_doc_id upon some INSERT · 7fe474fe
      Thirunarayanan Balathandayuthapani authored
      - InnoDB fails to create a fts cache while loading the innodb fts
      table which is stored in system tablespace. InnoDB should create
      the fts cache while loading FTS_DOC_ID column from system column.
      7fe474fe
  10. 24 May, 2022 4 commits
  11. 23 May, 2022 2 commits
  12. 20 May, 2022 4 commits
  13. 19 May, 2022 1 commit
    • Oleg Smirnov's avatar
      MDEV-28246 Optimizer uses all partitions after upgrade to 10.3 · 40d9dbb2
      Oleg Smirnov authored
      Cause: a copy of the joined TABLE_LIST is created during multi_update::prepare
      and TABLE::pos_in_table_list of the tables are set to point to the new
      TABLE_LIST object. This prevents some optimization steps to perform correctly.
      Solution: do not update pos_in_table_list during multi_update::prepare
      40d9dbb2
  14. 18 May, 2022 1 commit
    • KiyoshiTakeda's avatar
      MDEV-14642 Assertion 'table->s->db_create_options ==... · 8881c010
      KiyoshiTakeda authored
      MDEV-14642 Assertion 'table->s->db_create_options == part_table->s->db_create_options' failed in compare_table_with_partition
      
      When trying to execute ALTER TABLE EXCHANGE PARTITION with different
      definitions, assertion
      
          table->s->db_create_options == part_table->s->db_create_options
      
      failed in compare_table_with_partition().
      
      However, this execution should not be allowed since executing
      'exchange partition' requires the identical structure of the two tables.
      
      To fix the problem, I deleted the assertion code and added code that
      returns an error that indicates tables have different definitions.
      
      Reviewed By: Nayuta Yanagisawa
      8881c010
  15. 17 May, 2022 10 commits