1. 18 Mar, 2021 20 commits
  2. 17 Mar, 2021 13 commits
  3. 16 Mar, 2021 5 commits
    • Anel Husakovic's avatar
      MDEV-24601: INFORMATION_SCHEMA doesn't differentiate between column and... · 825c0e2a
      Anel Husakovic authored
      MDEV-24601: INFORMATION_SCHEMA doesn't differentiate between column and table-level CHECK constraints
      
      - Reviewed by: wlad@mariadb.com
      825c0e2a
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · f87a944c
      Marko Mäkelä authored
      f87a944c
    • Marko Mäkelä's avatar
      MDEV-24818: Optimize multi-statement INSERT into an empty table · 8ea923f5
      Marko Mäkelä authored
      If the user "opts in" (as in the parent
      commit 92b2a911),
      we can optimize multiple INSERT statements to use table-level locking
      and undo logging.
      
      There will be a change of behavior:
      
          CREATE TABLE t(a PRIMARY KEY) ENGINE=InnoDB;
          SET foreign_key_checks=0, unique_checks=0;
          BEGIN; INSERT INTO t SET a=1; INSERT INTO t SET a=1; COMMIT;
      
      will end up with an empty table, because in case of an error,
      the entire transaction will be rolled back, instead of rolling
      back the failing statement. Previously, the second INSERT statement
      would have been logged row by row, and only that second statement
      would have been rolled back, leaving the first INSERT intact.
      
      lock_table_x_unlock(), trx_mod_table_time_t::WAS_BULK: Remove.
      Because we cannot really support statement rollback in this
      optimized mode, we will not optimize the locking. The exclusive
      table lock will be held until the end of the transaction.
      8ea923f5
    • Marko Mäkelä's avatar
      MDEV-24818 Concurrent use of InnoDB table is impossible until the first transaction is finished · 92b2a911
      Marko Mäkelä authored
      In MDEV-515, we enabled an optimization where an insert into an
      empty table will use table-level locking and undo logging.
      This may break applications that expect row-level locking.
      
      The SQL statements created by the mysqldump utility will include the
      following:
      
          SET unique_checks=0, foreign_key_checks=0;
      
      We will use these flags to enable the table-level locked and logged
      insert. Unless the parameters are set, INSERT will be executed in
      the old way, with row-level undo logging and implicit record locks.
      92b2a911
    • Jan Lindström's avatar
      MDEV-24916 : Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT ||... · f4e4bff9
      Jan Lindström authored
      MDEV-24916 : Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW' failed in THD::is_current_stmt_binlog_format_row
      
      Store old value of binlog format before wsrep code so that
      if we bail out because wsrep is not ready for connections
      we can restore binlog format correctly.
      f4e4bff9
  4. 15 Mar, 2021 2 commits