1. 21 Feb, 2008 2 commits
  2. 20 Feb, 2008 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#32265 Server returns different metadata if prepared statement is used · 04732055
      davi@mysql.com/endora.local authored
      Executing a prepared statement associated with a materialized
      cursor yields to the client a metadata packet with wrong table
      and database names. The problem was occurring because the server
      was sending the the name of the temporary table used by the cursor
      instead of the table name of the original table. The same problem
      occurs when selecting from views, in which case the table name was
      being sent and not the name of the view.
        
      The solution is to fill the list item from the temporary table but
      preserving the table and database names of the original fields. This
      is achieved by tweaking the Select_materialize to accept a pointer to
      the Materialized_cursor class which contains the item list to be filled.
      04732055
  3. 11 Feb, 2008 2 commits
  4. 08 Feb, 2008 2 commits
  5. 07 Feb, 2008 2 commits
  6. 06 Feb, 2008 2 commits
  7. 05 Feb, 2008 1 commit
    • aelkin/elkin@koti.dsl.inet.fi's avatar
      Bug #34305 show slave status handling segfaults when slave io is about · 51b33ea3
      aelkin/elkin@koti.dsl.inet.fi authored
          to leave
      
      The artifact was caused by
      a flaw in concurrent accessing the slave's io thd by
      the io itself and a handling show slave status thread.
      Namely, show_master_info did not acquire mi->run_lock mutex that is
      specified for mi->io_thd member.
      
      Fixed with deploying the mutex locking and unlocking. The mutex is kept
      short time and without interleaving with mi->data_lock mutex.
      
      Todo: to report and fix an issue with 
          sys_var_slave_skip_counter::{methods} 
      seem to acquire incorrectly
           active_mi->rli.run_lock
      instead of the specified
           active_mi->rli.data_lock
      
      A test case is difficult to compose, so rpl_packet should continue serving
      as the indicator.
      51b33ea3
  8. 04 Feb, 2008 2 commits
  9. 01 Feb, 2008 6 commits
  10. 31 Jan, 2008 3 commits
  11. 30 Jan, 2008 4 commits
  12. 29 Jan, 2008 2 commits
    • hezx@mail.hezx.com's avatar
      update test result · 7572a9e3
      hezx@mail.hezx.com authored
      7572a9e3
    • hezx@mail.hezx.com's avatar
      BUG#26489 Corruption in relay logs · e4f37eab
      hezx@mail.hezx.com authored
      Here is the scenario that causes the failure.(by Mats)
      
      1. The to-be corrupt log event (let's call it X), is split into two
         packets B and C on the network level (net_write_buff()). The parts
         are X = (x',x''). The part x' ends up in packet B and part x''
         ends up in packet C. Prior to the corrupt event X, the event Y has
         been written successfully, but has been split into two packets as
         well, which we call (y',y'').
      2. The master sends packet A = (y'',x') to the slave, increases the
         packet sequence number, the slave receives the packet, but fails
         to reply before the master gets a timeout.
      3. Since the master got a timeout, it reports failure, and aborts
         sending the binary log by exiting mysql_binlog_send(). However, it
         leaves the buffer intact, still holding y'' (but not x', since the
         write_pos is not increased).
      4. After exiting mysql_binlog_send(), the master does a
         disconnection of the client thread, which involves sending an
         error message e to the client (i.e., the slave).
      5. In this case, net_write_buff() is used again, but this time the
         old contents of the packet is used so that the new packet is
         D = (y'',e). Note that this will use a new packet sequence number,
         since the packet number was increased in step 2.
      6. The slave receives the tail y'' of the Y log event, concatenates
         this with x' (which it already received), and writes the event
         (x',y'') it to the relay log since it hasn't noticed anything is
         amiss.
      7. It then tries to read more bytes, which is either e (if the length
         given for X just happened to match the length given for Y, or just
         plain garbage because the slave is out of sync with what is
         actually sent.
      8. After a while, the SQL thread tries to execute the event (x',y''),
         which is very likely to be just nonsense.
      
      The problem can be fixed by not resetting net->error after the call of 
      mysql_binlog_send, so the error message will not be sent and the connection
      will be closed.
      e4f37eab
  13. 27 Jan, 2008 1 commit
  14. 25 Jan, 2008 3 commits
  15. 24 Jan, 2008 1 commit
  16. 23 Jan, 2008 6 commits
    • malff@lambda.hsd1.co.comcast.net.'s avatar
      manual merge · 7bd56cfa
      malff@lambda.hsd1.co.comcast.net. authored
      7bd56cfa
    • malff@lambda.hsd1.co.comcast.net.'s avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 1eecc24a
      malff@lambda.hsd1.co.comcast.net. authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
      1eecc24a
    • malff@lambda.hsd1.co.comcast.net.'s avatar
      Bug#33618 (Crash in sp_rcontext) · c3ad0cac
      malff@lambda.hsd1.co.comcast.net. authored
      Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      
      The server used to crash when REPEAT or another control instruction
      was used in conjunction with labels and a LEAVE instruction.
      
      The crash was caused by a missing "pop" of handlers or cursors in the
      code representing the stored program. When executing the code in a loop,
      this missing "pop" would result in a stack overflow, corrupting memory.
      
      Code generation has been fixed to produce the missing h_pop/c_pop
      instructions.
      
      Also, the logic checking that labels at the beginning and the end of a
      statement are matched was incorrect, causing Bug 33983.
      End labels, when used, must match the label used at the beginning of a block.
      c3ad0cac
    • tsmith@ramayana.hindu.god's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · ff483538
      tsmith@ramayana.hindu.god authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      ff483538
    • cmiller@zippy.cornsilk.net's avatar
      Patch contributed by Jocelyn Fournier. CLA received 2007-02-27. · 71316696
      cmiller@zippy.cornsilk.net authored
      Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
      
      mysqlcheck tests nullness of the engine type to know whether the
      "table" is a view or not.  That also falsely catches tables that 
      are severly damaged.
      
      Instead, use SHOW FULL TABLES to test whether a "table" is a view
      or not.
      
      (Don't add new function.  Instead, get original data a smarter way.)
      
      Make it safe for use against databases before when views appeared.
      71316696
    • cmiller@zippy.cornsilk.net's avatar
      Bug#27427: resolveip fails on hostnames with a leading digit · c13d726f
      cmiller@zippy.cornsilk.net authored
      Patch by Kasper Dupont.  No CLA required for this size of patch.
      
      "resolveip" program produces incorrect result if given a hostname
      starting with a digit.  Someone seems to have thought that names 
      can not have digits at the beginning.
      
      Instead, use the resolver library to work out the rules of hostnames, 
      as it will undoubtedly be better at it than we are.
      c13d726f