1. 24 Feb, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#42009: SELECT into variable gives different results to direct SELECT · bd414485
      Ramil Kalimullin authored
      Problem: storing "SELECT ... INTO @var ..." results in variables we used val_xxx()
      methods which returned results of the current row. 
      So, in some cases (e.g. SELECT DISTINCT, GROUP BY or HAVING) we got data
      from the first row of a new group (where we evaluate a clause) instead of
      data from the last row of the previous group.
      
      Fix: use val_xxx_result() counterparts to get proper results.
      
      
      mysql-test/r/distinct.result:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - results adjusted.
      mysql-test/r/user_var.result:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - test result.
      mysql-test/t/user_var.test:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - test case.
      sql/item_func.cc:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - Item_func_set_user_var::save_item_result() added to evaluate and store 
            an item's result into a user variable.
      sql/item_func.h:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - Item_func_set_user_var::save_item_result() added to evaluate and store 
            an item's result into a user variable.
      sql/sql_class.cc:
        Fix for bug#42009: SELECT into variable gives different results to direct SELECT
          - use Item_func_set_user_var::save_item_result() to store results into user 
            variables.
      bd414485
  2. 20 Feb, 2009 4 commits
    • Patrick Crews's avatar
      automerge · fb20a7d6
      Patrick Crews authored
      fb20a7d6
    • Andrei Elkin's avatar
      Bug #37313 BINLOG Contains Incorrect server id · 4712e6b9
      Andrei Elkin authored
        
      Signed integer format specifier forced to print the binlog header with server_id
      negative if the unsigned value sets the sign-bit ON.
        
      Fixed with correcting the specifier to correspond to typeof(server_id) == ulong.
      
      mysql-test/r/mysqlbinlog.result:
        results changed.
      mysql-test/t/mysqlbinlog.test:
        displaying the expected unsignedly formatted server_id value, bug#37313.
      sql/log_event.cc:
        Format specifier is corrected to correspond to typeof(server_id).
      4712e6b9
    • Georgi Kodinov's avatar
      fixed a warning · c1ddc60c
      Georgi Kodinov authored
      c1ddc60c
    • Georgi Kodinov's avatar
      Bug #42419: test suite fix · a67725ac
      Georgi Kodinov authored
      Moved the test case for the bug into a separate file (and restored the 
      original innodb_mysql test setup).
      Used the new wait_show_condition test macro to avoid the usage of sleep
      
      mysql-test/include/wait_show_condition.inc:
        Bug #42419: new test macro to wait for a row in SHOW to have a certain value.
      mysql-test/r/innodb_bug42419.result:
        Bug #42419: test case
      mysql-test/r/innodb_mysql.result:
        Bug #42419: revert to the original innodb_mysql test
      mysql-test/t/innodb_bug42419.test:
        Bug #42419: test case
      mysql-test/t/innodb_mysql-master.opt:
        Bug #42419: revert to the original innodb_mysql test
      mysql-test/t/innodb_mysql.test:
        Bug #42419: revert to the original innodb_mysql test
      a67725ac
  3. 19 Feb, 2009 7 commits
    • Patrick Crews's avatar
      Bug#38831: 11 test cases fail on Windows due to missing commands · cf571967
      Patrick Crews authored
      Re-enabling mysqlbinlog.test on Windows - removed the use of grep/sed
      cf571967
    • Patrick Crews's avatar
      Bug#38831: 11 test cases fail on Windows due to missing commands · 79300d6f
      Patrick Crews authored
      Replaced Unix calls with mysql-test-run's built-in functions / SQL manipulation where possible.
      Replaced error codes with error names as well.
      Disabled two tests on Windows due to more complex Unix command usage
      See Bug#41307, Bug#41308
      79300d6f
    • 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
      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
    • Alexey Kopytov's avatar
      Automerge. · 0c96241b
      Alexey Kopytov authored
      0c96241b
    • 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
  4. 18 Feb, 2009 2 commits
  5. 17 Feb, 2009 1 commit
  6. 16 Feb, 2009 1 commit
  7. 15 Feb, 2009 1 commit
  8. 14 Feb, 2009 4 commits
  9. 13 Feb, 2009 3 commits
  10. 12 Feb, 2009 4 commits
    • Georgi Kodinov's avatar
      merged 5.0-bugteam to a working tree · 47c53135
      Georgi Kodinov authored
      47c53135
    • Georgi Kodinov's avatar
      Bug #33813: Schema names are case-sensitive in DROP FUNCTION · 1c5fa3b6
      Georgi Kodinov authored
            
      Additional fix:
       1. Revert the unification of DROP FUNCTION
      and DROP PROCEDURE, because DROP FUNCTION can be used to
      drop UDFs (that have a non-qualified name and don't require
      database name to be present and valid).
       2. Fixed the case sensitivity problem by adding a call to 
      check_db_name() (similar to the sp_name production).
      1c5fa3b6
    • Sergey Vojtovich's avatar
      BUG#36737 - having + full text operator crashes mysql · 5803e106
      Sergey Vojtovich authored
            
      MATCH() function accepts column list as an argument. It was possible to override
      this requirement with aliased non-column select expression. Which results in
      server crash.
      
      With this fix aliased non-column select expressions are not accepted by MATCH()
      function, returning an error.
      
      mysql-test/r/fulltext.result:
        A test case for BUG#36737.
      mysql-test/t/fulltext.test:
        A test case for BUG#36737.
      sql/item_func.cc:
        Only accept fields as arguments to MATCH().
      5803e106
    • Georgi Kodinov's avatar
      merged bug 33813 to 5.0-bugteam · 7df0e72c
      Georgi Kodinov authored
      7df0e72c
  11. 11 Feb, 2009 1 commit
  12. 10 Feb, 2009 4 commits
    • Georgi Kodinov's avatar
      fixed a libedit compilation problem · 45681525
      Georgi Kodinov authored
      45681525
    • Georgi Kodinov's avatar
      From jperkin : Merge libedit 2.11 and related files, · fab053cc
      Georgi Kodinov authored
      based on NetBSD CVS as of 2009/02/06 20:09:00.
      fab053cc
    • Alexey Kopytov's avatar
      Fix for bug #41868: crash or memory overrun with concat + upper, · fd8bf58c
      Alexey Kopytov authored
                          date_format functions
      
      String::realloc() did not check whether the existing string data fits in
      the newly allocated buffer for cases when reallocating a String object
      with external buffer (i.e.alloced == FALSE).  This could lead to memory
      overruns in some cases.
      
      client/sql_string.cc:
        Fixed String::realloc() to check whether the existing string data fits
        in the newly allocated buffer for cases when reallocating a String
        object with external buffer.
      mysql-test/r/func_str.result:
        Added a test case for bug #41868.
      mysql-test/t/func_str.test:
        Added a test case for bug #41868.
      sql/sql_class.cc:
        After each call to Item::send() in select_send::send_data() reset
        buffer to its original state to reduce unnecessary malloc() calls. See
        comments for bug #41868 for detailed analysis.
      sql/sql_string.cc:
        Fixed String::realloc() to check whether the existing string data fits
        in the newly allocated buffer for cases when reallocating a String
        object with external buffer.
      fd8bf58c
    • Georgi Kodinov's avatar
      Bug #33813: Schema names are case-sensitive in DROP FUNCTION · 0669b793
      Georgi Kodinov authored
      The parser was not using the correct fully-qualified-name
      production for DROP FUNCTION.
      Fixed by copying the production from DROP PROCEDURE.
      Tested in the windows specific suite to make sure it's 
      tested on a case-insensitive file system.
      
      mysql-test/r/windows.result:
        Bug #33813: test case
      mysql-test/t/windows.test:
        Bug #33813: test case
      sql/sql_yacc.yy:
        Bug #33813: use the correct production for the name in
        DROP PROCEDURE
      0669b793
  13. 09 Feb, 2009 2 commits
    • Matthias Leich's avatar
      This belongs to the fix for · 0fab1a85
      Matthias Leich authored
      Bug#42003 tests missing the disconnect of connections <> default
      second slice
      Content:
      1. wait_until_count_sessions.inc
         - One PB run of a test using this routine failed because
           5 seconds timeout were exceeded. Although I have some doubts
           if the assigned timeout was really too small, I increase the
           value to 10. We waste the additional 5 seconds only if the
           tests fails anyway.
         - Print the content of the PROCESSLIST if the poll routine fails
      2. minor improvements of formatting
      3. query_cache_notembedded:
         Activate the wait_until_count_sessions.inc routine which was
         unfortunately forgotten in the changeset before.
      0fab1a85
    • Matthias Leich's avatar
      Merge of ifx into GCA tree · 4c0dd2a7
      Matthias Leich authored
      no conflicts
      4c0dd2a7
  14. 07 Feb, 2009 3 commits
  15. 06 Feb, 2009 2 commits