1. 15 Sep, 2024 5 commits
  2. 14 Sep, 2024 1 commit
    • Marko Mäkelä's avatar
      mtr_t::log_file_op(): Fix -Wnonnull · 4010dff0
      Marko Mäkelä authored
      GCC 12.2.0 could issue -Wnonnull for an unreachable call to
      strlen(new_path).  Let us prevent that by replacing the condition
      (type == FILE_RENAME) with the equivalent (new_path).
      This should also optimize the generated code, because the life time
      of the parameter "type" will be reduced.
      4010dff0
  3. 13 Sep, 2024 1 commit
    • Marko Mäkelä's avatar
      MDEV-34921 MemorySanitizer reports errors for non-debug builds · b331cde2
      Marko Mäkelä authored
      my_b_encr_write(): Initialize also block_length, and at the same time
      last_block_length, so that all 128 bits can be initialized with fewer
      writes. This fixes an error that was caught in the test
      encryption.tempfiles_encrypted.
      
      test_my_safe_print_str(): Skip a test that would attempt to
      display uninitialized data in the test unit.stacktrace.
      Previously, our CI did not build unit tests with MemorySanitizer.
      
      handle_delayed_insert(): Remove a redundant call to pthread_exit(0),
      which would for some reason cause MemorySanitizer in clang-19 to
      report a stack overflow in a RelWithDebInfo build. This fixes a
      failure of several tests.
      
      Reviewed by: Vladislav Vaintroub
      b331cde2
  4. 12 Sep, 2024 2 commits
  5. 10 Sep, 2024 28 commits
  6. 06 Sep, 2024 3 commits
    • Marko Mäkelä's avatar
      f06060f5
    • Marko Mäkelä's avatar
      MDEV-34823 Invalid arguments in ib_push_warning() · 024a18db
      Marko Mäkelä authored
      In the bug report MDEV-32817 it occurred that the function
      row_mysql_get_table_status() is outputting a fil_space_t*
      as if it were a numeric tablespace identifier.
      
      ib_push_warning(): Remove. Let us invoke push_warning_printf() directly.
      
      innodb_decryption_failed(): Report a decryption failure and set the
      dict_table_t::file_unreadable flag. This code was being duplicated in
      very many places. We return the constant value DB_DECRYPTION_FAILED
      in order to avoid code duplication in the callers and to allow tail calls.
      
      innodb_fk_error(): Report a FOREIGN KEY error.
      
      dict_foreign_def_get(), dict_foreign_def_get_fields(): Remove.
      This code was being used in dict_create_add_foreign_to_dictionary()
      in an apparently uncovered code path. That ib_push_warning() call
      would pass the integer i+1 instead of a pointer to NUL terminated
      string ("%s"), and therefore the call should have resulted in a crash.
      
      dict_print_info_on_foreign_key_in_create_format(),
      innobase_quote_identifier(): Add const qualifiers.
      
      row_mysql_get_table_error(): Replaces row_mysql_get_table_status().
      Display no message on DB_CORRUPTION; it should be properly reported at
      the SQL layer anyway.
      024a18db
    • Yuchen Pei's avatar