1. 15 Aug, 2008 10 commits
    • Chad MILLER's avatar
      Merge from 5.0-bugteam. · 0156ccdc
      Chad MILLER authored
      0156ccdc
    • Chad MILLER's avatar
      Bug#21579 - innodb_concurrent random failures with varying differences · 2dcc449f
      Chad MILLER authored
      Due to unknown changes the test failed in some ways.
      
      Fixed by checking the test case in detail, commenting the expected behavior,
      and fixing error directives.
      
      In the course of the analyze unneeded get_lock()/release_lock() use,
      unneeded send/reap use, and unneeded sleeps were removed. The lock wait
      timeout was reduced to 1 second, so that this is no big-test any more.
      
      The test was split into two parts, one running the tests with
      --innodb_locks_unsafe_for_binlog, the other part without.
      The main part (include/concurrent.inc) conditionally expects
      lock wait timeouts based on the value of the system variable
      innodb_locks_unsafe_for_binlog.
      
      The major part of the patch comes from Kristofer Pettersson.
      
      (Chad queues this patch on demand by Trudy/Davi.)
      2dcc449f
    • Chad MILLER's avatar
      Bug#38272: timestamps fields incorrectly defaulted on \ · 35c8b4c5
      Chad MILLER authored
      	update accross partitions.
            
      It's not Innodb-specific bug.
      ha_partition::update_row() didn't set
      table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET when
      orig_timestamp_type == TIMESTAMP_AUTO_SET_ON_INSERT.
      
      So that a partition sets the timestamp field when a record
      is moved to a different partition.
      
      Fixed by doing '= TIMESTAMP_NO_AUTO_SET' unconditionally.
      Also ha_partition::write_row() is fixed in same way as now
      Field_timestamp::set() is called twice in SET_ON_INSERT case.
      
      (Chad queues this patch on demand by Trudy/Davi.)
      
      mysql-test/r/partition.result:
        Bug#38272 timestamps fields incorrectly defaulted on update accross partitions.
        test result
      mysql-test/t/partition.test:
        Bug#38272 timestamps fields incorrectly defaulted on update accross partitions.
        test case
      sql/ha_partition.cc:
        Bug#38272 timestamps fields incorrectly defaulted on update accross partitions.
        Do table->timestamp_field_type= TIMESTAMP_NO_AUTO_SET unconditionally
        in ha_partition::update_row and ::write_row()
      35c8b4c5
    • Chad MILLER's avatar
    • Davi Arnaut's avatar
      Merge from mysql-5.1 main. · 986a27fb
      Davi Arnaut authored
      986a27fb
    • Davi Arnaut's avatar
      Bug#38560: valgrind warnings on PB due to query profiling · 02cd7856
      Davi Arnaut authored
      Fix for a valgrind warning due to a jump on a uninitialized
      variable. The problem was that the sql profile preparation
      function wasn't being called for all possible code paths
      of query execution.
      
      The solution is to ensure that query profiling is always
      started before dispatch_command function is called and to
      explicitly call the profile preparation function on bootstrap.
      
      
      
      sql/sql_parse.cc:
        Finish query profiling properly when executing bootstrap commands.
        Add query profiling to execute_init_command as it calls dispatch_command.
      02cd7856
    • Sergey Glukhov's avatar
      Bug#36638 mysqld crashes when open file limit is passed and general query log enabled · 02aaff1b
      Sergey Glukhov authored
      The problem:
      CSV storage engine open function returns success even
      thought it failed to open the data file
      The fix:
      return error
      Additional fixes:
      added MY_WME to my_open to avoid mysterious error message
      free share struct if open the file was unsuccessful
      
      
      mysql-test/r/csv.result:
        test result
      mysql-test/t/csv.test:
        test case
      storage/csv/ha_tina.cc:
        The problem:
        CSV storage engine open function returns success even
        thought it failed to open the data file
        The fix:
        return error
        Additional fixes:
        added MY_WME to my_open to avoid mysterious error message
        free share struct if open the file was unsuccessful
      02aaff1b
    • Ramil Kalimullin's avatar
      Fix for bug #34779: crash in checksum table on federated tables · 2b179caf
      Ramil Kalimullin authored
      with blobs containing nulls
      
      Problem: FEDERATED SE improperly stores NULL fields in the record buffer.
      
      Fix: store them properly.
      
      
      mysql-test/r/federated.result:
        Fix for bug #34779: crash in checksum table on federated tables 
        with blobs containing nulls
          - test result.
      mysql-test/t/federated.test:
        Fix for bug #34779: crash in checksum table on federated tables 
        with blobs containing nulls
          - test case.
      sql/ha_federated.cc:
        Fix for bug #34779: crash in checksum table on federated tables 
        with blobs containing nulls
          - storing a NULL field in the record buffer
            we must initialize its data as other code
            may rely on it.
      2b179caf
    • Ramil Kalimullin's avatar
      Fix for bug#37537: myisamchk fails with Assertion failure with partitioned table · a233d7b8
      Ramil Kalimullin authored
      Problem: missed "break" in a switch leads to unexpected assertion failure
      of 'myisamchk compressed_table'.
      
      Fix: add the break.
      
      
      storage/myisam/mi_check.c:
        Fix for bug#37537: myisamchk fails with Assertion failure with partitioned table
        
        In the record links check function (chk_data_link()) 
        missed "break" for case COMPRESSED_RECORD was added.
      a233d7b8
    • Ramil Kalimullin's avatar
      Fix for bug#37337: Function returns different results · 67a3d9e4
      Ramil Kalimullin authored
      Problem: REGEXP in functions/PSs may return wrong results
      due to improper initialization.
      
      Fix: initialize required REGEXP params.
      
      
      sql/item_cmpfunc.cc:
        Fix for bug#37337: Function returns different results
        
        prev_regexp is used in the Item_func_regex::regcomp()
        to store previous regex and to avoid re-initialization 
        if given the same pattern.
        Shoud be deleted in the Item_func_regex::cleanup() where we
        clean up the regexp structure.
      67a3d9e4
  2. 14 Aug, 2008 8 commits
  3. 13 Aug, 2008 14 commits
  4. 12 Aug, 2008 8 commits
    • Marc Alff's avatar
      Merge mysql-5.1-bugteam -> local bugfix branch · 6c91a280
      Marc Alff authored
      6c91a280
    • Marc Alff's avatar
      Bug#38296 (low memory crash with many conditions in a query) · 7ea370d2
      Marc Alff authored
      This fix is for 5.1 only : back porting the 6.0 patch manually
      
      The parser code in sql/sql_yacc.yy needs to be more robust to out of
      memory conditions, so that when parsing a query fails due to OOM,
      the thread gracefully returns an error.
      
      Before this fix, a new/alloc returning NULL could:
      - cause a crash, if dereferencing the NULL pointer,
      - produce a corrupted parsed tree, containing NULL nodes,
      - alter the semantic of a query, by silently dropping token values or nodes
      
      With this fix:
      - C++ constructors are *not* executed with a NULL "this" pointer
      when operator new fails.
      This is achieved by declaring "operator new" with a "throw ()" clause,
      so that a failed new gracefully returns NULL on OOM conditions.
      
      - calls to new/alloc are tested for a NULL result,
      
      - The thread diagnostic area is set to an error status when OOM occurs.
      This ensures that a request failing in the server properly returns an
      ER_OUT_OF_RESOURCES error to the client.
      
      - OOM conditions cause the parser to stop immediately (MYSQL_YYABORT).
      This prevents causing further crashes when using a partially built parsed
      tree in further rules in the parser.
      
      No test scripts are provided, since automating OOM failures is not
      instrumented in the server.
      Tested under the debugger, to verify that an error in alloc_root cause the
      thread to returns gracefully all the way to the client application, with
      an ER_OUT_OF_RESOURCES error.
      7ea370d2
    • Davi Arnaut's avatar
      Merge and fix tree name. · b907f225
      Davi Arnaut authored
      b907f225
    • Davi Arnaut's avatar
      Merge and fix tree name. · 8ed209b2
      Davi Arnaut authored
      8ed209b2
    • Davi Arnaut's avatar
      Merge mysql-5.0-bugteam into mysql-5.0 · 7e35139c
      Davi Arnaut authored
      7e35139c
    • Mattias Jonsson's avatar
      merge · b32a49ac
      Mattias Jonsson authored
      b32a49ac
    • Davi Arnaut's avatar
      Merge mysql-5.1-bugteam into mysql-5.1 main. · f18bc40c
      Davi Arnaut authored
      f18bc40c
    • Mattias Jonsson's avatar
      manual merge of bug#37402 · 642bf902
      Mattias Jonsson authored
      642bf902