1. 23 Mar, 2021 3 commits
    • Vladislav Vaintroub's avatar
      CMake cleanup · cb545f11
      Vladislav Vaintroub authored
      - use FIND_PACKAGE(LIBAIO) to find libaio
      - Use standard CMake conventions in Find{PMEM,URING}.cmake
      - Drop the LIB from LIB{PMEM,URING}_{INCLUDE_DIR,LIBRARIES}
        It is cleaner, and consistent with how other packages are handled in CMake.
        e.g successful FIND_PACKAGE(PMEM) now sets PMEM_FOUND, PMEM_LIBRARIES,
        PMEM_INCLUDE_DIR, not  LIBPMEM_{FOUND,LIBRARIES,INCLUDE_DIR}.
      - Decrease the output. use FIND_PACKAGE with QUIET argument.
      - for Linux packages, either liburing, or libaio is required
        If liburing is installed, libaio does not need to be present   .
        Use FIND_PACKAGE([LIBAIO|URING] REQUIRED) if either library is required.
      cb545f11
    • Daniel Black's avatar
      purge HAVE_CLOSE_SERVER_SOCK from sql/mysqld.cc · 2e31b2ff
      Daniel Black authored
      When we are testing under valgrind, we should be
      testing the actual code path used in production code.
      
      This optimization of using shutdown did, in pre-2009,
      help purify shutdown quickly. In
      b125770a this magicly
      equated to valgrind, in 2009.
      
      Reviewer: Monty
      2e31b2ff
    • Alexey Bychko's avatar
      fixed typo in postinst script · 11707947
      Alexey Bychko authored
      11707947
  2. 22 Mar, 2021 1 commit
  3. 21 Mar, 2021 1 commit
  4. 20 Mar, 2021 12 commits
    • Monty's avatar
      Fix compiler warnings in connect engine · c22e6eed
      Monty authored
      - Removed not used variables
      - Added /* fall through */ to switches
      - Removed not used static variable 'slash' from header file
      - Removed test of fp->field_length >= 0 as it is always true
      c22e6eed
    • Monty's avatar
      Fixed crash with listen_sockets when shutdown and kill was run simultaneously · 93bb755d
      Monty authored
      Problem was that listen_sockets where not properly protected.
      Fixed by adding LOCK_start_thread around closing socket loop.
      
      Other things:
      - Removed not necessary test in close_socket(). With the current code
        'sock' can never be INVALID_SOCKET.
      93bb755d
    • Monty's avatar
      Changed std::vector<MYSQL_SOCKET> listen_sockets to Dynamic_array · d7d10232
      Monty authored
      Main reason for this was there was a crash in shutdown of the server
      in binlog_encryption.encryption_combo-mix and some other tests because
      something in listen_sockets where not initialized. Changing to
      Dynamic_array caused things to work.
      Other reason for removing std::vector was that it is harder to debug,
      and not integrated with DBUG, safemalloc, valgrind or memory
      calculation and cause code explosions (extra code generated for each
      std::vector type used).
      d7d10232
    • Monty's avatar
      Fixed wrong initializations of Dynamic_array · cccc96d6
      Monty authored
      Other things:
      - Added size() function to Dynamic_array()
      cccc96d6
    • Monty's avatar
      Aria: Add transaction id to log of create table · 8f33f49e
      Monty authored
      In the case of a crash directly after a creation of an Aria table,
      Aria recovery would think that the table was from another system and
      require a repair of the table and inform that the table is 'zerofilled".
      This would cause no harm, but was confusing to see when testing atomic
      alter table.
      
      Fixed by logging the create transaction id to the log.
      
      Other things:
      - Added "show table status from sys" to maria_empy_logs. This ensures one
        does not get any zerofill warnings when sys/sys_config is used by other
        tests.
      - aria_chk --describe now prints a warning if the table was moved from
        another system.
      - Logging of truncate (maria_delete_all_rows) is changed to use the
        current trid for the create table.
        This is to ensure that we do not run into the same problem with truncate.
      - Changed back sys_config table to Aria as this patch should fix the
        "zerofill" problem in buildbot.
      - Added scripts/mysql_sys_schema.sql to .gitignore
      8f33f49e
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 1055cf96
      Marko Mäkelä authored
      1055cf96
    • Marko Mäkelä's avatar
      CMake cleanup: Make WITH_URING, WITH_PMEM Boolean · e8113f75
      Marko Mäkelä authored
      The new default values WITH_URING:BOOL=OFF, WITH_PMEM:BOOL=OFF imply
      that the dependencies are optional.
      An explicit request WITH_URING=ON or WITH_PMEM=ON will cause the
      build to fail if the requested dependencies are not available.
      
      Last, to prevent a feature to be built in even though the built-time
      dependencies are available, the following can be used:
      
      cmake -DCMAKE_DISABLE_FIND_PACKAGE_URING=1
      cmake -DCMAKE_DISABLE_FIND_PACKAGE_PMEM=1
      
      This cleanup was suggested by Vladislav Vaintroub.
      e8113f75
    • Marko Mäkelä's avatar
      MDEV-25211 Remove useless counter Innodb_buffered_aio_submitted · e7ddf466
      Marko Mäkelä authored
      In commit 412533b4 (MDEV-18582),
      one of the counters that was ported from XtraDB is useless.
      Innodb_buffered_aio_submitted would be 0 or 1, depending on whether
      is_linux_native_aio_supported() was executed to the point where
      it would be incremented.
      
      Let us remove this counter, because it has no practical value.
      Even if its value were 1, io_setup() can still fail and we may
      end up with innodb_use_native_aio=0.
      e7ddf466
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 8570a6a0
      Marko Mäkelä authored
      8570a6a0
    • Marko Mäkelä's avatar
      Merge 10.3 into 10.4 · d8dc8537
      Marko Mäkelä authored
      d8dc8537
    • David Carlier's avatar
      mariabackup little FreeBSD update support. · 1bacab8a
      David Carlier authored
      In this platform, it s better not to rely on optional proc filesystem presence.
       Using native API to retrieve binary absolute path instead.
      1bacab8a
    • Daniel Black's avatar
      MDEV-25207 mysql_install_db doesn't create sys schema (fix) · 4eeea4e2
      Daniel Black authored
      Fix for out-of-tree builds.
      
      mysql_sys_schema.sql is a CMAKE_CURRENT_BINARY_DIR file so
      use the buildpkgdatadir.
      4eeea4e2
  5. 19 Mar, 2021 17 commits
  6. 18 Mar, 2021 6 commits
    • Vladislav Vaintroub's avatar
      40fd42f7
    • Vladislav Vaintroub's avatar
    • Sergei Petrunia's avatar
      MDEV-23677: Optimizer trace: remove "no predicate for first keypart" (not) · 2b3fd5df
      Sergei Petrunia authored
      Don't remove (reasons given in Jira), instead add test coverage.
      Improve other printout in best_access_path.
      2b3fd5df
    • Igor Babaev's avatar
      MDEV-25112 MIN/MAX aggregation over an indexed column may return wrong result · b34bb81e
      Igor Babaev authored
      If a query with implicit grouping contains in MIN/MAX set function in the
      select list over a column that is a part of an index then the query
      might be subject to MIN/MAX optimization. With this optimization the
      server performs a look-up into an index, fetches a value of the column C
      used in the MIN/MAX function and substitute the MIN/MAX expression for this
      value. This allows to eliminate the table containing C from further join
      processing. In order the optimization to be applied the WHERE condition
      must be a conjunction of simple equality/inequality predicates or/and
      BETWEEN predicates.
      The bug fixed in the patch resulted in fetching a wrong value from the
      index used for MIN/MAX optimization. It may happened when a BETWEEN
      predicate containing the MIN/MAX value followed a strict inequality.
      
      Approved by dmitry.shulga@mariadb.com
      b34bb81e
    • Marko Mäkelä's avatar
      MDEV-23497 fixup: Do not warn for ALTER TABLE conversion · 4903031b
      Marko Mäkelä authored
      Our intention is to make users aware that the ROW_FORMAT=COMPRESSED
      format is on its way to deprecation.  It is an unnecessary annoyance
      to users if we issue a warning when the user is converting a
      ROW_FORMAT=COMPRESSED table to a supported format
      (such as ROW_FORMAT=DYNAMIC).
      
      ha_innobase::is_read_only(): Add a parameter to specify that an
      ALTER TABLE to a supported format has been requested.
      
      ha_innobase::check_if_supported_inplace_alter(): Set the parameter
      when ALTER_OPTIONS to something else than ROW_FORMAT=COMPRESSED
      (and without KEY_BLOCK_SIZE) is being requested.
      
      Thanks to Elena Stepanova for suggesting this.
      4903031b
    • Marko Mäkelä's avatar
      MDEV-24883 fixup: Avoid io_uring in ./mtr --rr · e0c3b5f9
      Marko Mäkelä authored
      Until https://github.com/rr-debugger/rr/issues/2613
      has been addressed, ./mtr --rr will fail to start up the
      server if it has been configured with liburing.
      To make the ./mtr --rr option work out of the box, we will
      disable native asynchronous I/O.
      
      Note: libaio never worked under rr, but it failed more gracefully:
      the emulated io_setup() call would always return an error.
      e0c3b5f9