1. 21 Nov, 2009 1 commit
    • He Zhenxing's avatar
      BUG#37148 Most callers of mysql_bin_log.write ignore the return result · dd383cad
      He Zhenxing authored
      This is the non-ndb part of the patch.
      
      The return value of mysql_bin_log.write was ignored by most callers,
      which may lead to inconsistent on master and slave if the transaction
      was committed while the binlog was not correctly written. If
      my_error() is call in mysql_bin_log.write, this could also lead to
      assertion issue if my_ok() or my_error() is called after.
      
      This fixed the problem by let the caller to check and handle the
      return value of mysql_bin_log.write. This patch only adresses the
      simple cases.
      
      
      mysql-test/include/binlog_inject_error.inc:
        inject binlog write error when doing a query
      mysql-test/suite/binlog/t/binlog_write_error.test:
        Simple test case to check if proper error is reported when injecting binlog write errors.
      sql/events.cc:
        check return value of mysql_bin_log.write
      sql/log.cc:
        check return value of mysql_bin_log.write
      sql/log_event.cc:
        check return value of mysql_bin_log.write
      sql/log_event_old.cc:
        check return value of mysql_bin_log.write
      sql/mysql_priv.h:
        Change write_bin_log to return int instead of void
      sql/rpl_injector.cc:
        check return value of writing binlog
      sql/sp.cc:
        check return value of writing binlog
      sql/sp_head.cc:
        return 1 if writing binlog failed
      sql/sql_acl.cc:
        check return value of writing binlog
      sql/sql_base.cc:
        check return value of writing binlog
      sql/sql_class.h:
        Change binlog_show_create_table to return int
      sql/sql_db.cc:
        Change write_to_binlog to return int
        check return value of writing binlog
      sql/sql_delete.cc:
        check return value of writing binlog
      sql/sql_insert.cc:
        check return value of writing binlog
      sql/sql_load.cc:
        check return value of writing binlog
      sql/sql_parse.cc:
        check return value of writing binlog
      sql/sql_partition.cc:
        check return value of writing binlog
      sql/sql_rename.cc:
        check return value of writing binlog
      sql/sql_repl.cc:
        check return value of writing binlog
      sql/sql_table.cc:
        Change write_bin_log to return int, and return 1 if there was error writing binlog
      sql/sql_tablespace.cc:
        check return value of writing binlog
      sql/sql_trigger.cc:
        check return value of writing binlog
      sql/sql_udf.cc:
        check return value of writing binlog
      sql/sql_update.cc:
        check return value of writing binlog
      sql/sql_view.cc:
        check return value of writing binlog
      dd383cad
  2. 18 Nov, 2009 1 commit
    • Guilhem Bichot's avatar
      Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same... · 27fca0ab
      Guilhem Bichot authored
      Backport of the fix for BUG#40368 "mysqld_safe not honouring underscore same as dash on server options" from 6.0
      (revision-id:guilhem@mysql.com-20090505113602-l12kxupeatve18dh).
      Such bug led "mysqld_safe --core_file_size=#" to not work because mysqld_safe wouldn't recognize
      that "ulimit -c" is needed; only --core-file-size=# worked. Same for --open_files_limit and other
      options with _ where mysqld_safe needs to do something more than passing to mysqld.
      Original fix by Erik Ljungstrom erik at ibiblio dot org ; slightly modified here.
      Tested on all internally accessible Unix.
      27fca0ab
  3. 17 Nov, 2009 3 commits
  4. 15 Nov, 2009 1 commit
  5. 12 Nov, 2009 10 commits
  6. 11 Nov, 2009 5 commits
  7. 10 Nov, 2009 5 commits
    • Alexey Botchkov's avatar
      Bug #47139 Test "merge" crashes in "embedded" run · c868e89f
      Alexey Botchkov authored
        In fact this crashes in normal (not embedded) run also.
        The problem is in the memory mapping. Handling the ha_myisammrg::extra(MMAP)
        the MERGE engine tries to mmap all the tables it unites.
        Though some can be empty and then in the mi_dynmap_file()
        we call the my_mmap(0). Normally this call returns MAP_FAILED,
        but not on FreeBSD. There it returns like a 'normal' value,
        and after the consequitive munmap systems gets unstable and
        crashes on some system call later.
      
      per-file comments:
        storage/myisam/mi_dynrec.c
      Bug #47139      Test "merge" crashes in "embedded" run
          don't try to mmap zero-length area, just return at once.
      c868e89f
    • Alexey Botchkov's avatar
      Bug#42520 killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8 · 6388a132
      Alexey Botchkov authored
         The additional patch. That 'loadxml.test' failure was actually about our testing system,
         not the code.
         Firstly we need a new mysqltest command, wich i called 'send_eval'. So the expression
         can be evaluated, then started in a parallel thread. We only have separane 'send' and
         'eval' commands at the moment.
         Then we need to add the waiting code after the 'KILL' to our test, so the thread will be killed
         before the test goes further. The present 'reap' command doesn't handle the killed threads
         well.
            
      per-file comments:
        client/mysqltest.cc
      Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
          The 'send_eval' command implemented.
      
        mysql-test/r/loadxml.result
      Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
         test result updated.
      
        mysql-test/t/loadxml.test
      Bug#42520      killing load .. infile Assertion failed: ! is_set(), file .\sql_error.cc, line 8
         test case added.
      6388a132
    • Alexander Nozdrin's avatar
      Fix build failure. · ad6883c4
      Alexander Nozdrin authored
      ad6883c4
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr-alik. · ecd60471
      Alexander Nozdrin authored
      ecd60471
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-next-mr. · b712dce3
      Alexander Nozdrin authored
      b712dce3
  8. 09 Nov, 2009 8 commits
    • Alexander Nozdrin's avatar
      Fix manual-merge (2nd attempt). · 49bb8cba
      Alexander Nozdrin authored
      49bb8cba
    • Alexander Nozdrin's avatar
      Auto-merge from mysql-trunk-merge. · a15de184
      Alexander Nozdrin authored
      a15de184
    • Alexander Nozdrin's avatar
      Fix manual-merge. · 831c8434
      Alexander Nozdrin authored
      831c8434
    • Alexander Nozdrin's avatar
      Fix innodb.test due to Bug#48636. · fae99a38
      Alexander Nozdrin authored
      fae99a38
    • Alexander Barkov's avatar
      725f93fa
    • Alexander Barkov's avatar
      # · f3d89b2a
      Alexander Barkov authored
      # Bug#24690 Stored functions: RETURNing UTF8 strings
      # do not return UTF8_UNICODE_CI collation
      #
      # Bug#17903: cast to char results in binary
      # Regression. The character set was not being properly initialized
      # for CAST() with a type like CHAR(2) BINARY, which resulted in
      # incorrect results or even a server crash.
      #
      
      Backporting from mysql-6.0-codebase.
      
      mysql-test/r/sp-ucs2.result:
      mysql-test/t/sp-ucs2.test:
      
        Adding tests
      
      sql/mysql_priv.h:
        Adding prototype
      
      sql/sp.cc
        Remember COLLATE clause for non-default collations
      
      sql/sql_parse.cc
        Adding a new helper function
      
      sql/sql_yacc.yy
        - Allow "CHARACTER SET cs COLLATE cl" in
          SP parameters, RETURNS, DECLARE
        - Minor reorganization for "ASCII" and "UNICODE"
          related rules, to make the code more readable,
          also to allow these aliases:
          * "VARCHAR(10) ASCII BINARY"   -> CHARACTER SET latin1 COLLATE latin1_bin
          * "VARCHAR(10) BINARY ASCII"   -> CHARACTER SET latin1 COLLATE latin1_bin
          * "VARCHAR(10) UNICODE BINARY" -> CHARACTER SET ucs2 COLLATE ucs2_bin
          * "VARCHAR(10) BINARY UNICODE" -> CHARACTER SET ucs2 COLLATE ucs2_bin
          Previously these four aliases returned the error
          "This version of MySQL does not yet support return value collation".
      
      Note:
      
         This patch allows  "VARCHAR(10) CHARACTER SET cs COLLATE cl"
         and the above four aliases.
      
         "VARCHAR(10) COLLATE cl" is still not allowed
         i.e. when COLLATE is given without CHARACTER SET.
         If we want to support this, we need an architecture decision
         which character set to use by default.
      f3d89b2a
    • Alexander Barkov's avatar
    • Alexander Barkov's avatar
      7e8b208d
  9. 06 Nov, 2009 6 commits