1. 30 May, 2022 2 commits
    • 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
  2. 25 May, 2022 1 commit
    • 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
  3. 24 May, 2022 4 commits
  4. 23 May, 2022 1 commit
  5. 20 May, 2022 4 commits
  6. 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
  7. 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
  8. 17 May, 2022 10 commits
  9. 16 May, 2022 8 commits
  10. 15 May, 2022 3 commits
  11. 13 May, 2022 3 commits
  12. 12 May, 2022 1 commit
  13. 09 May, 2022 1 commit