1. 11 Aug, 2009 1 commit
  2. 04 Aug, 2009 3 commits
  3. 31 Jul, 2009 2 commits
    • Sergey Vojtovich's avatar
      83f58d36
    • Davi Arnaut's avatar
      Bug#45017: Failure to connect if hostname maps to multiple addresses · 253945e9
      Davi Arnaut authored
      The problem is that the C API function mysql_real_connect
      only attempts to connect to the first IP address returned
      for a hostname. This can be a problem if a hostname maps
      to multiple IP address and the server is not bound to the
      first one that is returned.
      
      The solution is to augment mysql_real_connect so that it
      attempts to connect to all IPv4 addresses that a domain
      name maps to. The function goes over the list of address
      until a successful connection is established.
      
      No test case is provided as its not possible to test this
      automatically with the current testing infrastructure.
      
      sql-common/client.c:
        The client will try to connect to each IPv4 address from
        the list of addresses that hostname maps to until a successful
        connection is established or there are no more address.
      253945e9
  4. 04 Aug, 2009 1 commit
  5. 03 Aug, 2009 9 commits
  6. 02 Aug, 2009 1 commit
    • Alfranio Correia's avatar
      BUG#43264 Test rpl_trigger is failing randomly w/ use of copy_file in 5.0 · f8d7a710
      Alfranio Correia authored
      The test case fails sporadically on Windows while trying to overwrite an unused
      binary log. The problem stems from the fact that MySQL on Windows does not
      immediately unlock/release a file while the process that opened and closed it is
      still running. In BUG 38603, this issue was circumvented by stopping the MySQL
      process, copying the file and then restarting the MySQL process. 
      
      Unfortunately, such facilities are not available in the 5.0.  Other approaches
      such as stopping the slave and issuing change master do not work because the relay
      log file and index are not closed when a slave is stopped. So to fix the problem,
      we simply don't run on windows the part of the test that was failing.
      f8d7a710
  7. 01 Aug, 2009 1 commit
  8. 31 Jul, 2009 11 commits
    • Jim Winstead's avatar
      Merge fix to test results · fb13ebb2
      Jim Winstead authored
      fb13ebb2
    • Jim Winstead's avatar
      6a8218ad
    • Davi Arnaut's avatar
      Test case clean up: Move test cases that depend on the CSV storage · be05eb4d
      Davi Arnaut authored
      engine to the partition_csv test. Also remove test case that was
      duplicated. Fix connection procedure with the embedded server.
      
      mysql-test/r/partition.result:
        Update test case result.
      mysql-test/r/partition_csv.result:
        Update test case result.
      mysql-test/t/partition.test:
        Move test cases to the partition_csv test.
      mysql-test/t/partition_csv.test:
        Move tests from partition.test and remove duplicate.
        Tweaky connection procedure to work with embedded.
      be05eb4d
    • Ignacio Galarza's avatar
      Auto-merge · c93db24b
      Ignacio Galarza authored
      c93db24b
    • Tatiana A. Nurnberg's avatar
      auto-merge · ef5f4a4e
      Tatiana A. Nurnberg authored
      ef5f4a4e
    • Ignacio Galarza's avatar
      Auto-merge · 2567f49e
      Ignacio Galarza authored
      2567f49e
    • Ignacio Galarza's avatar
      Bug#17270 - mysql client tool could not find ../share/charsets folder and fails. · 286e9e40
      Ignacio Galarza authored
      - Define and pass compile time path variables as pre-processor definitions to 
        mimic the makefile build.
      - Set new CMake version and policy requirements explicitly.
      - Changed DATADIR to MYSQL_DATADIR to avoid conflicting definition in 
        Platform SDK header ObjIdl.h which also defines DATADIR.
      286e9e40
    • Gleb Shchepa's avatar
      Bug# 30946: mysqldump silently ignores --default-character-set · 1b538291
      Gleb Shchepa authored
                  when used with --tab
      
      1) New syntax: added CHARACTER SET clause to the
        SELECT ... INTO OUTFILE (to complement the same clause in
        LOAD DATA INFILE).
        mysqldump is updated to use this in --tab mode.
      
      2) ESCAPED BY/ENCLOSED BY field parameters are documented as
         accepting CHAR argument, however SELECT .. INTO OUTFILE
         silently ignored rests of multisymbol arguments.
         For the symmetrical behavior with LOAD DATA INFILE the
         server has been modified to fail with the same error:
      
           ERROR 42000: Field separator argument is not what is
                        expected; check the manual
      
      3) Current LOAD DATA INFILE recognizes field/line separators
         "as is" without converting from client charset to data
         file charset. So, it is supposed, that input file of
         LOAD DATA INFILE consists of data in one charset and
         separators in other charset. For the compatibility with
         that [buggy] behaviour SELECT INTO OUTFILE implementation
         has been saved "as is" too, but the new warning message
         has been added:
      
           Non-ASCII separator arguments are not fully supported
      
         This message warns on field/line separators that contain
         non-ASCII symbols.
      
      
      client/mysqldump.c:
        mysqldump has been updated to call SELECT ... INTO OUTFILE
        statement with a charset from the --default-charset command
        line parameter.
      mysql-test/r/mysqldump.result:
        Added test case for bug #30946.
      mysql-test/r/outfile_loaddata.result:
        Added test case for bug #30946.
      mysql-test/t/mysqldump.test:
        Added test case for bug #30946.
      mysql-test/t/outfile_loaddata.test:
        Added test case for bug #30946.
      sql/field.cc:
        String conversion code has been moved from check_string_copy_error()
        to convert_to_printable() for reuse.
      sql/share/errmsg.txt:
        New WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED message has been added.
      sql/sql_class.cc:
        The select_export::prepare() method has been modified to:
        
          1) raise the ER_WRONG_FIELD_TERMINATORS error on multisymbol
             ENCLOSED BY/ESCAPED BY field arguments like LOAD DATA INFILE;
        
          2) warn with a new WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED
             message on non-ASCII field or line separators.
        
        The select_export::send_data() merhod has been modified to
        convert item data to output charset (see new SELECT INTO OUTFILE
        syntax). By default the BINARY charset is used for backward
        compatibility.
      sql/sql_class.h:
        The select_export::write_cs field added to keep output
        charset.
      sql/sql_load.cc:
        mysql_load has been modified to warn on non-ASCII field or
        line separators with a new WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED
        message.
      sql/sql_string.cc:
        New global function has been added: convert_to_printable()
        (common code has been moved from check_string_copy_error()).
      sql/sql_string.h:
        New String::is_ascii() method and new global convert_to_printable()
        function have been added.
      sql/sql_yacc.yy:
        New syntax: added CHARACTER SET clause to the
        SELECT ... INTO OUTFILE (to complement the same clause in
        LOAD DATA INFILE). By default the BINARY charset is used for
        backward compatibility.
      1b538291
    • Davi Arnaut's avatar
      Bug#46265: Can not disable warning about unsafe statements for binary logging · ad1c06b0
      Davi Arnaut authored
      If using statement based replication (SBR), repeatedly calling
      statements which are unsafe for SBR will cause a warning message
      to be written to the error for each statement. This might lead
      to filling up the error log and there is no way to disable this
      behavior.
      
      The solution is to only log these message (about statements unsafe
      for statement based replication) if the log_warnings option is set.
      
      For example:
      
      SET GLOBAL LOG_WARNINGS = 0;
      INSERT INTO t1 VALUES(UUID());
      SET GLOBAL LOG_WARNINGS = 1;
      INSERT INTO t1 VALUES(UUID());
      
      In this case the message will be printed only once:
      
      [Warning] Statement may not be safe to log in statement format.
                Statement: INSERT INTO t1 VALUES(UUID())
      
      mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result:
        Add test case result for Bug#46265
      mysql-test/suite/binlog/t/binlog_stm_unsafe_warning-master.opt:
        Make log_error value available.
      mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test:
        Add test case for Bug#46265
      sql/sql_class.cc:
        Print warning only if the log_warnings is enabled.
      ad1c06b0
    • Tatiana A. Nurnberg's avatar
      Bug#40281, partitioning the general log table crashes the server · bba587cd
      Tatiana A. Nurnberg authored
      We disallow the partitioning of a log table. You could however
      partition a table first, and then point logging to it. This is
      not only against the docs, it also crashes the server.
      
      We catch this case now.
      
      mysql-test/r/partition.result:
        results for 40281
      mysql-test/t/partition.test:
        test for 40281: show that trying to log to partitioned table fails rather
        to crash the server
      sql/ha_partition.cc:
        Signal that we no longer support logging to partitioned tables,
        as per the docs.
      sql/sql_partition.cc:
        Some commands like "USE ..." have no select, yet we may try
        to parse partition info after their execution if user set a
        partitioned table as log target. This shouldn't lead to a
        NULL-deref/crash.
      bba587cd
    • Jim Winstead's avatar
      Merge bug fix. · 89077ec0
      Jim Winstead authored
      89077ec0
  9. 30 Jul, 2009 1 commit
    • Davi Arnaut's avatar
      Bug#43435: LOCK_open does not use MY_MUTEX_INIT_FAST · b8122e8c
      Davi Arnaut authored
      Initialize LOCK_open as a adapative mutex on platforms where the
      PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP macro is available. The flag
      indicates that a thread should spin (busy wait) for some time on a
      locked adaptive mutex before blocking (sleeping). It's intended to
      to alleviate performance problems due to LOCK_open being a highly
      contended mutex.
      
      sql/mysqld.cc:
        Initialize LOCK_open as a adapative mutex.
      b8122e8c
  10. 31 Jul, 2009 1 commit
  11. 30 Jul, 2009 9 commits
    • Matthias Leich's avatar
    • Matthias Leich's avatar
      8e410185
    • Davi Arnaut's avatar
      Manual merge. · 652413a8
      Davi Arnaut authored
      652413a8
    • Joerg Bruehe's avatar
      Merge the fix for bug#42213 up into 5.1-build: · 44e823ab
      Joerg Bruehe authored
         Check for "stack overrun" doesn't work, server crashes
      44e823ab
    • Joerg Bruehe's avatar
      Merge the fix for bug#42213 into 5.0-build. · bdf6ecc4
      Joerg Bruehe authored
      bdf6ecc4
    • Matthias Leich's avatar
      4ef7ee02
    • Matthias Leich's avatar
      Merge 5.0 -> 5.1 of fix for bug 44493 · f2eb8490
      Matthias Leich authored
      f2eb8490
    • Matthias Leich's avatar
      Merge of fix for bug 44493 into GCA tree · a800612b
      Matthias Leich authored
      a800612b
    • Joerg Bruehe's avatar
      Our autoconf function "MYSQL_STACK_DIRECTION" will not work · 53b114c2
      Joerg Bruehe authored
      correctly if the compiler optimizes too clever.
      
      This has happaned on HP-UX 11.23 (IA64) at optimization
      level "+O2", causing bug#42213:
         Check for "stack overrun" doesn't work, server crashes
      
      Fix it by adding a pragma that prevents this optimization.
      As a result, it should be safe to use "+O2" on this platform
      (unless there is some other, optimizer-related, bug which
      is just currently masked because we use resudec optimization).
      
      
      config/ac-macros/misc.m4:
        Our autoconf function "MYSQL_STACK_DIRECTION" is meant to
        determine whether the stack grows towards higher or towards
        lower addresses.
        It does this by comparing the addresses of a variable
        (which is local to a recursive function) on different
        nesting levels.
        
        This approach requires that the function is really
        implemented as a recursive function, with each nested call
        allocating a new stack frame containing the local variable.
        If, however, the compiler is optimizing so clever that the
        recursive function is implemented by a loop, then this
        test will not produce correct results.
        
        This has happened on HP-UX 11.23 (IA64) when HP's compiler
        was called with optimization "+O2" (not with "+O1"),
        reported as bug#42213.
        
        Rather than starting a race with the compiler and making
        the function so complicated that this optimization does
        not happen, the idea is to prevent the optimization
        by adding a pragma. For HP, this is "#pragma noinline".
        
        If we encounter other compilers which also optimize
        too clever, we may add their pragmas here.
        
        It is a debatable issue whether such pragmas should be
        guarded by conditional compiling or not, the reviewers
        voted to do it.
        It seems HP has different compilers, "ANSI C" and "aCC",
        on the affected platform "__HP_cc" ("ANSI C") is predefined.
        To be on the safe side, the pragma will also take effect
        if HP's "aCC" compiler is used, or any other compiler on HP-UX.
      53b114c2