1. 19 Feb, 2009 15 commits
    • Davi Arnaut's avatar
      Bug#41098: Query Cache returns wrong result with concurrent insert · 664bb23a
      Davi Arnaut authored
      The problem is that select queries executed concurrently with
      a concurrent insert on a MyISAM table could be cached if the
      select started after the query cache invalidation but before
      the unlock of tables performed by the concurrent insert. This
      race could happen because the concurrent insert was failing
      to prevent cache of select queries happening at the same time.
      
      The solution is to add a 'uncacheable' status flag to signal
      that a concurrent insert is being performed on the table and
      that queries executing at the same time shouldn't cache the
      results.
      
      mysql-test/r/query_cache_debug.result:
        Add test case result for Bug#41098
      mysql-test/t/disabled.def:
        Re-enable test case.
      mysql-test/t/query_cache_debug.test:
        Add test case for Bug#41098
      sql/sql_cache.cc:
        Debug sync point for regression testing purposes.
      sql/sql_insert.cc:
        Remove meaningless query cache invalidate. There is already
        a preceding invalidate for queries that started before the
        concurrent insert.
      storage/myisam/ha_myisam.cc:
        Check for a active concurrent insert.
      storage/myisam/mi_locking.c:
        Signal the start of a concurrent insert. Flag is zeroed once
        the state is updated back.
      storage/myisam/myisamdef.h:
        Add flag to signal a active concurrent insert.
      664bb23a
    • Serge Kozlov's avatar
      merge 5.1 · 8e8c5bbe
      Serge Kozlov authored
      8e8c5bbe
    • Serge Kozlov's avatar
      Bug#41423. · b86dc86e
      Serge Kozlov authored
      1. Constant values of binlog positions replaced by seeking them in binlog/relay log.
      2. Updated result file
      b86dc86e
    • Georgi Kodinov's avatar
      merged 5.0-bugteam -> 5.1-bugteam · 901427b2
      Georgi Kodinov authored
      901427b2
    • Georgi Kodinov's avatar
      merged bug 42419 to 5.0-bugteam · cf42f668
      Georgi Kodinov authored
      cf42f668
    • Georgi Kodinov's avatar
      Bug #42419: Server crash with "Pure virtual method called" on two concurrent · 29476d87
      Georgi Kodinov authored
      connections
      The problem is that tables can enter open table cache for a thread without 
      being properly cleaned up. This can happen if make_join_statistics() fails 
      to read a const table because of e.g. a deadlock. It does set a member of 
      TABLE structure to a value it allocates, but doesn't clean-up this setting 
      on error nor does it set the rest of the members in JOIN to allow for 
      automatic cleanup.
      As a result when such an error occurs and the next statement depends re-uses 
      the table from the open tables cache it will get it with this 
      TABLE::reginfo.join_tab pointing to a memory area that's freed.
      Fixed by making sure make_join_statistics() cleans up TABLE::reginfo.join_tab 
      on error.
      
      mysql-test/r/innodb_mysql.result:
        Bug #42419: test case
      mysql-test/t/innodb_mysql-master.opt:
        Bug #42419: increase the timeout so it covers te conservative 
        sleep 3 in the test
      mysql-test/t/innodb_mysql.test:
        Bug #42419: test case
      sql/sql_select.cc:
        Bug #42419: clean up the members of TABLE on failure in 
                make_join_statisitcs()
      29476d87
    • Sergey Glukhov's avatar
      automerge · e89fddc6
      Sergey Glukhov authored
      e89fddc6
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · fafeaf46
      Sergey Glukhov authored
      fafeaf46
    • Sergey Glukhov's avatar
      Bug#37601 Cast Is Not Done On Row Comparison · c2e23208
      Sergey Glukhov authored
      In case of ROW item each compared pair does not
      check if argumet collations can be aggregated and
      thus appropiriate item conversion does not happen.
      The fix is to add the check and convertion for ROW
      pairs.
      
      
      mysql-test/r/row.result:
        test result
      mysql-test/t/row.test:
        test case
      sql/item.cc:
        added agg_item_set_converter() function which was a part of
        agg_item_charsets() func. The only difference is that
        agg_item_set_converter() checks and converts items 
        using already known collation.
      sql/item.h:
        added agg_item_set_converter() function
      sql/item_cmpfunc.cc:
        In case of ROW item each compared pair does not
        check if argumet collations can be aggregated and
        thus appropiriate item conversion does not happen.
        The fix is to add the check and convertion for ROW
        pairs.
      c2e23208
    • Staale Smedseng's avatar
      Bug#31506 detection of function's availability is wrong in · b2a8faeb
      Staale Smedseng authored
      configure.in
      
      Replacing AC_CHECK_FUNC+AC_CHECK_LIB combination with
      AC_SEARCH_LIBS.
      b2a8faeb
    • Alexey Kopytov's avatar
      a687428c
    • Alexey Kopytov's avatar
      Automerge. · c814ccbf
      Alexey Kopytov authored
      c814ccbf
    • Alexey Kopytov's avatar
      Automerge. · 0c96241b
      Alexey Kopytov authored
      0c96241b
    • Alexey Kopytov's avatar
      Automerge. · 45e3327f
      Alexey Kopytov authored
      45e3327f
    • Alexey Kopytov's avatar
      Fix for bug #41078: With CURSOR_TYPE_READ_ONLY mysql_stmt_fetch() · 32164609
      Alexey Kopytov authored
      returns short string value. 
       
      Multibyte character sets were not taken into account when 
      calculating max_length in Item_param::convert_str_value(). As a 
      result, string parameters of a prepared statement could be 
      truncated later when calculating string length in characters by 
      dividing length in bytes by the charset's mbmaxlen value (e.g. in 
      Field_varstring::store()). 
       
      Fixed by taking charset's mbmaxlen into account when calculating 
      max_length in Item_param::convert_str_value().
      
      
      sql/item.cc:
        Multiply string's length in characters by charset's mbmaxlen when 
        calculating max_length.
      tests/mysql_client_test.c:
        Added a test case for bug #41078.
      32164609
  2. 18 Feb, 2009 5 commits
  3. 17 Feb, 2009 1 commit
  4. 16 Feb, 2009 8 commits
  5. 15 Feb, 2009 3 commits
  6. 14 Feb, 2009 8 commits