1. 25 Mar, 2010 9 commits
  2. 24 Mar, 2010 7 commits
    • Sergey Vojtovich's avatar
      a1590d2e
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 75aba21f
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6822 | vasil | 2010-03-15 10:17:31 +0200 (Mon, 15 Mar 2010) | 12 lines
      branches/5.1:
      
      Typecast to silence a compiler warning:
      
      row/row0sel.c: 4548
              C4244: '=' : conversion from 'float' to 'ib_ulonglong', possible loss of data
      row/row0sel.c: 4553
              C4244: '=' : conversion from 'double' to 'ib_ulonglong', possible loss of data
      
      Reported by:	Jonas Oreland <Jonas.Oreland@Sun.COM>
      Discussed with:	Sunny Bains <sunny.bains@oracle.com>
      75aba21f
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · a10d3338
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines
      branches/5.1:
      
      Add the missing --reap statements in innodb_bug38231.test. Probably MySQL
      enforced the presence of those recently and the test started failing like:
      
        main.innodb_bug38231                     [ fail ]
                Test ended at 2010-03-10 08:48:32
        
        CURRENT_TEST: main.innodb_bug38231
        mysqltest: At line 49: Cannot run query on connection between send and reap
      
      r6788 | vasil | 2010-03-10 10:53:21 +0200 (Wed, 10 Mar 2010) | 8 lines
      branches/5.1:
      
      In innodb_bug38231.test: replace the fragile sleep 0.2 that depends on timing
      with a more robust condition which waits for the TRUNCATE and LOCK commands
      to appear in information_schema.processlist. This could also break if there
      are other sessions executing the same SQL commands, but there are none during
      the execution of the mysql test.
      a10d3338
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#47621. · 0c8a6f6c
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines
      branches/5.1: Fix bug #47621 "MySQL and InnoDB data dictionaries
      will become out of sync when renaming columns". MySQL does not
      provide new column name information to storage engine to
      update the system table. To avoid column name mismatch, we shall
      just request a table copy for now.
      
      rb://246 approved by Marko.
      0c8a6f6c
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 46b421ed
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines
      branches/5.1:
      
      Whitespace fixup.
      46b421ed
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#51653 · d1ec522f
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines
      branches/5.1: fix bug#51653: outdated reference to set-variable
      Non functional change.
      d1ec522f
    • Alexey Botchkov's avatar
      merging. · 9e76d759
      Alexey Botchkov authored
      9e76d759
  3. 25 Mar, 2010 1 commit
  4. 24 Mar, 2010 4 commits
    • Kristofer Pettersson's avatar
      Bug#46615 Assertion in Query_cache::invalidate in INSERT in a VIEW of a MERGE table · 41249cca
      Kristofer Pettersson authored
      If the listed columns in the view definition of 
      the table used in a 'INSERT .. SELECT ..'
      statement mismatched, a debug assertion would
      trigger in the cache invalidation code
      following the failing statement.
      
      Although the find_field_in_view() function
      correctly generated ER_BAD_FIELD_ERROR during
      setup_fields(), the error failed to propagate
      further than handle_select(). This patch fixes
      the issue by adding a check for the return
      value.
      41249cca
    • Alexey Botchkov's avatar
      merging. · 13033a5d
      Alexey Botchkov authored
      13033a5d
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · 15877ee1
      Sergey Glukhov authored
      15877ee1
    • Sergey Glukhov's avatar
      Bug#48483 crash in get_best_combination() · 658cf9e4
      Sergey Glukhov authored
      The crash happens because greedy_serach
      can not determine best plan due to
      wrong inner table dependences. These
      dependences affects join table sorting
      which performs before greedy_search starting.
      In our case table which has real 'no dependences'
      should be put on top of the list but it does not
      happen as inner tables have no dependences as well.
      The fix is to exclude RAND_TABLE_BIT mask from
      condition which checks if table dependences
      should be updated.
      658cf9e4
  5. 23 Mar, 2010 2 commits
    • Georgi Kodinov's avatar
      Bug #51850: crash/memory overlap when using load data infile and set · d9175c21
      Georgi Kodinov authored
        col equal to itself!
      
      There's no need to copy the value of a field into itself.
      While generally harmless (except for some performance penalties)
      it may be dangerous when the copy code doesn't expect this.
      Fixed by checking if the source field is the same as the destination
      field before copying the data.
      Note that we must preserve the order of assignment of the null 
      flags (hence the null_value assignment addition).
      d9175c21
    • Andrei Elkin's avatar
      Bug #52304 valgrind does not like to print un-inited string in Protocol_text::store() · 307fb75e
      Andrei Elkin authored
      The reason of the failure was apparent flaw in that a pointer to an uninitialized buffer was
      passed to DBUG_PRINT of Protocol_text::store().
      
      Fixed with splitting the print-out into two branches: 
      one with length zero of the problematic arg and the rest.
      307fb75e
  6. 22 Mar, 2010 7 commits
  7. 21 Mar, 2010 1 commit
  8. 19 Mar, 2010 5 commits
    • Sergey Glukhov's avatar
      Bug#51242 HAVING clause on table join produce incorrect results · 84917914
      Sergey Glukhov authored
      The problem is that when we make conditon for
      grouped result const part of condition is cut off.
      It happens because some parts of 'having' condition
      which refer to outer join become const after
      make_join_statistics. These parts may be lost
      during further having condition transformation
      in JOIN::exec. The fix is adding 'having'
      condition check for const tables after
      make_join_statistics is performed.
      84917914
    • Andrei Elkin's avatar
      Bug #51648 DBUG_SYNC_POINT is not defined on all platforms and mtr cant pre-check that · 30df1890
      Andrei Elkin authored
      
      DBUG_SYNC_POINT has at least one strong limitation that it's not defined
      on all platforms. It has issues cooperating with @@debug.
      All in all its functionality is superseded by DEBUG_SYNC facility and
      there is no reason to maintain the old less flexible one.
      
      Fixed with adding debug_sync_set_action() function as a facility to set up
      a sync-action in the server sources code and re-writing existing simulations
      (found 3) to use it.
      Couple of tests have been reworked as well.
      
      The patch offers a pattern for setting sync-points in replication threads
      where the standard DEBUG_SYNC does not suffice to reach goals.
      
      
      30df1890
    • Martin Hansson's avatar
      Post-push fix to disable a subset of the test case for Bug#47762. · d03133dc
      Martin Hansson authored
      This has been back-ported from 6.0 as the problems proved to afflict 
      5.1 as well.
      The fix exposed two new bugs. They were reported as follows.
            
      Bug no 52174: Sometimes wrong plan when reading a MAX value 
      from non-NULL index
            
      Bug no 52173: Reading NULL value from non-NULL index gives wrong 
      result in embedded server 
            
      Both bugs taken together affect a much smaller class of queries than #47762, 
      so the fix stays for now.
      d03133dc
    • Sergey Glukhov's avatar
      Bug#51598 Inconsistent behaviour with a COALESCE statement inside an IN comparison · 879b7053
      Sergey Glukhov authored
      Optimizer erroneously translated LEFT JOIN into INNER JOIN.
      It leads to cutting rows with NULL right side. It happens
      because Item_row uses not_null_tables() method form the
      base(Item) class and does not calculate 'null tables'
      properly. The fix is adding calculation of 'not null tables'
      to Item_row.
      879b7053
    • Sergey Glukhov's avatar
      Bug#51494 crash with join, explain and 'sounds like' operator · bed09481
      Sergey Glukhov authored
      The crash happens because of discrepancy between values of
      conts_tables and join->const_table_map(make_join_statisctics).
      Calculation of conts_tables used condition with
      HA_STATS_RECORDS_IS_EXACT flag check. Calculation of
      join->const_table_map does not use this flag check.
      In case of MERGE table without union with index
      the table does not become const table and
      thus join_read_const_table() is not called
      for the table. join->const_table_map supposes
      this table is const and later in make_join_select
      this table is used for making&calculation const
      condition. As table record buffer is not populated
      it leads to crash.
      The fix is adding a check if an engine supports
      HA_STATS_RECORDS_IS_EXACT flag before updating
      join->const_table_map.
      bed09481
  9. 18 Mar, 2010 2 commits
  10. 17 Mar, 2010 2 commits
    • Mats Kindahl's avatar
      Merging with mysql-5.1-bugteam · c14807a2
      Mats Kindahl authored
      c14807a2
    • Mats Kindahl's avatar
      BUG#49618: Field length stored incorrectly in binary log · 27737589
      Mats Kindahl authored
                 for InnoDB
                  
      The class Field_bit_as_char stores the metadata for the
      field incorrecly because bytes_in_rec and bit_len are set
      to (field_length + 7 ) / 8 and 0 respectively, while
      Field_bit has the correct values field_length / 8 and
      field_length % 8.
                  
      Solved the problem by re-computing the values for the
      metadata based on the field_length instead of using the
      bytes_in_rec and bit_len variables.
                  
      To handle compatibility with old server, a table map
      flag was added to indicate that the bit computation is
      exact. If the flag is clear, the slave computes the
      number of bytes required to store the bit field and
      compares that instead, effectively allowing replication
      *without conversion* from any field length that require
      the same number of bytes to store.
      27737589