1. 30 Sep, 2011 4 commits
  2. 29 Sep, 2011 4 commits
    • Rafal Somla's avatar
      Bug#12982926 CLIENT CAN OVERRIDE ZERO-LENGTH-ALLOCATE BUFFER · f03a55cc
      Rafal Somla authored
      Changes in client plugin needed for testing the issue (test instrumentation).
      f03a55cc
    • Marko Mäkelä's avatar
      Update the German error message translations (by Stefan Hinz) · 4db6d877
      Marko Mäkelä authored
      and fix some Swedish too.
      4db6d877
    • Andrei Elkin's avatar
      Bug#11747416 : 32228 A disk full makes binary log corrupt · b426043b
      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.
      b426043b
    • Rohit Kalhans's avatar
      BUG#11758262 - 50439: MARK INSERT...SEL...ON DUP KEY UPD,REPLACE...SEL,CREATE...[IGN|REPL] SEL · b140784f
      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.
      b140784f
  3. 28 Sep, 2011 2 commits
  4. 27 Sep, 2011 3 commits
  5. 26 Sep, 2011 10 commits
    • Tor Didriksen's avatar
      local merge · 6dbd633b
      Tor Didriksen authored
      6dbd633b
    • Tor Didriksen's avatar
      Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORY · a151d144
      Tor Didriksen authored
      Re-write the test, to make pushbuild green.
      Workaraound for broken pow() function on:
      SunOS tyr40 5.10 Generic_127112-05 i86pc i386 i86pc
      
      (dbx) where
      current thread: t@1
      =>[1] Item_func_pow::val_real(this = 0x238af20) (optimized), at 0xaa8d13 (line ~1980) in "item_func.cc"
      
      (dbx) print pow(1.01, 1.0)
      pow(1.01, 1) = 1.01
      (dbx) print pow(1.01, 10.0)
      pow(1.01, 10) = 1.1046221254112
      (dbx) print pow(1.01, 100.0)
      pow(1.01, 100) = 2.7048138294215
      (dbx) print pow(1.01, 1000.0)
      pow(1.01, 1000) = 20959.155637814
      (dbx) print pow(1.01, 10000.0)
      pow(1.01, 10000) = 1.635828711189e+43
      (dbx) print pow(1.01, 100000.0)
      pow(1.01, 100000) = Infinity
      (dbx) print pow(1.01, 1000000.0)
      pow(1.01, 1000000) = Infinity
      (dbx) print pow(1.01, 10000000.0)
      pow(1.01, 10000000) = Infinity
      (dbx) print pow(1.01, 100000000.0)
      pow(1.01, 100000000) = Infinity
      (dbx) print pow(1.01, 1000000000.0)
      pow(1.01, 1000000000) = 0.0
      (dbx) print pow(1.01, 10000000000.0)
      pow(1.01, 10000000000) = 0.0
      
      (dbx) print value
      value = 1.0111111111111
      (dbx) print val2
      val2 = 8796093022207.0
      
      (dbx) print pow(value, val2)
      pow(value, val2) = 0.0
      
      so it seems pow(1.01, y)
      returns Infinity for large y, but then starts to return 0.0 for even larger values of y.
      a151d144
    • Bjorn Munch's avatar
      null upmerge · 2b423fb5
      Bjorn Munch authored
      2b423fb5
    • Bjorn Munch's avatar
      merge from 5.5-mtr · 043cb83e
      Bjorn Munch authored
      043cb83e
    • Bjorn Munch's avatar
      merge from 5.1-mtr · 3f5c0cc7
      Bjorn Munch authored
      3f5c0cc7
    • Bjorn Munch's avatar
    • Bjorn Munch's avatar
      null upmerge · d34087dc
      Bjorn Munch authored
      d34087dc
    • Bjorn Munch's avatar
      merge from 5.5 main · d1eb81f6
      Bjorn Munch authored
      d1eb81f6
    • Bjorn Munch's avatar
      merge from 5.1 main · 1a937b18
      Bjorn Munch authored
      1a937b18
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 095475e6
      Marko Mäkelä authored
      095475e6
  6. 23 Sep, 2011 2 commits
  7. 22 Sep, 2011 1 commit
  8. 21 Sep, 2011 5 commits
    • Tor Didriksen's avatar
      Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORY · 8d1c4bba
      Tor Didriksen authored
      Extra fix: 'if (p5 < p5_a + P5A_MAX)' is not portable.
      p5 starts out pointing to a static array, then may point
      to a buffer on the stack, then may point to malloc()ed memory.
      8d1c4bba
    • Daniel Fischer's avatar
      post-merge fix · d5957d0d
      Daniel Fischer authored
      d5957d0d
    • Daniel Fischer's avatar
      merge from 5.5.16 · fe1b205d
      Daniel Fischer authored
      fe1b205d
    • kevin.lewis@oracle.com's avatar
      Bug 12963823 - Crash in Purge thread under unusual circumstances. · 0f359571
      kevin.lewis@oracle.com authored
      The problem occurred when indexes are added between the time that an
      UNDO record is created and the time that the purge thread comes around
      and deletes the old secondary index entries.  The purge thread would
      hit an assert when trying to build a secondary index entry for
      searching.  The problem was that the old value of those fields were not
      in the UNDO record since they were not part of an index when the UPDATE
      occured. 
      A test case was added to innodb-index.test.
      0f359571
    • kevin.lewis@oracle.com's avatar
      Bug 12963823 - Crash in Purge thread under unusual circumstances. · 8d036bcd
      kevin.lewis@oracle.com authored
      The problem occurred when indexes are added between the time that an
      UNDO record is created and the time that the purge thread comes around
      and deletes the old secondary index entries.  The purge thread would
      hit an assert when trying to build a secondary index entry for
      searching.  The problem was that the old value of those fields were not
      in the UNDO record since they were not part of an index when the UPDATE
      occured. 
      A test case was added to innodb-index.test.
      8d036bcd
  9. 20 Sep, 2011 6 commits
  10. 19 Sep, 2011 3 commits