1. 19 Apr, 2018 6 commits
  2. 16 Apr, 2018 1 commit
  3. 13 Apr, 2018 1 commit
    • Daniel Black's avatar
      defaults-group-suffix in print_defaults · 88ac368f
      Daniel Black authored
      Also clarify which --{no-,}default* options, must be first.
      
      Sample output:
      $  client/mysql --help
      client/mysql  Ver 15.1 Distrib 5.5.59-MariaDB, for Linux (x86_64) using readline 5.1
      Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
      
      Usage: client/mysql [OPTIONS] [database]
      
      Default options are read from the following files in the given order:
      /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
      The following groups are read: mysql client client-server client-mariadb
      The following options may be given as the first argument:
      --print-defaults          Print the program argument list and exit.
      --no-defaults             Don't read default options from any option file.
      The following specify which files/groups are read (specified before other options):
      --defaults-file=#         Only read default options from the given file #.
      --defaults-extra-file=#   Read this file after the global files are read.
      --defaults-group-suffix=# Additionally read default groups with # appended as a suffix.
      
      tests running from build directory:
      TEST: print defaults ignored as not first
      $ sql/mysqld  --no-defaults --print-defaults --lc-messages-dir=${PWD}/sql/share
      
      TEST: no startup occurs as --print-defaults specified
      $ sql/mysqld  --print-defaults --lc-messages-dir=${PWD}/sql/share
      sql/mysqld would have been started with the following arguments:
      --lc-messages-dir=/home/dan/repos/build-mariadb-5.5/sql/share
      
      TEST: default args can't be anywhere
      $ client/mysql --user=bob  --defaults-file=/etc/my.cnf
      client/mysql: unknown variable 'defaults-file=/etc/my.cnf'
      $ client/mysql --user=bob  --defaults-group-suffix=.group
      client/mysql: unknown variable 'defaults-group-suffix=.group'
      
      /etc/my.cnf:
      [client-server.group]
      socket=/var/lib/mysql-multi/group/mysqld.sock
      user=bob
      
      /etc/my.other.cnf:
      socket=/var/lib/mysql-other/mysqld.sock
      
      TEST: defaults file read and suffix also applied
      $  client/mysql  --defaults-file=/etc/my.other.cnf  --defaults-group-suffix=.group
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql-other/mysqld.sock' (2)
      
      TEST: defaults extra file
      $ client/mysql  --defaults-extra-file=/etc/my.other.cnf  --defaults-group-suffix=.group
      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql-other/mysqld.sock' (2)
      88ac368f
  4. 08 Apr, 2018 1 commit
  5. 07 Apr, 2018 1 commit
  6. 04 Apr, 2018 1 commit
  7. 03 Apr, 2018 3 commits
  8. 27 Mar, 2018 2 commits
  9. 21 Mar, 2018 3 commits
  10. 20 Mar, 2018 2 commits
  11. 19 Mar, 2018 1 commit
    • Eugene Kosov's avatar
      MDEV-15030 Add ASAN instrumentation · 75c76dbb
      Eugene Kosov authored
      Learn both valgrind and asan to catch this bug:
      
        mem_heap_t* heap = mem_heap_create(1024);
        byte* p = reinterpret_cast<byte*>(heap) + sizeof(mem_heap_t);
        *p = 123;
      
      Overflows of the last allocation in a block will be catched too.
      
      mem_heap_create_block(): poison newly allocated memory
      75c76dbb
  12. 14 Mar, 2018 1 commit
  13. 11 Mar, 2018 1 commit
  14. 26 Feb, 2018 1 commit
    • Nisha Gopalakrishnan's avatar
      BUG#27216817: INNODB: FAILING ASSERTION: · c0b4d74b
      Nisha Gopalakrishnan authored
                    PREBUILT->TABLE->N_MYSQL_HANDLES_OPENED == 1
      
      ANALYSIS:
      =========
      
      Adding unique index to a InnoDB table which is locked as
      mutliple instances may trigger an InnoDB assert.
      
      When we add a primary key or an unique index, we need to
      drop the original table and rebuild all indexes. InnoDB
      expects that only the instance of the table that is being
      rebuilt, is open during the process. In the current
      scenario we have opened multiple instances of the table.
      This triggers an assert during table rebuild.
      'Locked_tables_list' encapsulates a list of all
      instances of tables locked by LOCK TABLES statement.
      
      FIX:
      ===
      We are now temporarily closing all the instances of the
      table except the one which is being altered and later
      reopen them via Locked_tables_list::reopen_tables().
      c0b4d74b
  15. 24 Feb, 2018 1 commit
  16. 23 Feb, 2018 1 commit
  17. 15 Feb, 2018 1 commit
  18. 14 Feb, 2018 3 commits
  19. 12 Feb, 2018 1 commit
    • Arun Kuruvila's avatar
      Bug#25471090: MYSQL USE AFTER FREE · e4784703
      Arun Kuruvila authored
      Description:- Mysql client crashes when trying to connect
      to a fake server which is sending incorrect packets.
      
      Analysis:- Mysql client crashes when it tries to read
      server version details.
      
      Fix:- A check is added in "red_one_row()".
      e4784703
  20. 11 Feb, 2018 2 commits
  21. 09 Feb, 2018 1 commit
    • Pavan Naik's avatar
      BUG#27448061: MYSQLD--DEFAULTS-FILE TEST FAILS FOR NDB RELEASES · e585decb
      Pavan Naik authored
                    PREVIOUS TO MYSQL 8.0
      
      Description :
      -------------
      The mysqld--defaults-file test fails when the test suite is run from a
      non-canonical path, which happens when the current working directory
      when mysql-test-run.pl is started contains a symbolic link.
      
      The problem is that this test case uses --replace-result with
      $MYSQL_TEST_DIR. This variable is a potentially non-canonical path
      based on the current working directory when mtr is started. However,
      the path in the expected error message from mysqld contains a
      canonical path. This means it does not contain $MYSQL_TEST_DIR if
      mtr's working directory is not the canonical path of the working
      directory.
      
      Because other tests produce output that may contain non-canonical
      paths, making $MYSQL_TEST_DIR always canonical is not a fix.
      
      Fix :
      -----
      Introduced a new environment variable '$ABS_MYSQL_TEST_DIR' which will
      contin the canonical path to the test directory and replaced
      $MYSQL_TEST_DIR with the new variable in main.mysqld--defaults-file
      test file.
      
      This is a back-port of BUG#24579973.
      
      Change-Id: I3b8df6f2d7ce2b04e188a896d76250cc1addbbc1
      e585decb
  22. 02 Feb, 2018 1 commit
    • Joao Gramacho's avatar
      BUG#24365972 BINLOG DECODING ISN'T RESILIENT TO CORRUPT BINLOG FILES · 3fb2f8db
      Joao Gramacho authored
      Problem
      =======
      
      When facing decoding of corrupt binary log files, server may misbehave
      without detecting the events corruption.
      
      This patch makes MySQL server more resilient to binary log decoding.
      
      Fixes for events de-serialization and apply
      ===========================================
      
      @sql/log_event.cc
      
      Query_log_event::Query_log_event: added a check to ensure query length
      is respecting event buffer limits.
      
      Query_log_event::do_apply_event: extended a debug print, added a check
      to character set to determine if it is "parseable" or not, verified if
      database name is valid for system collation.
      
      Start_log_event_v3::do_apply_event: report an error on applying a
      non-supported binary log version.
      
      Load_log_event::copy_log_event: added a check to table_name length.
      
      User_var_log_event::User_var_log_event: added checks to avoid reading
      out of buffer limits.
      
      User_var_log_event::do_apply_event: reported an sanity check error
      properly and added individual sanity checks for variable types that
      expect fixed (or minimum) amount of bytes to be read.
      
      Rows_log_event::Rows_log_event: added checks to avoid reading out of
      buffer limits.
      
      @sql/log_event_old.cc
      
      Old_rows_log_event::Old_rows_log_event: added a sanity check to avoid
      reading out of buffer limits.
      
      @sql/sql_priv.h
      
      Added a sanity check to available_buffer() function.
      3fb2f8db
  23. 30 Jan, 2018 3 commits
  24. 29 Jan, 2018 1 commit
    • Marko Mäkelä's avatar
      Do not SET DEBUG_DBUG=-d,... in tests · 547ec8ce
      Marko Mäkelä authored
      To disable debug instrumentation, save and restore the original value
      of the variable DEBUG_DBUG. Assigning -d,... will enable the output of
      a lot of unrelated DBUG messages to the server error log.
      547ec8ce