1. 16 Mar, 2019 1 commit
    • Jan Lindström's avatar
      MDEV-18908: Remove galera and wsrep suites from default run suites in mtr · 6c08174e
      Jan Lindström authored
      Idea is that many users do not install galera library and do not want
      to unnecessary run galera and wsrep suites. Furthermore, failures on
      these suites disturb development as buildbot shows red failing column
      and causes unnecessary work for those who do not care galera tests.
      There will be other way to run these suites on buildbot.
      6c08174e
  2. 15 Mar, 2019 6 commits
  3. 14 Mar, 2019 4 commits
    • Sergei Golubchik's avatar
      fix gcc 8 compiler warnings · 3d2d060b
      Sergei Golubchik authored
      There were two newly enabled warnings:
      1. cast for a function pointers. Affected sql_analyse.h, mi_write.c
         and ma_write.cc, mf_iocache-t.cc, mysqlbinlog.cc, encryption.cc, etc
      
      2. memcpy/memset of nontrivial structures. Fixed as:
      * the warning disabled for InnoDB
      * TABLE, TABLE_SHARE, and TABLE_LIST got a new method reset() which
        does the bzero(), which is safe for these classes, but any other
        bzero() will still cause a warning
      * Table_scope_and_contents_source_st uses `TABLE_LIST *` (trivial)
        instead of `SQL_I_List<TABLE_LIST>` (not trivial) so it's safe to
        bzero now.
      * added casts in debug_sync.cc and sql_select.cc (for JOIN)
      * move assignment method for MDL_request instead of memcpy()
      * PARTIAL_INDEX_INTERSECT_INFO::init() instead of bzero()
      * remove constructor from READ_RECORD() to make it trivial
      * replace some memcpy() with c++ copy assignments
      3d2d060b
    • Alexander Barkov's avatar
    • Alexander Barkov's avatar
      Tests for MDEV-18667 ASAN heap-use-after-free in make_date_time /... · 49c49e63
      Alexander Barkov authored
      Tests for MDEV-18667 ASAN heap-use-after-free in make_date_time / Arg_comparator::compare_string / Item_func_nullif::compare
      
      The patch for MDEV-14926 fixed MDEV-18667 as well. Adding tests only.
      49c49e63
    • Alexander Barkov's avatar
      MDEV-14926 AddressSanitizer: heap-use-after-free in make_date_time on weird... · cb66cdc6
      Alexander Barkov authored
      MDEV-14926 AddressSanitizer: heap-use-after-free in make_date_time on weird combination of functions
      cb66cdc6
  4. 13 Mar, 2019 2 commits
  5. 12 Mar, 2019 9 commits
    • Alexander Barkov's avatar
      Tests for MDEV-18892 Regression in slow log and admin statements · 90ce95de
      Alexander Barkov authored
      The patch for MDEV-15945 fixed MDEV-18892. Adding tests only.
      90ce95de
    • Jan Lindström's avatar
      Test cleanups. · 3b2a5685
      Jan Lindström authored
      3b2a5685
    • Sergei Golubchik's avatar
      MDEV-15945 --ps-protocol does not test some queries · a62e9a83
      Sergei Golubchik authored
      Make mysqltest to use --ps-protocol more
      
      use prepared statements for everything that server supports
      with the exception of CALL (for now).
      
      Fix discovered test failures and bugs.
      
      tests:
      * PROCESSLIST shows Execute state, not Query
      * SHOW STATUS increments status variables more than in text protocol
      * multi-statements should be avoided (see tests with a wrong delimiter)
      * performance_schema events have different names in --ps-protocol
      * --enable_prepare_warnings
      
      mysqltest.cc:
      * make sure run_query_stmt() doesn't crash if there's
        no active connection (in wait_until_connected_again.inc)
      * prepare all statements that server supports
      
      protocol.h
      * Protocol_discard::send_result_set_metadata() should not send
        anything to the client.
      
      sql_acl.cc:
      * extract the functionality of getting the user for SHOW GRANTS
        from check_show_access(), so that mysql_test_show_grants() could
        generate the correct column names in the prepare step
      
      sql_class.cc:
      * result->prepare() can fail, don't ignore its return value
      * use correct number of decimals for EXPLAIN columns
      
      sql_parse.cc:
      * discard profiling for SHOW PROFILE. In text protocol it's done in
        prepare_schema_table(), but in --ps it is called on prepare only,
        so nothing was discarding profiling during execute.
      * move the permission checking code for SHOW CREATE VIEW to
        mysqld_show_create_get_fields(), so that it would be called during
        prepare step too.
      * only set sel_result when it was created here and needs to be
        destroyed in the same block. Avoid destroying lex->result.
      * use the correct number of tables in check_show_access(). Saying
        "as many as possible" doesn't work when first_not_own_table isn't
        set yet.
      
      sql_prepare.cc:
      * use correct user name for SHOW GRANTS columns
      * don't ignore verbose flag for SHOW SLAVE STATUS
      * support preparing REVOKE ALL and ROLLBACK TO SAVEPOINT
      * don't ignore errors from thd->prepare_explain_fields()
      * use select_send result for sending ANALYZE and EXPLAIN, but don't
        overwrite lex->result, because it might be needed to issue execute-time
        errors (select_dumpvar - too many rows)
      
      sql_show.cc:
      * check grants for SHOW CREATE VIEW here, not in mysql_execute_command
      
      sql_view.cc:
      * use the correct function to check privileges. Old code was doing
        check_access() for thd->security_ctx, which is invoker's sctx,
        not definer's sctx. Hide various view related errors from the invoker.
      
      sql_yacc.yy:
      * initialize lex->select_lex for LOAD, otherwise it'll contain garbage
        data that happen to fail tests with views in --ps (but not otherwise).
      a62e9a83
    • Sergei Golubchik's avatar
      cleanup: misc · 22f1cf92
      Sergei Golubchik authored
      22f1cf92
    • Sergei Golubchik's avatar
      pass the slow logging information in thd->query_plan_flags · dda2e940
      Sergei Golubchik authored
      This solves the following issues:
      
      * unlike lex->m_sql_cmd and lex->sql_command, thd->query_plan_flags
        is not reset in Prepared_statement::execute, it survives
        till the log_slow_statement(), so slow logging behaves correctly in --ps
      
      * using thd->query_plan_flags for both slow_log_filter and
        log_slow_admin_statements means the definition of "admin" statements
        for the slow log is the same no matter how it is filtered out.
      dda2e940
    • Oleksandr Byelkin's avatar
      bc8ae50e
    • Oleksandr Byelkin's avatar
      MDEV-11975: SQLCOM_PREPARE of EXPLAIN & ANALYZE statement do not return correct metadata info · 83123412
      Oleksandr Byelkin authored
      Added metadate info after prepare EXPLAIN/ANALYZE.
      83123412
    • Oleksandr Byelkin's avatar
      MDEV-11966: Impossible to execute prepared ANALYZE SELECT · 01c49e66
      Oleksandr Byelkin authored
      Prepare os ANALYZE now respond as EXPLAIN.
      01c49e66
    • Marko Mäkelä's avatar
      MDEV-18749: Fix GCC -flifetime-dse · 32de60bb
      Marko Mäkelä authored
      row_merge_create_fts_sort_index(): Initialize dict_col_t in
      an unambiguous way. GCC 6 and later appear to be able to optimize
      away the memset() that is part of mem_heap_zalloc() in the
      placement new call. Let us avoid using placement new in order
      to ensure that the objects will actually be initialized.
      
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71388
      
      https://gcc.gnu.org/ml/gcc/2016-02/msg00207.html
      
      While the latter reference hints that the optimization is only
      applicable to non-POD types (and dict_col_t does not define
      any member functions before 10.2), it is most consistent to
      use the same initialization across all versions.
      32de60bb
  6. 11 Mar, 2019 4 commits
  7. 09 Mar, 2019 6 commits
  8. 08 Mar, 2019 2 commits
  9. 07 Mar, 2019 5 commits
  10. 06 Mar, 2019 1 commit
    • Sergei Golubchik's avatar
      ASAN loves stack, give it some · 84645366
      Sergei Golubchik authored
      fixes these test failures in ASAN builds (in 10.1 and 10.4):
      * main.signal_demo3
      * main.sp
      * sys_vars.max_sp_recursion_depth_func
      * mroonga/storage.foreign_key_delete_existent
      * mroonga/storage.foreign_key_delete_nonexistent
      * mroonga/storage.foreign_key_insert_existent
      * mroonga/storage.foreign_key_update_existent
      * mroonga/storage.foreign_key_update_nonexistent
      * mroonga/storage.function_command_auto-escape
      * mroonga/storage.function_command_select
      * mroonga/storage.variable_enable_operations_recording_insert
      84645366