1. 01 Nov, 2007 2 commits
  2. 23 Oct, 2007 6 commits
  3. 22 Oct, 2007 2 commits
  4. 19 Oct, 2007 4 commits
  5. 18 Oct, 2007 4 commits
  6. 17 Oct, 2007 5 commits
    • unknown's avatar
      Bug #29804 UDF parameters don't contain correct string length · 367fc73e
      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.
      367fc73e
    • unknown's avatar
      Fix syntax error build problem on Windows (variable was defined · a634d1bf
      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.
      a634d1bf
    • unknown's avatar
      Fix for bug #31207: Test "join_nested" shows different strategy on IA64 · ce8bf087
      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().
      ce8bf087
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint · d73ab388
      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
      d73ab388
    • unknown's avatar
  7. 16 Oct, 2007 6 commits
    • unknown's avatar
      Fixed broken call to my_error · 42b64243
      unknown authored
      
      sql/sql_yacc.yy:
        Fixed error message to use char*, not LEX_STRING
      42b64243
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 72af57b8
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-28318-rework
      
      
      72af57b8
    • unknown's avatar
      Implementing code review comments · 28ef3b2a
      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
      28ef3b2a
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/mysql-4.1-maint · 9ef7b5f6
      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
      9ef7b5f6
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/maint/bug31174/my41-bug31174 · 99a7866a
      unknown authored
      into  polly.(none):/home/kaa/src/maint/mysql-4.1-maint
      
      
      99a7866a
    • unknown's avatar
      Bug#28318 (CREATE FUNCTION (UDF) requires a schema) -- part II · f1d7a96b
      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()
      f1d7a96b
  8. 15 Oct, 2007 6 commits
  9. 12 Oct, 2007 5 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 432d42e7
      unknown authored
      into  solace.(none):/home/mtaylor/src/mysql/mysql-5.0-maint
      
      
      432d42e7
    • unknown's avatar
      Removing 7 year old 3.23 crufty debian dir that is not in use, so as not to cause confusion. · 06553067
      unknown authored
      
      BitKeeper/deleted/.del-README.debian:
        Delete: support-files/debian/README.debian
      BitKeeper/deleted/.del-changelog~8457b43736642c:
        Delete: support-files/debian/changelog
      BitKeeper/deleted/.del-control:
        Delete: support-files/debian/control
      BitKeeper/deleted/.del-copyright~3c3485ee25f7cde0:
        Delete: support-files/debian/copyright
      BitKeeper/deleted/.del-gomi:
        Delete: support-files/debian/gomi
      BitKeeper/deleted/.del-libmysqlclient10.dirs:
        Delete: support-files/debian/libmysqlclient10.dirs
      BitKeeper/deleted/.del-libmysqlclient10.postinst:
        Delete: support-files/debian/libmysqlclient10.postinst
      BitKeeper/deleted/.del-libmysqlclient9.dirs:
        Delete: support-files/debian/libmysqlclient9.dirs
      BitKeeper/deleted/.del-libmysqlclient9.postinst:
        Delete: support-files/debian/libmysqlclient9.postinst
      BitKeeper/deleted/.del-move:
        Delete: support-files/debian/move
      BitKeeper/deleted/.del-my.cnf~c8cce985cf5872e3:
        Delete: support-files/debian/my.cnf
      BitKeeper/deleted/.del-mysql-bench.dirs:
        Delete: support-files/debian/mysql-bench.dirs
      BitKeeper/deleted/.del-aa:
        Delete: support-files/debian/patches/aa
      BitKeeper/deleted/.del-mysql-client.dirs:
        Delete: support-files/debian/mysql-client.dirs
      BitKeeper/deleted/.del-mysql-dev.dirs:
        Delete: support-files/debian/mysql-dev.dirs
      BitKeeper/deleted/.del-mysql-doc.dirs:
        Delete: support-files/debian/mysql-doc.dirs
      BitKeeper/deleted/.del-mysql-max-debug.dirs:
        Delete: support-files/debian/mysql-max-debug.dirs
      BitKeeper/deleted/.del-mysql-max-debug.postinst:
        Delete: support-files/debian/mysql-max-debug.postinst
      BitKeeper/deleted/.del-mysql-max-debug.postrm:
        Delete: support-files/debian/mysql-max-debug.postrm
      BitKeeper/deleted/.del-mysql-max-shared.dirs:
        Delete: support-files/debian/mysql-max-shared.dirs
      BitKeeper/deleted/.del-mysql-max-shared.postinst:
        Delete: support-files/debian/mysql-max-shared.postinst
      BitKeeper/deleted/.del-mysql-max-shared.postrm:
        Delete: support-files/debian/mysql-max-shared.postrm
      BitKeeper/deleted/.del-mysql-max.dirs:
        Delete: support-files/debian/mysql-max.dirs
      BitKeeper/deleted/.del-mysql-max.postinst:
        Delete: support-files/debian/mysql-max.postinst
      BitKeeper/deleted/.del-mysql-max.postrm:
        Delete: support-files/debian/mysql-max.postrm
      BitKeeper/deleted/.del-mysql-server-debug.dirs:
        Delete: support-files/debian/mysql-server-debug.dirs
      BitKeeper/deleted/.del-mysql-server-debug.postinst:
        Delete: support-files/debian/mysql-server-debug.postinst
      BitKeeper/deleted/.del-mysql-server-debug.postrm:
        Delete: support-files/debian/mysql-server-debug.postrm
      BitKeeper/deleted/.del-mysql-server-shared.dirs:
        Delete: support-files/debian/mysql-server-shared.dirs
      BitKeeper/deleted/.del-mysql-server-shared.postinst:
        Delete: support-files/debian/mysql-server-shared.postinst
      BitKeeper/deleted/.del-mysql-server-shared.postrm:
        Delete: support-files/debian/mysql-server-shared.postrm
      BitKeeper/deleted/.del-mysql-server.conffiles:
        Delete: support-files/debian/mysql-server.conffiles
      BitKeeper/deleted/.del-mysql-server.dirs:
        Delete: support-files/debian/mysql-server.dirs
      BitKeeper/deleted/.del-mysql-server.postinst:
        Delete: support-files/debian/mysql-server.postinst
      BitKeeper/deleted/.del-mysql-server.postrm:
        Delete: support-files/debian/mysql-server.postrm
      BitKeeper/deleted/.del-mysql-server.prerm:
        Delete: support-files/debian/mysql-server.prerm
      BitKeeper/deleted/.del-rules~2018e0de32c6d936:
        Delete: support-files/debian/rules
      BitKeeper/deleted/.del-shlibs:
        Delete: support-files/debian/shlibs
      BitKeeper/deleted/.del-ab:
        Delete: support-files/debian/patches/ab
      BitKeeper/deleted/.del-ac:
        Delete: support-files/debian/patches/ac
      BitKeeper/deleted/.del-ad:
        Delete: support-files/debian/patches/ad
      BitKeeper/deleted/.del-ae:
        Delete: support-files/debian/patches/ae
      BitKeeper/deleted/.del-az:
        Delete: support-files/debian/patches/az
      BitKeeper/deleted/.del-ta:
        Delete: support-files/debian/patches/ta
      BitKeeper/deleted/.del-tb:
        Delete: support-files/debian/patches/tb
      06553067
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · ca83ea5e
      unknown authored
      into  sin.intern.azundris.com:/home/tnurnberg/30951/50-30951
      
      
      ca83ea5e
    • unknown's avatar
      Merge moksha.com.br:/Users/davi/mysql/bugs/post-rename-5.0 · 3cf3e286
      unknown authored
      into  moksha.com.br:/Users/davi/mysql/mysql-5.0-runtime
      
      
      3cf3e286
    • unknown's avatar
      Bug#31409 RENAME TABLE causes server crash or deadlock when used with HANDLER statements · 4eb4b37c
      unknown authored
      If mysql_lock_tables fails because the lock was aborted, we need to
      reset thd->some_tables_delete, otherwise we might loop indefinitely
      because handler's tables are not closed in a standard way, meaning
      that close_thread_tables() (which resets some_tables_deleted) is not
      used.
      
      This patch fixes sporadical failures of handler_myisam/innodb tests
      which were introduced by previous fix for this bug.
      
      
      sql/sql_handler.cc:
        Properly reset thd->some_tables_deleted if mysql_lock_tables
        fails for some reason.
      4eb4b37c