1. 01 Nov, 2022 9 commits
  2. 27 Oct, 2022 3 commits
    • Sergei Golubchik's avatar
      Revert MDEV-25292 Atomic CREATE OR REPLACE TABLE · 2bd41fc5
      Sergei Golubchik authored
      Specifically:
      
      Revert "MDEV-29664 Assertion `!n_mysql_tables_in_use' failed in innobase_close_connection"
      This reverts commit ba875e93.
      
      Revert "MDEV-29620 Assertion `next_insert_id == 0' failed in handler::ha_external_lock"
      This reverts commit aa08a744.
      
      Revert "MDEV-29628 Memory leak after CREATE OR REPLACE with foreign key"
      This reverts commit c579d66b.
      
      Revert "MDEV-29609 create_not_windows test fails with different result"
      This reverts commit cb583b2f.
      
      Revert "MDEV-29544 SIGSEGV in HA_CREATE_INFO::finalize_locked_tables"
      This reverts commit dcd66c38.
      
      Revert "MDEV-28933 CREATE OR REPLACE fails to recreate same constraint name"
      This reverts commit cf6c5176.
      
      Revert "MDEV-28933 Moved RENAME_CONSTRAINT_IDS to include/sql_funcs.h"
      This reverts commit f1e1c133.
      
      Revert "MDEV-28956 Locking is broken if CREATE OR REPLACE fails under LOCK TABLES"
      This reverts commit a228ec80.
      
      Revert "MDEV-25292 gcol.gcol_bugfixes --ps fix"
      This reverts commit 24fff826.
      
      Revert "MDEV-25292 Disable atomic replace for slave-generated or-replace"
      This reverts commit 2af15914.
      
      Revert "MDEV-25292 backup_log improved"
      This reverts commit 34398a20.
      
      Revert "MDEV-25292 Atomic CREATE OR REPLACE TABLE"
      This reverts commit 93c8252f.
      
      Revert "MDEV-25292 Table_name class for (db, table_name, alias)"
      This reverts commit d145dda9.
      
      Revert "MDEV-25292 ha_table_exists() cleanup and improvement"
      This reverts commit 409b8a86.
      
      Revert "MDEV-25292 Cleanups"
      This reverts commit 595dad83.
      
      Revert "MDEV-25292 Refactoring: moved select_field_count into Alter_info."
      This reverts commit f02af1d2.
      2bd41fc5
    • Daniel Black's avatar
      d1526099
    • Paragoumba's avatar
      MDEV-24377: Accept comma separated addresses as --bind-address value (#2009) · ba16202e
      Paragoumba authored
      * MDEV-24377: Accept comma separated addresses as --bind-address value
      
      When bind address form the basis of wsrep based variables, the first
      address in the comma separated list is used.
      
      The test uses the IP address 192.168.0.1 as we need to include
      multiple address. This will include failures without the following
      commit.
      
      The tests for bind_multiple_address_resolution could return
      addresses that we cannot bind too. Windows and FreeBSD, and
      probably other OSs will terminate the service if addresses are
      unavailable.
      
      We use the WSAEADDRNOTAVAIL / POSIX EADDRNOTAVAIL codes to
      continue to bind to other interfaces. If at the end of the
      bind list, if no binds are successful, the we terminate
      but still leaving the error messages in the log.
      Co-authored-by: default avatarDaniel Black <daniel@mariadb.org>
      ba16202e
  3. 26 Oct, 2022 27 commits
  4. 25 Oct, 2022 1 commit
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-19229 Allow innodb_undo_tablespaces to be changed after database creation · baf276e6
      Thirunarayanan Balathandayuthapani authored
      trx_sys_t::undo_log_nonempty: Set to true if there are undo logs
      to rollback and purge.
      
      The algorithm for re-creating the undo tablespace when
      trx_sys_t::undo_log_nonempty is disabled:
      
      1) trx_sys_t::reset_page(): Reset the TRX_SYS page and assign all
      rollback segment slots from 1..127 to FIL_NULL
      
      2) Free the rollback segment header page of system tablespace
      for the slots 1..127
      
      3) Update the binlog and WSREP information in system tablespace
      rollback segment header
      Step (1), (2) and Step (3) should happen atomically within a
      single mini-transaction.
      
      4) srv_undo_delete_old_tablespaces(): Delete the old undo tablespaces
      present in the undo log directory
      
      5) Make checkpoint to get rid of old undo log tablespaces redo logs
      
      6) Assign new start space id for the undo log tablespaces
      
      7) Re-create the specified undo log tablespaces. InnoDB uses same
      mtr for this one and step (6)
      
      8) Make checkpoint again, so that server or mariabackup
      can read the undo log tablespace page0 before applying
      the redo logs
      
      srv_undo_tablespaces_reinit(): Recreate the undo log tablespaces.
      It does reset trx_sys page, delete the old undo tablespaces,
      update the binlog offset, write set replication checkpoint
      in system rollback segment page
      
      trx_rseg_update_binlog_offset(): Added 2 new parameters to pass
      binlog file name and binlog offset
      
      trx_rseg_array_init(): Return error if the rollback segment
      slot points to non-existent tablespace
      
      srv_undo_tablespaces_init(): Added new parameter mtr
      to initialize all undo tablespaces
      
      trx_assign_rseg_low(): Allow the transaction to use the rollback
      segment slots(1..127) even if InnoDB failed to change to the
      requested innodb_undo_tablespaces=0
      
      srv_start(): Override the user specified value of
      innodb_undo_tablespaces variable with already existing actual
      undo tablespaces
      
      wf_incremental_process(): Detects whether TRX_SYS page has been
      modified since last backup. If it is then incremental backup
      fails and throws the information about taking full backup again
      
      xb_assign_undo_space_start(): Removed the function. Because
      undo001 has first undo space id value in page0
      
      Added test case to test the scenario during startup and mariabackup
      incremental process too.
      
      Reviewed-by : Marko Mäkelä
      Tested-by : Matthias Leich
      baf276e6