1. 29 Sep, 2009 4 commits
    • Martin Hansson's avatar
      Merge of Bug#35996. · e6b1bade
      Martin Hansson authored
      e6b1bade
    • Davi Arnaut's avatar
      Bug#45567: Fast ALTER TABLE broken for enum and set · fc374036
      Davi Arnaut authored
      The problem was that appending values to the end of an existing
      ENUM or SET column was being treated as table data modification,
      preventing a immediately (fast) table alteration that occurs when
      only table metadata is being modified.
      
      The cause was twofold: adding a enumeration or set members to the 
      end of the list of valid member values was not being considered
      a "compatible" table alteration, and for SET columns, the check
      was being done upon the max display length and not the underlying
      (pack) length of the field.
      
      The solution is to augment the function that checks wether two ENUM
      or SET fields are compatible -- by comparing the pack lengths and
      performing a limited comparison of the member values.
      fc374036
    • Mattias Jonsson's avatar
      merge · ecc556f4
      Mattias Jonsson authored
      ecc556f4
    • Sergey Glukhov's avatar
      Bug#47150 Assertion in Field_long::val_int() on MERGE + TRIGGER + multi-table UPDATE · 42999430
      Sergey Glukhov authored
      The bug is not related to MERGE table or TRIGGER. More correct description
      would be 'assertion on multi-table UPDATE + NATURAL JOIN + MERGEABLE VIEW'.
      On PREPARE stage(see test case) we call mark_common_columns() func which
      creates ON condition for NATURAL JOIN and sets appropriate
      table read_set bitmaps for fields which are used in ON condition.
      On EXECUTE stage mark_common_columns() is not called, we set
      necessary read_set bitmaps in setup_conds(). But 'B.f1' field
      is already processed and related item alredy fixed before
      setup_conds() as updated field and setup_conds can not set
      read_set bitmap because of that.
      The fix is to set read_set bitmap for appropriate table field even
      if Item_direct_view_ref item which represents a refernce to this field
      is fixed.
      42999430
  2. 28 Sep, 2009 12 commits
    • Jonathan Perkin's avatar
      Merge up to mysql-5.1-bugteam · 3e56bac0
      Jonathan Perkin authored
      3e56bac0
    • Jonathan Perkin's avatar
      Merge to mysql-5.0-bugteam · 2f0a79a0
      Jonathan Perkin authored
      2f0a79a0
    • Jonathan Perkin's avatar
      8f640b62
    • Georgi Kodinov's avatar
      da5d0c90
    • Georgi Kodinov's avatar
      merge · 0213cd79
      Georgi Kodinov authored
      0213cd79
    • Magnus Blåudd's avatar
      Merge · f165fa96
      Magnus Blåudd authored
      f165fa96
    • Magnus Blåudd's avatar
      Merge bug#42850 to 5.1 · 0b4b5569
      Magnus Blåudd authored
      0b4b5569
    • Magnus Blåudd's avatar
      Merge bug#42850 to 5.0 · 56b7b74b
      Magnus Blåudd authored
      56b7b74b
    • Martin Hansson's avatar
      · 4b17ef62
      Martin Hansson authored
      Bug#35996: SELECT + SHOW VIEW should be enough to display
      view definition
      
      During SHOW CREATE VIEW there is no reason to 'anonymize'
      errors that name objects that a user does not have access
      to. Moreover it was inconsistently implemented. For example
      base tables being referenced from a view appear to be ok,
      but not views. The manual on the other hand is clear: If a
      user has the privileges SELECT and SHOW VIEW, the view
      definition is available to that user, period. The fix
      changes the behavior to support the manual.
      4b17ef62
    • Martin Hansson's avatar
      · 99bb6acb
      Martin Hansson authored
      Bug#46958: Assertion in Diagnostics_area::set_ok_status, 
      trigger, merge table
                  
      The problem with break statements is that they have very
      local effects. Hence a break statement within the inner loop
      of a nested-loops join caused execution to proceed to the
      next table even though a serious error occurred. The problem
      was fixed by breaking out the inner loop into its own
      method. The change empowers all errors to terminate the
      execution.
                  
      The errors that will now halt multi-DELETE execution
      altogether are 
        - triggers returning errors
        - handler errors
        - server being killed
      99bb6acb
    • 's avatar
      BUG#43579 mysql_upgrade tries to alter log tables on replicated database · 90d4b21d
      authored
      All statements executed by mysql_upgrade are binlogged and then are replicated to slave.
      This will result in some errors. The report of this bug has demonstrated some examples.
      
      Master and slave should be upgraded separately. All statements executed by
      mysql_upgrade will not be binlogged. 
      --write-binlog and --skip-write-binlog options are added into mysql_upgrade. 
      These options control whether sql statements are binlogged or not. 
      90d4b21d
    • 's avatar
      BUG #46572 DROP TEMPORARY table IF EXISTS does not have a consistent behavior in ROW mode · f8f2362b
      authored
            
      In RBR, 'DROP TEMPORARY TABLE IF EXISTS...' statement is binlogged when the table
      does not exist.
            
      In fact, 'DROP TEMPORARY TABLE ...' statement should never be binlogged in RBR
      no matter if the table exists or not. 
      This patch addresses this by checking whether we are dropping a
      temporary table or not, when building the custom drop statement.
      f8f2362b
  3. 27 Sep, 2009 3 commits
    • Luis Soares's avatar
      BUG#47312: RBR: Disabling key on slave breaks replication: · 80f96fae
      Luis Soares authored
      HA_ERR_WRONG_INDEX
            
      In RBR, disabling keys on slave table will break replication when
      updating or deleting a record. When the slave thread tries to
      find the row, by searching in the storage engine, it checks
      whether the table has a key or not. If it has one, then the slave
      thread uses it to search the record.
            
      Nonetheless, the slave only checks whether the key exists or not,
      it does not verify if it is active. Should the key be
      disabled (eg, DBA has issued an ALTER TABLE ... DISABLE KEYS)
      then it will result in error: HA_ERR_WRONG_INDEX.
            
      This patch addresses this issue by making the slave thread also
      check whether the key is active or not before actually using it.
      80f96fae
    • 's avatar
      Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm · 9256ace0
      authored
      The failure is not reproduced on 5.1, so enable the 'rpl_cross_version' test.
      9256ace0
    • 's avatar
      Bug #46931 rpl.rpl_get_master_version_and_clock fails on hpux11.31 · 774a8db9
      authored
      Network error happened here, but it can be caused by CR_CONNECTION_ERROR, 
      CR_CONN_HOST_ERROR, CR_SERVER_GONE_ERROR, CR_SERVER_LOST, ER_CON_COUNT_ERROR, 
      and ER_SERVER_SHUTDOWN. We just check CR_SERVER_LOST here, so the test fails.
      
      To fix the problem, check all errors that can be cause by the master shutdown.
      774a8db9
  4. 25 Sep, 2009 5 commits
  5. 24 Sep, 2009 5 commits
  6. 23 Sep, 2009 9 commits
  7. 22 Sep, 2009 2 commits