1. 15 Aug, 2008 10 commits
    • Chad MILLER's avatar
      Merge from 5.0-bugteam. · 037bc7e7
      Chad MILLER authored
      037bc7e7
    • Chad MILLER's avatar
      Bug#21579 - innodb_concurrent random failures with varying differences · 2fe4cd57
      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.)
      2fe4cd57
    • Chad MILLER's avatar
      Bug#38272: timestamps fields incorrectly defaulted on \ · 6e602d6c
      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()
      6e602d6c
    • Chad MILLER's avatar
    • Davi Arnaut's avatar
      Merge from mysql-5.1 main. · 0fc838d5
      Davi Arnaut authored
      0fc838d5
    • Davi Arnaut's avatar
      Bug#38560: valgrind warnings on PB due to query profiling · db87b3ce
      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.
      db87b3ce
    • Sergey Glukhov's avatar
      Bug#36638 mysqld crashes when open file limit is passed and general query log enabled · 5aff1f3d
      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
      5aff1f3d
    • Ramil Kalimullin's avatar
      Fix for bug #34779: crash in checksum table on federated tables · 9deb2668
      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.
      9deb2668
    • Ramil Kalimullin's avatar
      Fix for bug#37537: myisamchk fails with Assertion failure with partitioned table · 2be2bf9e
      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.
      2be2bf9e
    • Ramil Kalimullin's avatar
      Fix for bug#37337: Function returns different results · 8010c601
      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.
      8010c601
  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 · 9922445c
      Marc Alff authored
      9922445c
    • Marc Alff's avatar
      Bug#38296 (low memory crash with many conditions in a query) · f60bbd90
      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.
      f60bbd90
    • Davi Arnaut's avatar
      Merge and fix tree name. · faa54a07
      Davi Arnaut authored
      faa54a07
    • Davi Arnaut's avatar
      Merge and fix tree name. · 9fda5e47
      Davi Arnaut authored
      9fda5e47
    • Davi Arnaut's avatar
      Merge mysql-5.0-bugteam into mysql-5.0 · 17544370
      Davi Arnaut authored
      17544370
    • Mattias Jonsson's avatar
      merge · 7f78acdc
      Mattias Jonsson authored
      7f78acdc
    • Davi Arnaut's avatar
      Merge mysql-5.1-bugteam into mysql-5.1 main. · e1127015
      Davi Arnaut authored
      e1127015
    • Mattias Jonsson's avatar
      manual merge of bug#37402 · 8d0d9e87
      Mattias Jonsson authored
      8d0d9e87