1. 25 Oct, 2007 2 commits
  2. 24 Oct, 2007 6 commits
  3. 23 Oct, 2007 7 commits
  4. 22 Oct, 2007 2 commits
  5. 19 Oct, 2007 4 commits
  6. 18 Oct, 2007 4 commits
  7. 17 Oct, 2007 6 commits
    • unknown's avatar
      Bug #29804 UDF parameters don't contain correct string length · 24cb2b34
      unknown authored
          
      Previously, UDF *_init functions were passed constant strings with erroneous lengths. The length came from the containing variable's size, not the length of the value itself.
          
      Now the *_init functions get the constant as a null terminated string with the correct length supplied too.
      
      
      mysql-test/r/udf.result:
        Test case to check constants passed UDFs.
      mysql-test/t/udf.test:
        Test case to check constants passed UDFs.
      sql/item_func.cc:
        UDF _init functions are now passed the length of the constants, rather than the max length of the var containing the constant.
      sql/udf_example.c:
        Added check_const_len functions. The check_const_len_init functions checks that lengths of constants are correctly passed.
      sql/udf_example.def:
        Add new example functions to windows dll export list.
      24cb2b34
    • unknown's avatar
      Fix syntax error build problem on Windows (variable was defined · 2a65aba5
      unknown authored
      in middle of block)
      
      
      libmysql/libmysql.c:
        Fix syntax error - don't define new variables in the middle of a block.
        
        Also, use size_t instead of uint to avoid unnecessary casting.
      2a65aba5
    • unknown's avatar
      Fix for bug #31207: Test "join_nested" shows different strategy on IA64 · 56aad336
      unknown authored
      CPUs / Intel's ICC compile
      
      The bug is a combination of two problems:
      
      1. IA64/ICC MySQL binaries use glibc's qsort(), not the one in mysys.
      
      2. The order relation implemented by join_tab_cmp() is not transitive,
      i.e. it is possible to choose such a, b and c that (a < b) && (b < c)
      but (c < a). This implies that result of a sort using the relation
      implemented by join_tab_cmp() depends on the order in which
      elements are compared, i.e. the result is implementation-specific. Since
      choose_plan() uses qsort() to pre-sort the
      join tables using join_tab_cmp() as a compare function, the results of
      the sorting may vary depending on qsort() implementation.
      
      It is neither possible nor important to implement a better ordering
      algorithm in join_tab_cmp(). Therefore the only way to fix it is to
      force our own qsort() to be used by renaming it to my_qsort(), so we don't depend
      on linker to decide that.
      
      This patch also "fixes" bug #20530: qsort redefinition violates the
      standard.
      
      
      include/my_sys.h:
        Renamed qsort() and qsort2() to my_qsort() and my_qsort2(). Since
        previously we relied on stdlib.h to provide a declaration for qsort(), a
        separate declaration for my_qsort() is now required.
      libmysql/Makefile.shared:
        Added mf_qsort.c to libmysql, since my_lib.c now uses my_qsort() instead of qsort().
      myisam/ft_boolean_search.c:
        Replaced qsort2() with my_qsort2().
      myisam/ft_nlq_search.c:
        Replaced qsort2() with my_qsort2().
      myisam/myisampack.c:
        Replaced qsort() with my_qsort().
      myisam/sort.c:
        Replaced qsort2() with my_qsort2().
      mysys/mf_keycache.c:
        Replaced qsort() with my_qsort().
      mysys/mf_qsort.c:
        Renamed qsort() to my_qsort() and qsort2() to my_qsort2().
      mysys/mf_sort.c:
        Replaced qsort2() with my_qsort2().
      mysys/my_lib.c:
        Replaced qsort() with my_qsort().
      mysys/queues.c:
        Replaced qsort2() with my_qsort2().
      sql/item_cmpfunc.cc:
        Replaced qsort2() with my_qsort2().
      sql/item_cmpfunc.h:
        Replaced qsort2() with my_qsort2().
      sql/opt_range.cc:
        Replaced qsort() with my_qsort().
      sql/records.cc:
        Replaced qsort() with my_qsort().
      sql/sql_acl.cc:
        Replaced qsort() with my_qsort().
      sql/sql_array.h:
        Replaced qsort() with my_qsort().
      sql/sql_help.cc:
        Replaced qsort() with my_qsort().
      sql/sql_select.cc:
        Replaced qsort() with my_qsort().
      sql/examples/ha_tina.cc:
        Replaced qsort() with my_qsort().
      sql/sql_table.cc:
        Replaced qsort() with my_qsort().
      56aad336
    • unknown's avatar
      Fix for bug#31615: crash after set names ucs2 collate xxx · b4fd59ec
      unknown authored
      Problem: currently, UCS-2 cannot be used as a client character set.
      
      Fix: raise an error if one attempts to set it to USC-2.
      
      
      mysql-test/r/ctype_ucs.result:
        Fix for bug#31615: crash after set names ucs2 collate xxx
          - test result.
      mysql-test/t/ctype_ucs.test:
        Fix for bug#31615: crash after set names ucs2 collate xxx
          - test case.
      sql/set_var.cc:
        Fix for bug#31615: crash after set names ucs2 collate xxx
          - raise an error if one is going to set character_set_client to UCS-2.
      sql/set_var.h:
        Fix for bug#31615: crash after set names ucs2 collate xxx
          - raise an error if one is going to set character_set_client to UCS-2.
      b4fd59ec
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint · 1451a0eb
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      mysql-test/r/repair.result:
        Auto merged
      mysql-test/t/repair.test:
        Auto merged
      1451a0eb
    • unknown's avatar
  8. 16 Oct, 2007 6 commits
    • unknown's avatar
      Fixed broken call to my_error · 623e5187
      unknown authored
      
      sql/sql_yacc.yy:
        Fixed error message to use char*, not LEX_STRING
      623e5187
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · fd5bd91a
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-28318-rework
      
      fd5bd91a
    • unknown's avatar
      Implementing code review comments · 473e6285
      unknown authored
      
      mysql-test/r/sp.result:
        Added tests for coverage
      mysql-test/t/sp.test:
        Added tests for coverage
      sql/sql_udf.cc:
        Code cleanup
      473e6285
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint · 47d6d92d
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-5.0-maint
      
      
      myisam/sort.c:
        Auto merged
      mysql-test/r/repair.result:
        Auto merged
      mysql-test/t/repair.test:
        Auto merged
      47d6d92d
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug31174/my41-bug31174 · 40fe4b6e
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-4.1-maint
      
      40fe4b6e
    • unknown's avatar
      Bug#28318 (CREATE FUNCTION (UDF) requires a schema) -- part II · 739d2417
      unknown authored
      The root cause of the issue was that the CREATE FUNCTION grammar,
      for User Defined Functions, was using the sp_name rule.
      The sp_name rule is intended for fully qualified stored procedure names,
      like either ident.ident, or just ident but with a default database
      implicitly selected.
      
      A UDF does not have a fully qualified name, only a name (ident), and should
      not use the sp_name grammar fragment during parsing.
      
      The fix is to re-organize the CREATE FUNCTION grammar, to better separate:
      - creating UDF (no definer, can have AGGREGATE, simple ident)
      - creating Stored Functions (definer, no AGGREGATE, fully qualified name)
      
      With the test case provided, another issue was exposed which is also fixed:
      the DROP FUNCTION statement was using sp_name and also failing when no database
      is implicitly selected, when droping UDF functions.
      The fix is also to change the grammar so that DROP FUNCTION works with
      both the ident.ident syntax (to drop a stored function), or just the ident
      syntax (to drop either a UDF or a Stored Function, in the current database)
      
      
      mysql-test/r/sp-error.result:
        Adjust test results
      mysql-test/r/udf.result:
        Adjust test results
      mysql-test/t/sp-error.test:
        Adjust test results
      mysql-test/t/udf.test:
        Adjust test results
      sql/sql_parse.cc:
        CREATE UDF FUNCTION does not use a fully qualified name.
      sql/sql_yacc.yy:
        Fix grammar for CREATE / DROP FUNCTION, FOR udf
        Improve error messages for select no_such_function()
      739d2417
  9. 15 Oct, 2007 3 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 3eaea539
      unknown authored
      into  damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
      
      3eaea539
    • unknown's avatar
      Merge pilot.mysql.com:/data/msvensson/mysql/bug11589/my50-test_latest · 48ebefc7
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-maint
      
      
      libmysql/libmysql.c:
        Auto merged
      mysql-test/r/type_float.result:
        Manual merge
      mysql-test/t/type_float.test:
        Manual merge
      48ebefc7
    • unknown's avatar
      Fix for bug #30453: String not cast to int correctly. · 37bac1b0
      unknown authored
      Problem:
      
      my_strntoull10rnd_8bit() handled incorrectly cases when the input
      string contains a decimal point and is long enough to overrun the
      'unsigned long long' type. The position of the decimal point was not
      taken into account which resulted in miscalculated numbers and
      truncation to appropriate SQL data type limits.
      
      Solution:
      
      Fix my_strntoull10rnd_8bit() to take the position of a decimal point
      into account in such cases.
      
      
      mysql-test/r/insert.result:
        Added a test case for bug #30453.
      mysql-test/t/insert.test:
        Added a test case for bug #30453.
      strings/ctype-simple.c:
        In cases when the 'unsigned long long' type is overrun by the input
        string and a decimal point has occurred, adjust the 'shift' according to
        the position of the decimal point and skip all subsequent digits.
      37bac1b0