1. 06 Oct, 2011 1 commit
    • Magne Mahre's avatar
      Bug#12912112 MYSQL_CLIENT_TEST FAILS ON TEST_TRUNCATION · 68147625
      Magne Mahre authored
             
      Sun Studio 12 has an error when calculating the compile-time 
      length of a constant character string.  The error is only 
      present when building an optimized 32-bits version, using 
      the -xbuiltin=(%all) compiler flag. 
             
      During compilation, the compiler recognizes the use of 
      the strlen() function used on a constant string. It 
      optimizes the strlen and replaces it with the actual 
      length of the string.   This optimization seems to 
      calculate the length wrongly in this particular case. 
             
      Replacing the "const char *" with a "const char []" 
      solves the problem. 
      68147625
  2. 05 Oct, 2011 12 commits
    • Bjorn Munch's avatar
      null upmerge · 52c5c4ad
      Bjorn Munch authored
      52c5c4ad
    • Bjorn Munch's avatar
      merge 5.5-mtr => 5.5 · 2aca5a8d
      Bjorn Munch authored
      2aca5a8d
    • Bjorn Munch's avatar
      merge 5.1-mtr => 5.1 · b84202db
      Bjorn Munch authored
      b84202db
    • Bjorn Munch's avatar
      Silly mistake in gdb output: replaced print with resfile_print, · 83f3aa14
      Bjorn Munch authored
      but the latter only takes one argument, duh!
      Fixed by concatenating the args (replace , with .)
      83f3aa14
    • Bjorn Munch's avatar
      Bug #12844282 62075: MTR TESTS SHOULD NOT HAVE TO SAVE & RESET INNODB_FILE_FORMAT_CHECK · dc265dc4
      Bjorn Munch authored
        This is a redo for 5.5
        Added 'innodb_file_format_max' as variable to ignore change to.
        Tests that had to restore this amended
        Two tests assumed it to be Antelope, make sure these run on a freshly
          started server
      dc265dc4
    • Sergey Glukhov's avatar
      automerge · 59c9d8e6
      Sergey Glukhov authored
      59c9d8e6
    • Sergey Glukhov's avatar
      automerge · 7b3cc8ee
      Sergey Glukhov authored
      7b3cc8ee
    • Sergey Glukhov's avatar
      automerge · 44145ce6
      Sergey Glukhov authored
      44145ce6
    • Sergey Glukhov's avatar
      5.1 -> 5.5 merge · 7141bada
      Sergey Glukhov authored
      7141bada
    • Sergey Glukhov's avatar
      Bug#11747970 34660: CRASH WHEN FEDERATED TABLE LOSES CONNECTION DURING INSERT ... SELECT · 14dc91ff
      Sergey Glukhov authored
      Problematic query:
      insert ignore into `t1_federated` (`c1`) select `c1` from  `t1_local` a
      where not exists (select 1 from `t1_federated` b where a.c1 = b.c1);
      When this query is killed in another connection it could lead to crash.
      The problem is follwing:
      An attempt to obtain table statistics for subselect table in killed query
      fails with an error. So JOIN::optimize() for subquery is failed but
      it does not prevent further subquery evaluation.
      At the first subquery execution JOIN::optimize() is called
      (see subselect_single_select_engine::exec()) and fails with
      an error. 'executed' flag is set to TRUE and it prevents
      further subquery evaluation. At the second call
      JOIN::optimize() does not happen as 'JOIN::optimized' is TRUE
      and in case of uncacheable subquery the 'executed' flag is set
      to FALSE before subquery evaluation. So we loose 'optimize stage'
      error indication (see subselect_single_select_engine::exec()).
      In other words 'executed' flag is used for two purposes, for
      error indication at JOIN::optimize() stage and for an
      indication of subquery execution. And it seems it's wrong
      as the flag could be reset.
      
      
      mysql-test/r/error_simulation.result:
        test case
      mysql-test/t/error_simulation.test:
        test case
      sql/item_subselect.cc:
        added new flag subselect_single_select_engine::optimize_error
        which is used for error detection which could happen at optimize
        stage.
      sql/item_subselect.h:
        added new flag subselect_single_select_engine::optimize_error
      sql/sql_select.cc:
        test case
      14dc91ff
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 99b36fe6
      Marko Mäkelä authored
      99b36fe6
    • Marko Mäkelä's avatar
      Add InnoDB UNIV_SYNC_DEBUG assertions to rw-lock code. · 16c91952
      Marko Mäkelä authored
      rw_lock_x_lock_func(): Assert that the thread is not already holding
      the lock in a conflicting mode (RW_LOCK_SHARED).
      
      rw_lock_s_lock_func(): Assert that the thread is not already holding
      the lock in a conflicting mode (RW_LOCK_EX).
      16c91952
  3. 04 Oct, 2011 11 commits
  4. 03 Oct, 2011 4 commits
  5. 30 Sep, 2011 4 commits
  6. 29 Sep, 2011 7 commits
    • Rafal Somla's avatar
      Bug#12982926 CLIENT CAN OVERRIDE ZERO-LENGTH-ALLOCATE BUFFER · 546cea3f
      Rafal Somla authored
      Changes in client plugin needed for testing the issue (test instrumentation).
      546cea3f
    • Marko Mäkelä's avatar
      Update the German error message translations (by Stefan Hinz) · 0c775ea9
      Marko Mäkelä authored
      and fix some Swedish too.
      0c775ea9
    • Andrei Elkin's avatar
      Bug#11747416 : 32228 A disk full makes binary log corrupt · 593c9457
      Andrei Elkin authored
      Binary log of master can get a partially logged event if the server
      runs out of disk space and, while waiting for some space to be freed,
      is shut down (or crashes). If the server is not stopped, it will just
      wait endlessly for space to be freed, thus no partial event anomaly
      occurs.  The restarted master server has had a dubious policy to send
      the incomplete event to slave which it apparently can't handle.
      Although an error was printed out the fact of sending with unclear
      error message is a source of confusion.
      Actually the problem of presence an incomplete event in the binary log
      was already fixed by WL 5493 (which was merged to our current trunk
      branch, major version 5.6). The fix makes the server truncate the
      binary log on server restart and recovery.
      
      However 5.5 master can't do that. So the current issue is a problem of
      sending incomplete events to the slave by 5.5 master.
      
      It is fixed in this patch by changing the policy so that only complete
      events are pushed by the dump thread to the IO thread. In addition,
      the error text that master sends to the slave when an incomplete event
      is found, now states that incomplete event may have been caused by an
      out-of-disk space situation and provides coordinates of
      the first and the last event bytes read.
      
      
      mysql-test/std_data/bug11747416_32228_binlog.000001:
        a binlog is added with the last event written partly.
      mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result:
        new result file is added.
      mysql-test/suite/rpl/r/rpl_log_pos.result:
        results updated.
      mysql-test/suite/rpl/r/rpl_manual_change_index_file.result:
        results updated.
      mysql-test/suite/rpl/r/rpl_packet.result:
        results updated.
      mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test:
        regression test for bug#11747416 : 32228 A disk full makes binary log corrupt
        is added.
      sql/share/errmsg-utf8.txt:
        Increasing the explanatory part of ER_MASTER_FATAL_ERROR_READING_BINLOG error message twice
        in order to fit to the updated version which carries some more info.
      sql/sql_repl.cc:
        Error text indicating a failure of reading from binlog that master delivers to the slave 
        is made more clear;
        A policy to regard a partial event to send it out to the slave anyway is removed.
      593c9457
    • Bjorn Munch's avatar
      5aa1d312
    • Bjorn Munch's avatar
      4d0da67a
    • Rohit Kalhans's avatar
      BUG#11758262 - 50439: MARK INSERT...SEL...ON DUP KEY UPD,REPLACE...SEL,CREATE...[IGN|REPL] SEL · 586c0c0e
      Rohit Kalhans authored
      Problem: The following statements can cause the slave to go out of sync 
      if logged in statement format: 
      INSERT IGNORE...SELECT 
      INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 
      REPLACE ... SELECT 
      UPDATE IGNORE :
      CREATE ... IGNORE SELECT 
      CREATE ... REPLACE SELECT  
                 
      Background: Since the order of the rows returned by the SELECT 
      statement or otherwise may differ on master and slave, therefore
      the above statements may cuase the salve to go out of sync with
      the master. 
            
      Fix:
      Issue a warning when statements like the above are exectued and 
      the bin-logging format is statement. If the logging format is mixed,
      use row based logging. Marking a statement as unsafe has been 
      done in the sql/sql_parse.cc instead of sql/sql_yacc.cc, because while
      parsing for a token has been done we cannot be sure if the parsing
      of the other tokens has been done as well.
            
      Six new warning  messages has been added for each unsafe statement. 
            
      binlog.binlog_unsafe.test has been updated to incoporate these additional unsafe statments.
      
      
      ******
      BUG#11758262 - 50439: MARK INSERT...SEL...ON DUP KEY UPD,REPLACE...SEL,CREATE...[IGN|REPL] SEL 
      Problem: The following statements can cause the slave to go out of sync 
      if logged in statement format: 
      INSERT IGNORE...SELECT 
      INSERT ... SELECT ... ON DUPLICATE KEY UPDATE 
      REPLACE ... SELECT 
      UPDATE IGNORE :
      CREATE ... IGNORE SELECT 
      CREATE ... REPLACE SELECT  
                 
      Background: Since the order of the rows returned by the SELECT 
      statement or otherwise may differ on master and slave, therefore
      the above statements may cuase the salve to go out of sync with
      the master. 
            
      Fix:
      Issue a warning when statements like the above are exectued and 
      the bin-logging format is statement. If the logging format is mixed,
      use row based logging. Marking a statement as unsafe has been 
      done in the sql/sql_parse.cc instead of sql/sql_yacc.cc, because while
      parsing for a token has been done we cannot be sure if the parsing
      of the other tokens has been done as well.
            
      Six new warning  messages has been added for each unsafe statement. 
            
      binlog.binlog_unsafe.test has been updated to incoporate these additional unsafe statments.
      
      
      
      mysql-test/extra/rpl_tests/rpl_insert_duplicate.test:
        Test removed: Added the test to rpl.rpl_insert_ignore.test
        
        
        
        ******
        Test removed: the test is redundant as the same is being tested in rpl.rpl_insert_ignore.
      mysql-test/extra/rpl_tests/rpl_insert_id.test:
        Warnings disabled for the unsafe statements.
      mysql-test/extra/rpl_tests/rpl_insert_ignore.test:
        1. Disabled warnings while  for unsafe statements
        2. As INSERT...IGNORE is an unsafe statement, an insert ignore not changing any rows, 
        will not be logged in the binary log, in the ROW and MIXED modes. It will however be logged
        in STATEMENT mode.
      mysql-test/r/commit_1innodb.result:
        updated result file
        
        
        
        ******
        updated result file
      mysql-test/suite/binlog/r/binlog_stm_blackhole.result:
        Updated result file.
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        updated result file
      mysql-test/suite/binlog/t/binlog_unsafe.test:
         added tests for the statements marked as unsafe.
      mysql-test/suite/rpl/r/rpl_insert_duplicate.result:
        File Removed :Result file of rpl_insert_duplicate, which has been removed.
      mysql-test/suite/rpl/r/rpl_insert_ignore.result:
        Added the content of rpl.rpl_insert_duplicate here.
      mysql-test/suite/rpl/r/rpl_insert_select.result:
        Result file removed as the corresponding test has beenn removed.
      mysql-test/suite/rpl/r/rpl_known_bugs_detection.result:
        Updated result file.
      mysql-test/suite/rpl/t/rpl_insert_duplicate.test:
        File Removed: this was a wrapper for rpl.rpl_insert_duplicate.test, which has been removed.
      mysql-test/suite/rpl/t/rpl_insert_select.test:
        File Removed: This test became redundant after this fix, This test showed how INSERT IGNORE...SELECT break replication, which has been handled in this fix.
      mysql-test/suite/rpl/t/rpl_known_bugs_detection.test:
        Since all the tests are statement based bugs are being tested, having mixed format
        forces the event to be written in row format. When the statement and causes the
        test to fail as certain known bugs do not occur when the even is logged in row format.
      sql/share/errmsg-utf8.txt:
        added 6 new Warning messages.
        
        
        
        ******
        added 6 new Warning messages.
      sql/sql_lex.cc:
        Added 6 new error Identifier [ER_BINLOG_STMT_UNSAFEE_*]
      sql/sql_lex.h:
        Added 6 new BINLOG_STMT_UNSAFE_* enums to identify the type of unsafe statement dealt with in this bug.
        
        
        ******
        Added 6 new BINLOG_STMT_UNSAFE_* enums to identify the type of unsafe statement dealt with in this bug.
      sql/sql_parse.cc:
        added check for specific queries and marked them as unsafe.
        
        
        ******
        added check for specific queries and marked them as unsafe.
      586c0c0e
    • Bjorn Munch's avatar
      Bug #12373393 PB2 SHOULD ALLOW TO CREATE COLLECTIONS AS SUPER SET OF EXISTING COLLECTIONS · 8da99509
      Bjorn Munch authored
          Let CMake parse files with a ".in" suffix containing includes
          Added default.release.in to replace default.release
          Explained in README
          New patch: replace 'include' with '#include' to avoid accidental matches
      8da99509
  7. 28 Sep, 2011 1 commit