1. 19 Feb, 2009 12 commits
    • 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 11 commits