1. 19 Feb, 2009 1 commit
    • 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. 15 Feb, 2009 1 commit
  3. 14 Feb, 2009 4 commits
  4. 13 Feb, 2009 3 commits
  5. 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
  6. 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
  7. 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
  8. 07 Feb, 2009 3 commits
  9. 06 Feb, 2009 9 commits
  10. 05 Feb, 2009 5 commits
    • Matthias Leich's avatar
      2. Slice of fix for Bug#42003 tests missing the disconnect of connections <> default · 41e6a1f8
      Matthias Leich authored
         - If missing: add "disconnect <session>"
         - If physical disconnect of non "default" sessions is not finished
           at test end: add routine which waits till this happened
      + additional improvements
        - remove superfluous files created by the test
        - replace error numbers by error names
        - remove trailing spaces, replace tabs by spaces
        - unify writing of bugs within comments
        - correct comments
        - minor changes of formatting
      Fixed tests:
        backup
        check
        compress
        grant
        information_schema
        multi_update
        overflow
        packet
        query_cache_not_embedded
        sp-threads
        subselect
        synchronization
        timezone_grant
      41e6a1f8
    • Alexey Kopytov's avatar
      Merge to team tree. · 759b626d
      Alexey Kopytov authored
      759b626d
    • Alexey Kopytov's avatar
      Merge from team tree. · 20cdcaa3
      Alexey Kopytov authored
      20cdcaa3
    • Gleb Shchepa's avatar
      Bug #42037: Queries containing a subquery with DISTINCT and · 061bf717
      Gleb Shchepa authored
                  ORDER BY could cause a server crash
      
      Dependent subqueries like
      
        SELECT COUNT(*) FROM t1, t2 WHERE t2.b
         IN (SELECT DISTINCT t2.b FROM t2 WHERE t2.b = t1.a)
      
      caused a memory leak proportional to the
      number of outer rows.
      
      
      The make_simple_join() function has been modified to
      JOIN class method to store join_tab_reexec and
      table_reexec values in the parent join only
      (make_simple_join of tmp_join may access these values
      via 'this' pointer of the parent JOIN).
      
      NOTE: this patch doesn't include standard test case (this is
      "out of memory" bug). See bug #42037 page for test cases.
      
      
      sql/sql_select.cc:
        Bug #42037: Queries containing a subquery with DISTINCT and
                    ORDER BY could cause a server crash
        
        The make_simple_join() function has been modified to
        JOIN class method to store join_tab_reexec and
        table_reexec values in the parent join only.
      sql/sql_select.h:
        Bug #42037: Queries containing a subquery with DISTINCT and
                    ORDER BY could cause a server crash
        
        1. The make_simple_join() function has been modified to
           JOIN class method.
        
        2. Type of JOIN::table_reexec field has been changed from
           TABLE** to TABLE *table_reexec[1]: this field always was
           NULL or a pointer to one-element array of pointers, so
           a pointer to a pointer has been replaced with one pointer
           and unnecessary memory allocation has been eliminated.
      061bf717
    • Ramil Kalimullin's avatar
      Fix for bug#42014: Crash, name_const with collate · 31d908d7
      Ramil Kalimullin authored
      Problem: some queries using NAME_CONST(.. COLLATE ...)
      lead to server crash due to failed type cast.
      
      Fix: return the underlying item's type in case of
      NAME_CONST(.. COLLATE ...) to avoid wrong casting.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#42014: Crash, name_const with coll
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#42014: Crash, name_const with coll
          - test case.
      sql/item.cc:
        Fix for bug#42014: Crash, name_const with coll
          - in case of NAME_CONST('name', 'value' COLLATE collation)
        Item_name_const::type() returns type of 'value' argument 
        to awoid wrong type casting of the Item_name_const items.
      31d908d7
  11. 04 Feb, 2009 4 commits
    • Chad MILLER's avatar
      Merge from bug tree. · 243b2639
      Chad MILLER authored
      243b2639
    • Matthias Leich's avatar
      6f19c0fc
    • Sergey Vojtovich's avatar
      BUG#32047 - 'Spurious' errors while opening MERGE tables · 97bd7635
      Sergey Vojtovich authored
      Accessing well defined MERGE table may return an error
      stating that the merge table is incorrectly defined. This
      happens if MERGE child tables were accessed before and we
      failed to open another incorrectly defined MERGE table in
      this connection.
      
      myrg_open() internally used my_errno as a variable for determining
      failure, and thus could be tricked into a wrong decision by other
      uses of my_errno.
      
      With this fix we use function local boolean flag instead of my_errno
      to determine failure.
      
      myisammrg/myrg_open.c:
        There are two requirement for accessing/setting my_errno variable,
        which were not followed by myrg_open():
        - it must be checked immediately after a function returned an error. There
          must be no calls to other functions that may change it's value between.
        - my_errno value must be set right before a function is going to return an
          error. There must be no calls to other functions that may change it's
          value between (that's why we have these tricks with save_errno at the
          bottom of myrg_open()).
        
        myrg_open() internally used my_errno as a variable for determining
        failure, and thus could be tricked into a wrong decision by other
        uses of my_errno.
      mysql-test/r/merge.result:
        A test case for BUG#32047.
      mysql-test/t/merge.test:
        A test case for BUG#32047.
      97bd7635
    • Timothy Smith's avatar
      The nwbootstrap script depended on BitKeeper, and was fairly complicated. It's much · 1b557a2c
      Timothy Smith authored
      simpler to just use the source .tar.gz to do a build.  So the script has been renamed
      to nwbuild, and simplified.
      1b557a2c