1. 01 Apr, 2020 1 commit
  2. 25 Mar, 2020 2 commits
  3. 24 Mar, 2020 1 commit
  4. 23 Mar, 2020 1 commit
  5. 20 Mar, 2020 1 commit
    • Alexander Barkov's avatar
      MDEV-21977 main.func_math fails due to undefined behaviour · 328edf85
      Alexander Barkov authored
      The problem happened in these line:
      
      uval0= (ulonglong) (val0_negative ? -val0 : val0);
      uval1= (ulonglong) (val1_negative ? -val1 : val1);
      
      return check_integer_overflow(val0_negative ? -(longlong) res : res,
                                    !val0_negative);
      
      when unary minus was performed on -9223372036854775808.
      This behavior is undefined in C/C++.
      328edf85
  6. 15 Mar, 2020 1 commit
    • Igor Babaev's avatar
      MDEV-10466 Server crashed in SEL_ARG::store_min() with extended_keys=on · 407b0a6a
      Igor Babaev authored
      This bug could manifest itself in a very rare cases when the optimizer
      chose an execution plan by which a joined table was accessed by a table
      scan and the optimizer was checking whether ranges checked for each record
      could improve this plan. In such cases the optimizer evaluates range
      conditions over a table that depend on other tables. For such conditions
      the constructed SEL_ARG trees are marked as MAYBE_KEY. If a SEL_ARG object
      constructed for a sargable condition marked as RANGE_KEY had the same
      first key part as a MAYBE_KEY SEL_ARG object and the key_and() function
      was called for this pair of SEL_ARG objects then an invalid SEL_ARG
      object could be constructed that ultimately could lead to a crash before
      the execution phase.
      407b0a6a
  7. 14 Mar, 2020 2 commits
  8. 13 Mar, 2020 2 commits
  9. 11 Mar, 2020 4 commits
  10. 10 Mar, 2020 1 commit
  11. 06 Mar, 2020 1 commit
  12. 28 Feb, 2020 1 commit
  13. 26 Feb, 2020 1 commit
  14. 25 Feb, 2020 1 commit
  15. 22 Feb, 2020 1 commit
    • Anel Husakovic's avatar
      MDEV-21374: When "--help --verbose" prints out configuration file paths, the... · b9689712
      Anel Husakovic authored
      MDEV-21374: When "--help --verbose" prints out configuration file paths, the --defaults-file option is not considered
      
      * `--defaults-file` option is showed only in `--help --verbose` if
      applied
      * `--default-extra-file` is showing correctly now in `--help --verbose`,
      previously it was treated as a directory with appended `my.cnf`
      b9689712
  16. 12 Feb, 2020 1 commit
  17. 10 Feb, 2020 1 commit
  18. 08 Feb, 2020 1 commit
    • Marko Mäkelä's avatar
      Remove unused SRV_MASTER_PURGE_INTERVAL · e568dc97
      Marko Mäkelä authored
      The symbol SRV_MASTER_PURGE_INTERVAL became unused in
      mysql/mysql-server@42f36919584e82c621dbec1e69fd05ab023c54c6
      when separate purge threads were introduced in MySQL 5.6.5.
      e568dc97
  19. 07 Feb, 2020 1 commit
  20. 06 Feb, 2020 1 commit
    • Thirunarayanan Balathandayuthapani's avatar
      MDEV-21563 FTS thread aborts during shutdown · 280bf178
      Thirunarayanan Balathandayuthapani authored
      Problem:
      =======
      After discarding the table, fts_optimize_thread aborts during shutdown.
      InnoDB fails to remove the table from fts_optimize_wq and it leads to
      the fts_optimize_thread to lookup for the auxiliary table and fails.
      
      Fix:
      ====
      While discarding the fts table, remove the table from fts_optimize_wq.
      280bf178
  21. 31 Jan, 2020 1 commit
    • Marko Mäkelä's avatar
      MDEV-20307: Remove a useless debug check to save stack space · 0b36c27e
      Marko Mäkelä authored
      fil_space_encrypt(): Remove the debug check that decrypts the
      just encrypted page. We are exercising the decryption of encrypted
      pages enough via --suite=encryption,mariabackup. It is a waste of
      computing resources to decrypt every page immediately after encrypting it.
      
      The redundant check had been added in
      commit 2bedc397 (MDEV-9931).
      0b36c27e
  22. 30 Jan, 2020 1 commit
  23. 29 Jan, 2020 2 commits
    • Anel Husakovic's avatar
      Clean the comment for `table_f_c unt` parameter · 4932ec87
      Anel Husakovic authored
      Deleted with commit: c70a9fa1
      4932ec87
    • Sujatha's avatar
      MDEV-20923:UBSAN: member access within address … which does not point to an... · d89bb886
      Sujatha authored
      MDEV-20923:UBSAN: member access within address … which does not point to an object of type 'xid_count_per_binlog'
      
      Problem:
      -------
      Accessing a member within 'xid_count_per_binlog' structure results in
      following error when 'UBSAN' is enabled.
      
      member access within address 0xXXX which does not point to an object of type
      'xid_count_per_binlog'
      
      Analysis:
      ---------
      The problem appears to be that no constructor for 'xid_count_per_binlog' is
      being called, and thus the vtable will not be initialized.
      
      Fix:
      ---
      Defined a parameterized constructor for 'xid_count_per_binlog' class.
      d89bb886
  24. 28 Jan, 2020 3 commits
  25. 27 Jan, 2020 2 commits
  26. 25 Jan, 2020 1 commit
  27. 24 Jan, 2020 3 commits
    • Rafli Akmal's avatar
      MDEV-15052: Allow sysusers and tmpfiles install for non-systemd users · 742c36d0
      Rafli Akmal authored
      ..as they have their own tools that parses those files, such as
      opensysusers[1] that handles sysusers file and opentmpfiles[2] that
      handles tmpfiles.d settings
      
      Because of this. Move both sysusers and tmpfiles 'if' function
      outside systemd function, allowing independent install
      Signed-off-by: default avatarRafli Akmal <thefallenrat@artixlinux.org>
      
      [1] - https://github.com/artix-linux/opensysusers
      [2] - https://github.com/OpenRC/opentmpfiles
      
      Changes done by vicentiu@mariadb.org, from original author patch:
      
      Installing sysusers and tmpfiles without checking for systemd existence
      means that by default, cmake will ALWAYS install these files. Our
      general policy is we do not install things which are not needed.
      However, there is a valid use case when these files are useful, as is
      described above.
      
      To allow this, provide an extra switch that can be enabled during
      configuring by doing -DINSTALL_SYSTEMD_{SYSUSERS|TMPFILES}=True
      
      This will use the default path INSTALL_SYSTEMD_{SYSUSERS|TMPFILES}DIR
      fetched from install_layout.cmake for rpm & deb based layouts
      respectively, or they must be overriden if the install_layout is
      standalone.
      
      Example:
      
      cmake . -DINSTALL_SYSTEMD_SYSUSERS=True -DINSTALL_SYSTEMD_SYSUSERSDIR=/etc/sysusers.d
      742c36d0
    • Christian Hesse's avatar
      MDEV-17028: Use descriptive file names for sysusers and tmpfiles configuration · b472bc2e
      Christian Hesse authored
      These files were installed to:
      
      ${INSTALL_SYSTEMD_SYSUSERSDIR}/sysusers.conf
      ${INSTALL_SYSTEMD_TMPFILESDIR}/tmpfiles.conf
      
      Instead rename the files to more descriptive file names 'mariadb.conf'.
      b472bc2e
    • Sujatha's avatar
      MDEV-21490: binlog tests fail with valgrind: Conditional jump or move depends... · 599a0609
      Sujatha authored
      MDEV-21490: binlog tests fail with valgrind: Conditional jump or move depends on uninitialised value in sql_ex_info::init
      
      Problem:
      =======
      P1) Conditional jump or move depends on uninitialised value(s)
          sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3083)
      
      code: All the following variables are not initialized.
      ----
        return ((cached_new_format != -1) ? cached_new_format :
          (cached_new_format=(field_term_len > 1 || enclosed_len > 1 ||
          line_term_len > 1 || line_start_len > 1 || escaped_len > 1)));
      
      P2) Conditional jump or move depends on uninitialised value(s)
          Rows_log_event::Rows_log_event(char const*, unsigned
            int, Format_description_log_event const*) (log_event.cc:9571)
      
      Code: Uninitialized values is reported for 'var_header_len' variable.
      ----
        if (var_header_len < 2 || event_len < static_cast<unsigned
            int>(var_header_len + (post_start - buf)))
      
      P3) Conditional jump or move depends on uninitialised value(s)
          Table_map_log_event::pack_info(Protocol*) (log_event.cc:11553)
      
      code:'m_table_id' is uninitialized.
      ----
        void Table_map_log_event::pack_info(Protocol *protocol)
        ...
        size_t bytes= my_snprintf(buf, sizeof(buf), "table_id: %lu (%s.%s)",
                                    m_table_id, m_dbnam, m_tblnam);
      
      Fix:
      ===
      P1 - Fix)
      Initialize cached_new_format,field_term_len, enclosed_len, line_term_len,
      line_start_len, escaped_len members in default constructor.
      
      P2 - Fix)
      "var_header_len" is initialized by reading the event buffer. In case of an
      invalid event the buffer will contain invalid data. Hence added a check to
      validate the event data. If event_len is smaller than valid header length
      return immediately.
      
      P3 - Fix)
      'm_table_id' within Table_map_log_event is initialized by reading data from
      the event buffer. Use 'VALIDATE_BYTES_READ' macro to validate the current
      state of the buffer. If it is invalid return immediately.
      599a0609
  28. 21 Jan, 2020 1 commit
    • Julius Goryavsky's avatar
      MDEV-17601: MariaDB Galera does not expect 'mbstream' as streamfmt · 982294ac
      Julius Goryavsky authored
      Setting "streamfmt=mbstream" in the "[sst]" section causes SST to fail
      because the format automatically switches to 'tar' by default (insead
      of mbstream).
      
      To fix this, we need to add mbstream to the list of valid values for
      the format, making it synonymous with xbstream. This must be done both
      in the SST script and when parsing the options of the corresponding
      utilities.
      982294ac