1. 22 Mar, 2010 8 commits
  2. 21 Mar, 2010 1 commit
  3. 20 Mar, 2010 1 commit
    • Alexey Kopytov's avatar
      Manual merge of mysql-5.1-bugteam to mysql-trunk-merge. · acc2b9e3
      Alexey Kopytov authored
      Conflicts:
      
      Text conflict in mysql-test/r/partition_innodb.result
      Text conflict in sql/field.h
      Text conflict in sql/item.h
      Text conflict in sql/item_cmpfunc.h
      Text conflict in sql/item_sum.h
      Text conflict in sql/log_event_old.cc
      Text conflict in sql/protocol.cc
      Text conflict in sql/sql_select.cc
      Text conflict in sql/sql_yacc.yy
      acc2b9e3
  4. 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
  5. 18 Mar, 2010 2 commits
  6. 17 Mar, 2010 3 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
    • Georgi Kodinov's avatar
      Bug #49838: DROP INDEX and ADD UNIQUE INDEX for same index may corrupt · d32f6b13
      Georgi Kodinov authored
         definition at engine
      
      If a single ALTER TABLE contains both DROP INDEX and ADD INDEX using 
      the same index name (a.k.a. index modification) we need to disable 
      in-place alter table because we can't ask the storage engine to have 
      two copies of the index with the same name even temporarily (if we 
      first do the ADD INDEX and then DROP INDEX) and we can't modify 
      indexes that are needed by e.g. foreign keys if we first do 
      DROP INDEX and then ADD INDEX.
      Fixed the problem by disabling in-place ALTER TABLE for these cases.
      d32f6b13
  7. 14 Mar, 2010 2 commits
    • Staale Smedseng's avatar
      Bug #49829 Many "hides virtual function" warnings with · 3f4d8edb
      Staale Smedseng authored
      SunStudio
            
      SunStudio compilers of late warn about methods that might hide
      methods in base classes due to the use of overloading combined
      with overriding. SunStudio also warns about variables defined
      in local socpe or method arguments that have the same name as
      a member attribute of the class.
            
      This patch renames methods that might hide base class methods,
      to make it easier both for humans and compilers to see what is
      actually called. It also renames variables in local scope.
      3f4d8edb
    • Davi Arnaut's avatar
      0e945118
  8. 13 Mar, 2010 1 commit
  9. 12 Mar, 2010 2 commits
  10. 11 Mar, 2010 3 commits
  11. 10 Mar, 2010 10 commits
  12. 09 Mar, 2010 1 commit
    • Georgi Kodinov's avatar
      Bug #35250: readline check breaks when doing vpath build · a774c83c
      Georgi Kodinov authored
      MySQL uses two source layouts when building : the bzr 
      layout and the source package layout.
      The previous fix for bug 35250 contained 1 change that is
      valid for both modes and a number of changes that are valid
      only for the bzr source layout.
      The important thing was to fix the source package layout.
      And for this the change in configure.in was sufficient.
      It's not trivial (and not requested by this bug) to support 
      VPATH builds from the bzr trees.
      This is why the other changes are reverted and the change to
      fix the VPATH build for source distributions is left intact.
      a774c83c
  13. 10 Mar, 2010 1 commit