1. 10 May, 2011 1 commit
    • Luis Soares's avatar
      BUG#12416700: RPL_SHOW_SLAVE_HOSTS FAILS SPORADICALLY (TIMEOUT · c9eef1d7
      Luis Soares authored
                    IN WAIT_SHOW_CONDITION) 
      
      There was a typo in the name of one of the parameters to the
      include file wait_show_condition. The parameter name was being
      set to "connection" instead of "condition".
      
      We fix this typo, improve one instruction in the test case and
      deploy parameter checks inside wait_show_condition.inc.
      c9eef1d7
  2. 09 May, 2011 2 commits
    • Serge Kozlov's avatar
      automerge 5.1->5.5 · 4dde6843
      Serge Kozlov authored
      4dde6843
    • Alexander Nozdrin's avatar
      Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE). · 75498ef9
      Alexander Nozdrin authored
      Attempts to assign value to a table column from trigger by using
      NEW.column_name pseudo-variable might result in garbled data.
      That happened when:
        - the column had a BLOB-based type (e.g. TEXT)
          and
        - the value being assigned was retrieved from stored routine variable
          of the same type.
      
      The problem was that BLOB values were not copied correctly in this
      case. Instead of doing a copy of a real value, the value's representation
      in record buffer was copied. This representation is essentially a
      pointer to a buffer associated with the virtual table for routine
      variables where the real value is stored. Since this buffer got
      freed once trigger was left or could have changed its contents when
      new value was assigned to corresponding routine variable such a shallow
      copying resulted in garbled data in NEW.colum_name column.
      
      It worked in 5.1 due to a subtle bug in create_virtual_tmp_table():
        - in 5.1 create_virtual_tmp_table() returned a table which
          had db_low_byte_first == false.
        - in 5.5 and up create_virtual_tmp_table() returns a table which
          has db_low_byte_first == true.
      Actually, db_low_byte_first == false only for ISAM storage engine,
      which was deprecated and removed in 5.0.
      
      Having db_low_byte_first == false led to getting false in the
      complex condition for the 2nd "if" in field_conv(), which in turn
      led to copy-blob-behavior as a fall-back strategy:
        - to->table->s->db_low_byte_first was true (correct value)
        - from->table->s->db_low_byte_first was false (incorrect value)
      
      In 5.5 and up that condition is true, which means blob-values are
      not copied.
      75498ef9
  3. 06 May, 2011 6 commits
    • Alexander Nozdrin's avatar
      Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS · cd501675
      Alexander Nozdrin authored
      THAT CALL STORED PROCEDURES.
      
      The bug was introduced by WL#4435. The problem was that if a stored
      procedure generated a few result sets with different set of columns,
      a new memory would be allocated after every EXECUTE for every
      result set.
      
      The fix is to introduce a new memory root in scope of MYSQL_STMT,
      and to store result-set metadata in that memory root.
      cd501675
    • Alexander Nozdrin's avatar
      Patch for Bug#11848763 / 60025 · bc409564
      Alexander Nozdrin authored
      (SUBSTRING inside a stored function works too slow).
      
      The user-visible problem was that the server started to consume memory if a
      stored-routine of some sort is executed subsequently. The memory was freed
      only after the corresponding connection was closed.
      
      Technically, the problem was that the memory needed for temporary string
      conversions was allocated on the connection ("persistent") memory root,
      instead of statement one.
      
      The root cause of this problem was the incorrect patch for Bug 55744.
      That patch wrongly fixed a crash in prepared-statement-mode introduced by
      another patch. The patch for Bug 55744 used wrong condition to check if
      prepared statement mode is active (or whether the connection-scoped or
      statement-scoped memory root should be used). The thing is that for
      prepared statements such conversions should be done in the connection
      memory root, so that that the transformations of item-tree were correctly
      remembered in the PREPARE-phase.
      
      The fix is to use proper condition to detect prepared-statement-mode and
      use proper memory root.
      bc409564
    • Alexander Nozdrin's avatar
      Preliminary patch for Bug#11848763 / 60025 · 2593b14c
      Alexander Nozdrin authored
      (SUBSTRING inside a stored function works too slow).
      
      Background:
        - THD classes derives from Query_arena, thus inherits the 'state'
          attribute and related operations (is_stmt_prepare() & co).
      
        - Although these operations are available in THD, they must not
          be used. THD has its own attribute to point to the active
          Query_arena -- stmt_arena.
      
        - So, instead of using thd->is_stmt_prepare(),
          thd->stmt_arena->is_stmt_prepare() must be used. This was the root
          cause of Bug 60025.
      
      This patch enforces the proper way of calling those operations.
      is_stmt_prepare() & co are declared as private operations
      in THD (thus, they are hidden from being called on THD instance).
      
      The patch tries to minimize changes in 5.5.
      2593b14c
    • Magnus Blåudd's avatar
      Add --with-debug=full support to BUILD/* scripts, this option has been lost · b1ff2e68
      Magnus Blåudd authored
      between 5.1 and 5.5, it's purpose is to set the compiler flags in a way that
      does not optimize away the call stack(i.e don't use any -OX flags at all)
      b1ff2e68
    • Magnus Blåudd's avatar
      Merge in patch for bug 12380149 · ec425cc5
      Magnus Blåudd authored
      ec425cc5
    • bjorn.munch@oracle.com's avatar
      Merge from mysql-5.5.12-release · f152d4cf
      bjorn.munch@oracle.com authored
      f152d4cf
  4. 05 May, 2011 6 commits
    • Luis Soares's avatar
      BUG#12354268 · f8b2499e
      Luis Soares authored
      Automerge from mysql-5.1 into mysql-5.5.
      f8b2499e
    • Luis Soares's avatar
      BUG#12354268 · 8cc75b2d
      Luis Soares authored
      Automerged bzr bundle from bug report:
      luis.soares@oracle.com-20110505224815-6ob90n7suxsoizvs.bundle
      8cc75b2d
    • Luis Soares's avatar
      BUG#11762616: BUG#55229: 'POSTION' · 6f3e97a6
      Luis Soares authored
      Manual merge from mysql-5.1 into mysql-5.5.
      
      Conflicts
      =========
      Text conflict in mysql-test/suite/rpl/t/rpl_row_until.test
      Text conflict in sql/handler.h
      Text conflict in storage/archive/ha_archive.cc
      6f3e97a6
    • Luis Soares's avatar
      BUG#11762616: BUG#55229: 'POSTION' · ed6aae83
      Luis Soares authored
                  
      Fix for all "postion" in Oracle files (s/postion/position). 
      Updated the copyright notices where needed.
      ed6aae83
    • Luis Soares's avatar
      BUG#12425924 · 9b5ca1b9
      Luis Soares authored
      Automerging cset into latest mysql-5.5.
      9b5ca1b9
    • Luis Soares's avatar
      BUG#12354268: MYSQLBINLOG --BASE64-OUTPUT=DECODE-ROWS DOES NOT · e367a789
      Luis Soares authored
      WORK WITH --START-POSITION
            
      If setting --start-position to start after the FD event, mysqlbinlog
      will output an error stating that it has not found an FD event.
      However, its not that mysqlbinlog does not find it but rather that it
      does not processes it in the regular way (i.e., it does not print it).
      Given that one is using --base64-output=DECODE-ROWS then not printing
      it is actually fine.
            
      To fix this, we make mysqlbinlog not to complain when it has not
      printed the FD event, is outputing in base64, but is decoding the
      rows.
      e367a789
  5. 04 May, 2011 5 commits
    • Luis Soares's avatar
      BUG#12425924: SEMI-SYNC RELATED VALGRIND WARNINGS IN 5.5 CODEBASE · ca9e2bd6
      Luis Soares authored
      There are a couple of valgrind warnings in 5.5 codebase, that
      do not exist in 5.6. The root cause was found and fixed in 5.6
      codebase before (BUG#11763880 and BUG#11763879), but the patches
      were only pushed to 5.6.
      
      To fix it in 5.5, we cherrypicked the csets from 5.6 and merged 
      them in 5.5.
      ca9e2bd6
    • Alexander Nozdrin's avatar
      Manual merge from mysql-5.1. · 1ca5e422
      Alexander Nozdrin authored
      1ca5e422
    • Luis Soares's avatar
      Automerged (cherrypicked) cset from 5.6: · 96a41c47
      Luis Soares authored
      zhenxing.he@sun.com-20101117085902-n9gfvlkmm44t38y0
        
      This takes care of valgrind warnings in 5.5 that exhibit
      the same trace as in BUG#11763879 (BUG#56649).
      96a41c47
    • Luis Soares's avatar
      Automerged (cherrypicked) cset from 5.6: · 47ef8f34
      Luis Soares authored
      zhenxing.he@sun.com-20101202073812-iel8lvhmulyagtsv
      
      This takes care of valgrind warnings in 5.5 that exhibit
      the same trace as in BUG#11763880 (BUG#56650).
      47ef8f34
    • Alexander Nozdrin's avatar
      Patch for Bug#12394306: the sever may crash if mysql.event is corrupted. · ca6e7781
      Alexander Nozdrin authored
      The problem was that wrong structure of mysql.event was not detected and
      the server continued to use wrongly-structured data.
      
      The fix is to check the structure of mysql.event after opening before
      any use. That makes operations with events more strict -- some operations
      that might work before throw errors now. That seems to be Ok.
      
      Another side-effect of the patch is that if mysql.event is corrupted,
      unrelated DROP DATABASE statements issue an SQL warning about inability
      to open mysql.event table. 
      ca6e7781
  6. 03 May, 2011 2 commits
  7. 02 May, 2011 5 commits
  8. 30 Apr, 2011 1 commit
  9. 29 Apr, 2011 12 commits