1. 18 Sep, 2024 1 commit
  2. 17 Sep, 2024 1 commit
  3. 11 Sep, 2024 3 commits
  4. 10 Sep, 2024 24 commits
  5. 09 Sep, 2024 7 commits
    • Daniel Black's avatar
      MDEV-34825 FreeBSD fails to build under clang natively (postfix) · 24d67aaf
      Daniel Black authored
      10.5 added contents of cmake/os/FreeBSD.cmake in c991efd9.
      in the merge to 10.11, d002b1f5 removed this file.
      
      In the past FreeBSD.cmake was removed in 5369df74
      in the 10.11 branch as no remaining code was needed. The combination
      of this and the merge lead to the the file being removed. My assumption is
      this was a non-stable branch at the time.
      
      The purpose of this patch is clang doesn't have /usr/local/lib in
      the path. As such there are various depedency linkages that will fail.
      
      For example pcre and libfmt.
      24d67aaf
    • Daniel Black's avatar
      MDEV-33894: Resurrect innodb_log_write_ahead_size (postfix) · ccb4bc77
      Daniel Black authored
      os_file_log_maybe_unbuffered is now Linux only.
      
      Aso the stat st structure only used in linux.
      
      This avoids unused function/structure errors on FreeBSD.
      ccb4bc77
    • Marko Mäkelä's avatar
      MDEV-34483 Backup may copy unnecessarily much log · 852d42e9
      Marko Mäkelä authored
      In mariadb-backup --backup there are multiple mechanisms for ensuring that
      a sufficient amount of the InnoDB write-ahead log (ib_logfile0) is being
      copied at the end of the backup. The backup needs to include the latest
      committed transaction. While further transaction commits are blocked by
      BACKUP STAGE BLOCK_COMMIT, ongoing transactions may modify the database
      contents and write log records. We were unnecessarily copying such log,
      which would also cause further effort of rolling back incomplete
      transactions after the backup is restored.
      
      backup_wait_for_lsn(): Declare as static, and refactor some code
      to separate functions backup_wait_for_lsn_low() and
      backup_wait_timeout().
      
      backup_wait_for_commit_lsn(): A new function to determine the current
      LSN (within BACKUP STAGE BLOCK_COMMIT) and to wait for the log to be
      copied until that. Invoked by BackupStages::stage_block_commit().
      
      xtrabackup_backup_func(): Remove a condition that had already been
      checked by a caller of backup_wait_timeout().
      
      server_lsn_after_lock: Declare as a local variable in
      BackupStages::stage_block_ddl().
      
      log_copying_thread(), io_watching_thread(): Use metadata_last_lsn
      instead of metadata_to_lsn as the stop condition.
      
      BackupStages::stage_block_commit(): Ensure that the log tables
      (in particular, mysql.general_log) will have been copied before
      the BACKUP STAGE BLOCK_COMMIT is being followed by any further
      SQL statements.
      
      Reviewed by: Debarun Banerjee
      Tested by: Matthias Leich
      852d42e9
    • Sergei Petrunia's avatar
      Merge 10.11 -> 11.2 · abd98336
      Sergei Petrunia authored
      abd98336
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-34855 Bootstrap hangs while shrinking the system tablespace · 06ad31d4
      Thirunarayanan Balathandayuthapani authored
      Reason:
      =======
      - During bootstrap, InnoDB shrinks the system tablespace while purge is
      still active on system tablespace. This could lead to deadlock.
      
      Fix:
      ====
      Avoid System tablespace shrinking during bootstrap.
      Move the shrinking logic of system tablespace after purge gets shutdown.
      06ad31d4
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · b7b2d2bd
      Marko Mäkelä authored
      b7b2d2bd
    • Yuchen Pei's avatar
      Merge branch '10.6' into 10.11 · d002b1f5
      Yuchen Pei authored
      d002b1f5
  6. 08 Sep, 2024 1 commit
    • Sergei Petrunia's avatar
      MDEV-34894: Poor query plan, because range estimates are not reused for ref(const) · c630e23a
      Sergei Petrunia authored
      (Variant 4, with @@optimizer_adjust_secondary_key_costs, reuse in two
      places, and conditions are replaced with equivalent simpler forms in two more)
      
      In best_access_path(), ReuseRangeEstimateForRef-3,  the check
      for whether
       "all used key_part_i used key_part_i=const"
      was incorrect: it may produced a "NO" answer for cases when we
      had:
       key_part1= const // some key parts are usable
       key_part2= value_not_in_join_prefix  //present but unusable
       key_part3= non_const_value // unusable due to gap in key parts.
      
      This caused the optimizer to fail to apply ReuseRangeEstimateForRef
      heuristics. The consequence is poor query plan choice when the index
      in question has very skewed data distribution.
      
      The fix is enabled if its @@optimizer_adjust_secondary_key_costs flag
      is set.
      c630e23a
  7. 07 Sep, 2024 2 commits
  8. 06 Sep, 2024 1 commit