1. 21 Jun, 2021 11 commits
  2. 19 Jun, 2021 7 commits
  3. 18 Jun, 2021 7 commits
  4. 17 Jun, 2021 15 commits
    • Otto Kekäläinen's avatar
      MDEV-20392: Skip ABI check if 'diff' is not found · b7d87bf0
      Otto Kekäläinen authored
      Not all environments have 'diff' installed. Most notably CentOS 8
      does not have diff out-of-the-box. Thus users running 'cmake .' and
      'make' would fail to build MariaDB, and they would think the error
      was in ABI incompatibilities due to the error message emitted by CMake
      when in reality simply 'diff' was missing.
      
      This fixes it and makes the developer experience better by simply skipping
      the diffing if 'diff' is not found.
      
      ## Proof
      
      Running in a clean CentOS 8 container.
      
      ### Before
      
      ```
      $ cmake .
      ...
      -- Looking for cpuid.h
      -- Looking for cpuid.h - found
      -- Looking for x86intrin.h
      -- Looking for x86intrin.h - found
      -- Looking for event.h
      -- Looking for event.h - not found
      -- Configuring done
      -- Generating done
      -- Build files have been written to: /build
      
      $ make
      Scanning dependencies of target abi_check
      CMake Error at cmake/do_abi_check.cmake:82 (MESSAGE):
        ABI check found difference between /build/include/mysql/plugin_audit.h.pp
        and /build/abi_check.out
      
      make[2]: *** [CMakeFiles/abi_check.dir/build.make:57: CMakeFiles/abi_check] Error 1
      make[1]: *** [CMakeFiles/Makefile2:168: CMakeFiles/abi_check.dir/all] Error 2
      make: *** [Makefile:163: all] Error 2
      
      $ yum install -y diffutils
      ...
      Installed:
        diffutils-3.6-6.el8.x86_64
      Complete!
      
      $ make
      [  0%] Built target abi_check
      Scanning dependencies of target INFO_BIN
      [  0%] Built target INFO_BIN
      Scanning dependencies of target INFO_SRC
      [  0%] Built target INFO_SRC
      Scanning dependencies of target wsrep_api_v26
      [  0%] Building C object wsrep-lib/wsrep-API/CMakeFiles/wsrep_api_v26.dir/v26/wsrep_dummy.c.o
      [  0%] Building C object wsrep-lib/wsrep-API/CMakeFiles/wsrep_api_v26.dir/v26/wsrep_gtid.c.o
      [  0%] Building C object wsrep-lib/wsrep-API/CMakeFiles/wsrep_api_v26.dir/v26/wsrep_loader.c.o
      [  0%] Building C object wsrep-lib/wsrep-API/CMakeFiles/wsrep_api_v26.dir/v26/wsrep_uuid.c.o
      [  0%] Linking C static library libwsrep_api_v26.a
      [  0%] Built target wsrep_api_v26
      ```
      
      ### After
      
      ```
      $ make
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_audit.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_ftparser.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/psi/psi_abi_v1.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/psi/psi_abi_v2.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/client_plugin.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_auth.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_password_validation.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_encryption.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_data_type.h skipped.
      Command 'diff' not found. ABI check for /build/server/include/mysql/plugin_function.h skipped.
      [  0%] Built target abi_check
      [  0%] Built target INFO_SRC
      [  0%] Built target INFO_BIN
      [  0%] Built target wsrep_api_v26
      [  0%] Building CXX object wsrep-lib/src/CMakeFiles/wsrep-lib.dir/server_state.cpp.o
      ```
      
      If diff is installed, those warnings are simply not shown. Builds pass
      without the need to install 'diff'.
      b7d87bf0
    • Vladislav Vaintroub's avatar
      MDEV-25953 Tpool - prevent potential deadlock in simulated AIO · 78bd7d86
      Vladislav Vaintroub authored
      Do not execute user callback just after pwrite. Instead, submit user
      function as task into thread pool. This way, the IO thread would not hog
      aiocb, which is a limited (in Innodb) resource
      78bd7d86
    • Sergei Golubchik's avatar
      update C/C · 59cf1a8a
      Sergei Golubchik authored
      59cf1a8a
    • Dmitry Shulga's avatar
      MDEV-16708: fixed failure of the test sys_vars.sql_select_limit_func · 44db6ffc
      Dmitry Shulga authored
      This test failed in case it was run in PS mode and for embedded server
      
      The reason of test failure was that the following fields
        affected_row, server_status, insert_id
      of the structure MYSQL_STMT weren't update on calling
      mysql_stmt_next_result() in case combination of binary protocol
      and embedded server used.
      44db6ffc
    • Sergei Golubchik's avatar
      MDEV-16708: correct server side cursor detection in embedded · 3d752f0a
      Sergei Golubchik authored
      fixes a bunch of tests failures in --ps --embed
      
      also, don't use cli_advanced_command().
      3d752f0a
    • Sergei Golubchik's avatar
    • Sergei Golubchik's avatar
      MDEV-16708: spurious ER_NEED_REPREPARE for gtid_slave_pos and event_scheduler · aedf3143
      Sergei Golubchik authored
      do not try to detect metadata change (and reprepare) for
      internal short-lived TABLE_LIST objects that couldn't have
      possibly lived long enough to see prepare and cache the metadata.
      aedf3143
    • Dmitry Shulga's avatar
      MDEV-16708: more fixes to test cases · 510662e8
      Dmitry Shulga authored
      510662e8
    • Dmitry Shulga's avatar
    • Dmitry Shulga's avatar
    • Dmitry Shulga's avatar
      MDEV-16708: fixed incorrect issuing the error · 994e3f40
      Dmitry Shulga authored
       ' Access denied; you need (at least one of) the SUPER privilege(s) for this operation
      on executing SET system_variable=.... in PS mode
      994e3f40
    • Dmitry Shulga's avatar
    • Dmitry Shulga's avatar
    • Dmitry Shulga's avatar
      MDEV-16708: Fixed ths issue with handling of ERR packet received by mysqltest · fc71746a
      Dmitry Shulga authored
      on response to COM_STMT_EXECUTE
      
      The test cases like the following one
        delimiter |;
        CREATE PROCEDURE SP001()
        BEGIN
          DECLARE C1 CURSOR FOR SELECT 1;
      
          OPEN C1;
      
          SELECT 1;
          CLOSE C1;
          CLOSE C1;
        END|
        delimiter ;|
        --error 1326
        call SP001();
      
      are failed since processing of ERR packet was missed by mysqltest
      in case it is run with --ps-protocol
      
      Additionally, the test sp-error was changed to don't run multi-statements
      since they are not supported by PS protocol
      fc71746a
    • Dmitry Shulga's avatar
      MDEV-16708: Unsupported commands for prepared statements · a7209842
      Dmitry Shulga authored
      Added the directive --disable_ps_protocol before running tests
      that checking correct handling of ER_STACK_OVERRUN_NEED_MORE.
      These tests rely on estimation of stack consumption that differ
      in case statements run in regular and in ps mode.
      a7209842