1. 22 Nov, 2006 4 commits
  2. 21 Nov, 2006 11 commits
    • unknown's avatar
      Short fix for Windows. · 83609387
      unknown authored
      
      server-tools/instance-manager/manager.cc:
        Make it compilable on Windows.
      83609387
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1 · e0b735ab
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23159
      
      
      e0b735ab
    • unknown's avatar
      Polishing: · 7c35c3d5
      unknown authored
        - change some return types from int to bool;
        - add [ERROR] tag to log_error() output;
        - add [INFO] tag to log_info() output;
        - change log messages to be more consistent.
      
      
      server-tools/instance-manager/IMService.cpp:
        Log polishing.
      server-tools/instance-manager/commands.cc:
        Log polishing.
      server-tools/instance-manager/commands.h:
        Eliminate warnings.
      server-tools/instance-manager/instance.cc:
        Log polishing.
      server-tools/instance-manager/instance_map.cc:
        Log polishing.
      server-tools/instance-manager/instance_options.cc:
        1) Log polishing.
        2) Change int-return type to bool.
      server-tools/instance-manager/instance_options.h:
        Change int-return type to bool.
      server-tools/instance-manager/listener.cc:
        Log polishing.
      server-tools/instance-manager/log.cc:
        Log polishing.
      server-tools/instance-manager/log.h:
        Log polishing.
      server-tools/instance-manager/manager.cc:
        Log polishing.
      server-tools/instance-manager/mysql_connection.cc:
        Log polishing.
      server-tools/instance-manager/mysql_connection.h:
        Change int-return type to bool.
      server-tools/instance-manager/mysqlmanager.cc:
        Log polishing.
      server-tools/instance-manager/priv.cc:
        Log polishing.
      server-tools/instance-manager/thread_registry.cc:
        1. Print pthread_t as (unsigned long), not as (signed long)
        to avoid negative identifiers in output.
        2. Print thread id after it will be initialized, not before.
      server-tools/instance-manager/user_map.cc:
        Log polishing.
      7c35c3d5
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1 · 4b9f7904
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23159
      
      
      4b9f7904
    • unknown's avatar
      Polishing: · cbfff730
      unknown authored
      1) add support for joinable threads to Thread class;
      2) move checking of thread model to Manager from mysqlmanager.cc,
      because it is needed only for IM-main process.
      
      
      server-tools/instance-manager/instance.cc:
        Use Manager::is_linux_threads() instead of global variable.
      server-tools/instance-manager/listener.cc:
        Use Thread::start(DETACHED) instead of Thread::start_detached().
      server-tools/instance-manager/manager.cc:
        1. Use Thread::start(DETACHED) instead of Thread::start_detached();
        2. Move checking of thread model to Manager from mysqlmanager.cc,
        because it is needed only for IM-main process.
      server-tools/instance-manager/manager.h:
        Move checking of thread model to Manager from mysqlmanager.cc,
        because it is needed only for IM-main process.
      server-tools/instance-manager/mysqlmanager.cc:
        Move checking of thread model to Manager from mysqlmanager.cc,
        because it is needed only for IM-main process.
      server-tools/instance-manager/priv.cc:
        Move checking of thread model to Manager from mysqlmanager.cc,
        because it is needed only for IM-main process.
      server-tools/instance-manager/priv.h:
        Move checking of thread model to Manager from mysqlmanager.cc,
        because it is needed only for IM-main process.
      server-tools/instance-manager/thread_registry.cc:
        Add support of joinable threads to Thread class.
      server-tools/instance-manager/thread_registry.h:
        Add support of joinable threads to Thread class.
      cbfff730
    • unknown's avatar
      Update after merge. · 5e1c2e36
      unknown authored
      Use mutex when reading prepared_stmt_count global status variable.
      
      Update test case for bug 16365 and bug 23159: add test for
      prepared_stmt_count being decreased when some connection that had
      prepared statements is closed.
      
      
      mysql-test/r/ps.result:
        Update result for bug#16365 and bug#23159.
      mysql-test/t/ps.test:
        Update test case for bug#16365 and bug#23159: add test for
        prepared_stmt_count being decreased when some connection that had
        prepared statements is closed.
      sql/mysqld.cc:
        Use mutex when reading prepared_stmt_count global status variable.
      5e1c2e36
    • unknown's avatar
      Polishing: use the same coding style everywhere. · 817c6a4f
      unknown authored
      817c6a4f
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23159 · 8b4a32af
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23159
      
      
      mysql-test/r/ps.result:
        Auto merged
      mysql-test/t/ps.test:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        SCCS merged
      8b4a32af
    • unknown's avatar
      Fix after manual merge. · fdc37f06
      unknown authored
      
      mysql-test/r/ps.result:
        Fix after manual merge: update for different error message.
      mysql-test/t/ps.test:
        Fix after manual merge: use right error codes.
      fdc37f06
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug23159 · 596e29c2
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23159
      
      
      mysql-test/r/ps.result:
        Manual merge.
      mysql-test/t/ps.test:
        Manual merge.
      sql/mysqld.cc:
        Manual merge.
      sql/set_var.cc:
        Manual merge.
      596e29c2
    • unknown's avatar
      BUG#23159: prepared_stmt_count should be status variable · 7a45fb54
      unknown authored
      Make Prepared_stmt_count a global status variable, accessible via
      SHOW STATUS LIKE 'Prepared_stmt_count';.  Documentation should be
      updated.
      
      
      mysql-test/r/ps.result:
        Update result for bug#16365: Prepared Statements: DoS with too many
        open statements, according to bug#23159: prepared_stmt_count should be
        status variable.
      mysql-test/t/ps.test:
        Update test case for bug#16365: Prepared Statements: DoS with too many
        open statements, according to bug#23159: prepared_stmt_count should be
        status variable.
      sql/mysqld.cc:
        Add Prepared_stmt_count as global status variable.
      sql/set_var.cc:
        Remove prepared_stmt_count as system variable.
      7a45fb54
  3. 20 Nov, 2006 3 commits
    • unknown's avatar
      Polishing + make the code compiled on Windows. · 4da80772
      unknown authored
      
      server-tools/instance-manager/listener.cc:
        Polishing: declare variable prior to the first statement in block.
      server-tools/instance-manager/listener.h:
        Polishing.
      server-tools/instance-manager/manager.cc:
        Make Manager::manager_pid local variable.
      server-tools/instance-manager/manager.h:
        Make Manager::manager_pid local variable.
      server-tools/instance-manager/thread_registry.cc:
        Polsihing.
      4da80772
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · bc06af9d
      unknown authored
      into  bodhi.local:/opt/local/work/m51lamp
      
      
      server-tools/instance-manager/listener.cc:
        Auto merged
      bc06af9d
    • unknown's avatar
      Polishing: eliminate warnings. · 223a8db0
      unknown authored
      
      server-tools/instance-manager/Makefile.am:
        - replace -Wextra by -W for old compilers;
        - remove -Werror
      server-tools/instance-manager/listener.cc:
        Use explicit cast to eliminate warning on Solaris.
      223a8db0
  4. 17 Nov, 2006 9 commits
    • unknown's avatar
      Port cleanups, trivial refactoring and code rearrangements from · c95482d4
      unknown authored
      Alik's patch for BUG#22306: STOP INSTANCE can not be applied for 
      instances in Crashed, Failed and Abandoned" to ease review process.
      Evaluate global variable linuxthreads before starting threads to avoid
      a race.
      
      
      server-tools/instance-manager/buffer.cc:
        Fix spelling.
      server-tools/instance-manager/command.h:
        Fix spelling.
      server-tools/instance-manager/commands.cc:
        Fix spelling.
      server-tools/instance-manager/commands.h:
        Fix spelling, tidy up.
      server-tools/instance-manager/guardian.cc:
        Cleanup logging, options.get_shutdown_delay() is a method, tidy up.
      server-tools/instance-manager/instance.cc:
        Rearrange methods to be the same as in Alik's patch, fix spelling errors,
        clean up logging texts, port comments from Alik's patch, 
        implement some basic renames from his patch.
        No real changes.
      server-tools/instance-manager/instance.h:
        Tidy up, renames.
      server-tools/instance-manager/instance_map.cc:
        Fix spellings, port some refactoring from Alik's patch.
      server-tools/instance-manager/instance_map.h:
        Cleanup.
      server-tools/instance-manager/instance_options.cc:
        Cleanup. Implement Instance_options::get_shutdown_delay() and
        Instance_options::get_mysqld_port().
      server-tools/instance-manager/instance_options.h:
        Cleanup.
      server-tools/instance-manager/listener.cc:
        Cleanup.
      server-tools/instance-manager/log.cc:
        Fix spelling.
      server-tools/instance-manager/manager.cc:
        Cleanup.
      server-tools/instance-manager/manager.h:
        Add getters for Manager members.
      server-tools/instance-manager/mysqlmanager.cc:
        Evaluate linuxthreads before starting threads to avoid a race.
      server-tools/instance-manager/parse_output.cc:
        Fix spelling.
      server-tools/instance-manager/priv.cc:
        Cleanup.
      server-tools/instance-manager/priv.h:
        Cleanup.
      server-tools/instance-manager/user_management_commands.cc:
        Fix spelling.
      server-tools/instance-manager/user_management_commands.h:
        Fix spelling.
      server-tools/instance-manager/user_map.cc:
        Fix spelling.
      c95482d4
    • unknown's avatar
      A post-merge fix. · 08df0556
      unknown authored
      08df0556
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 96b90824
      unknown authored
      into  bodhi.local:/opt/local/work/m51lamp
      
      
      server-tools/instance-manager/commands.cc:
        Auto merged
      server-tools/instance-manager/instance.cc:
        Auto merged
      server-tools/instance-manager/mysql_connection.cc:
        Resolve a merge conflict manually./Mysq
      96b90824
    • unknown's avatar
      Polishing: generate more warnings and make code warnings-free. · 3bb26768
      unknown authored
      
      server-tools/instance-manager/Makefile.am:
        Generate more warnings.
      server-tools/instance-manager/commands.cc:
        Eliminate warnings.
      server-tools/instance-manager/commands.h:
        Eliminate warnings.
      server-tools/instance-manager/instance.cc:
        Eliminate warnings.
      server-tools/instance-manager/mysql_connection.cc:
        Eliminate warnings.
      server-tools/instance-manager/parse.cc:
        Eliminate warnings.
      server-tools/instance-manager/user_map.cc:
        Eliminate warnings.
      server-tools/instance-manager/user_map.h:
        Eliminate warnings.
      3bb26768
    • unknown's avatar
      Replace the approach using Foo_thread_args + Foo_thread and manually · a163ae30
      unknown authored
      spawned threads with a reusable class Thread.
      
      This is the second idea implemented in the Alik's patch for
      BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
      Failed and Abandoned.
      Commiting separately to ease review process. 
      
      
      server-tools/instance-manager/commands.cc:
        Remove an unused header.
      server-tools/instance-manager/guardian.cc:
        Use Thread framework instead of manually spawning the Guardian thread.
        Tidy up.
      server-tools/instance-manager/guardian.h:
        Use Thread framework instead of manually spawning the Guardian thread.
      server-tools/instance-manager/instance.cc:
        Use Thread framework instead of manually spawning the instance
        monitoring thread.
      server-tools/instance-manager/listener.cc:
        Use Thread framework instead of manually spawning the 
        mysql connection thread.
      server-tools/instance-manager/listener.h:
        Use Thread framework instead of manually spawning the 
        mysql connection thread.
        Rename Listener_thread to Listener for brevity.
      server-tools/instance-manager/manager.cc:
        Change references to pointers, as per the coding style.
        Use Thread framework instead of manually spawning threads.
      server-tools/instance-manager/mysql_connection.cc:
        Get rid of Mysql_connection_thread_args. Use class Thread framework
        instead. Rename Mysql_connection_thread to Mysql_connection for brevity.
      server-tools/instance-manager/mysql_connection.h:
        Get rid of Mysql_connection_thread_args. Use class Thread framework
        instead. Rename Mysql_connection_thread to Mysql_connection for brevity.
      server-tools/instance-manager/priv.cc:
        Move set_stacksize_and_create_thread to thread_registry.cc and make it
        static: it is not used anywhere else now.
      server-tools/instance-manager/priv.h:
        No public set_stacksize_n_create_thread
      server-tools/instance-manager/thread_registry.cc:
        Implement a base Thread class to be used for all Instance Manager
        threads.
      server-tools/instance-manager/thread_registry.h:
        Implement a base Thread class to be used for all Instance Manager
        threads.
      a163ae30
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1 · ec0f78f4
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23383
      
      
      ec0f78f4
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383 · e9c1f8a1
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23383
      
      
      libmysql/libmysql.c:
        Auto merged
      libmysqld/lib_sql.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      e9c1f8a1
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug23383 · b06733a9
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383
      
      
      libmysql/libmysql.c:
        Manual merge.
      libmysqld/lib_sql.cc:
        Manual merge.
      tests/mysql_client_test.c:
        Manual merge.
      b06733a9
    • unknown's avatar
      BUG#23383: mysql_affected_rows() returns different values than · 2d04b191
      unknown authored
      mysql_stmt_affected_rows()
      
      The problem was that affected_rows for prepared statement wasn't updated
      in the client library on the error.  The solution is to always update
      affected_rows, which will be equal to -1 on the error.
      
      
      libmysql/libmysql.c:
        Update status variables even in the case of an error.  Some variables
        have a defined value on the error (like affected_rows is -1), others are
        undefined, so updating them won't harm.
      libmysqld/lib_sql.cc:
        Update status variables even in the case of an error.  Some variables
        have a defined value on the error (like affected_rows is -1), others are
        undefined, so updating them won't harm.
      tests/mysql_client_test.c:
        Add test for bug#23383: mysql_affected_rows() returns different values
        than mysql_stmt_affected_rows().
      2d04b191
  5. 16 Nov, 2006 8 commits
    • unknown's avatar
      Cleanup: manually port the polishing parts from Alik's changeset for · 211b2bc9
      unknown authored
      BUG#22306: STOP INSTANCE can not be applied for instances in Crashed,
      Failed and Abandoned
      
      
      mysql-test/t/im_options.imtest:
        Update test for new framework.
      server-tools/instance-manager/IMService.cpp:
        Use Manager class instead of manager().
        Reformat comments.
      server-tools/instance-manager/Makefile.am:
        Treat warnings as errors.
      server-tools/instance-manager/command.cc:
        Store references to Guardian_thread and Instance_map in Command attributes.
      server-tools/instance-manager/command.h:
        Store references to Guardian_thread and Instance_map in Command 
        attributes.
      server-tools/instance-manager/commands.cc:
        Remove Instance_map argument from command constructors.
      server-tools/instance-manager/commands.h:
        Remove Instance_map argument from command constructors.
      server-tools/instance-manager/guardian.cc:
        Rename: Guardian_thread -> Guardian
      server-tools/instance-manager/guardian.h:
        Rename: Guardian_thread -> Guardian
      server-tools/instance-manager/instance_map.cc:
        Rename: Guardian_thread -> Guardian.
      server-tools/instance-manager/instance_map.h:
        Rename: Guardian_thread -> Guardian.
      server-tools/instance-manager/manager.cc:
        Use Manager class instead of manager() function.
      server-tools/instance-manager/manager.h:
        Transfer manager() function into Manager class (singleton).
      server-tools/instance-manager/mysql_connection.cc:
        Polishing.
      server-tools/instance-manager/mysqlmanager.cc:
        Use Manager class instead of manager() function.
      server-tools/instance-manager/parse.cc:
        Rename: Guardian_thread -> Guardian
      server-tools/instance-manager/parse.h:
        Rename: Guardian_thread -> Guardian
      server-tools/instance-manager/priv.cc:
        Move create_pid_file() out of manager.cc.
      server-tools/instance-manager/priv.h:
        Move create_pid_file() out of manager.cc.
      server-tools/instance-manager/thread_registry.h:
        Prevent copying.
      server-tools/instance-manager/user_map.cc:
        Fix alignment.
      211b2bc9
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · f224238f
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-22684
      
      
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      f224238f
    • unknown's avatar
      Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions) · 2975d65c
      unknown authored
      Before this change, the functions BENCHMARK, ENCODE, DECODE and FORMAT could
      only accept a constant for some parameters.
      
      After this change, this restriction has been removed. An implication is that
      these functions can also be used in prepared statements.
      
      The change consist of changing the following classes:
      - Item_func_benchmark
      - Item_func_encode
      - Item_func_decode
      - Item_func_format
      to:
      - only accept Item* in the constructor,
      - and evaluate arguments during calls to val_xxx()
      which fits the general design of all the other functions.
      
      The 'TODO' items identified in item_create.cc during the work done for
      Bug 21114 are addressed by this fix, as a natural consequence of aligning
      the design.
      
      In the 'func_str' test, a single very long test line involving an explain
      extended select with many functions has been rewritten into multiple
      separate tests, to improve maintainability.
      The result of explain extended select decode(encode(...)) has changed,
      since the encode and decode functions now print all their parameters.
      
      
      mysql-test/r/func_str.result:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      mysql-test/r/parser.result:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      mysql-test/r/ps.result:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      mysql-test/t/func_str.test:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      mysql-test/t/parser.test:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      mysql-test/t/ps.test:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      sql/item_create.cc:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      sql/item_func.cc:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      sql/item_func.h:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      sql/item_strfunc.cc:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      sql/item_strfunc.h:
        Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
      2975d65c
    • unknown's avatar
      Fix after manual merge. · 9d4d6ffe
      unknown authored
      9d4d6ffe
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047 · 5cb0011d
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug17047
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      mysql-test/r/func_in.result:
        Manual merge.  Add "End of <version> tests" marker.
      mysql-test/r/func_str.result:
        Manual merge.  Add "End of <version> tests" marker.
      mysql-test/t/func_in.test:
        Manual merge.  Add "End of <version> tests" marker.
      mysql-test/t/func_str.test:
        Manual merge.  Add "End of <version> tests" marker.
      5cb0011d
    • unknown's avatar
      Add 5.0 part of fix for bug 17047. · af22eb35
      unknown authored
      
      mysql-test/r/func_str.result:
        Add result for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      mysql-test/t/func_str.test:
        Add test case for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      sql/item_strfunc.cc:
        Add Item_str_func::fix_fields() implementation, and set maybe_null to
        TRUE if we are in the SQL mode that requires some functions to return
        null even if they normally do not.
      sql/item_strfunc.h:
        Add declaration of Item_str_func::fix_fields().
        Do not reset maybe_null in Item_func_char::fix_length_and_dec().
      af22eb35
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug17047 · ec845335
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      mysql-test/r/func_in.result:
        Manual merge.  Add "End of 5.0 tests".
      mysql-test/t/func_in.test:
        Manual merge.  Add "End of 5.0 tests".
      ec845335
    • unknown's avatar
      BUG#17047: CHAR() and IN() can return NULL without signaling NULL result · e40e8052
      unknown authored
      The problem was that some functions (namely IN() starting with 4.1, and
      CHAR() starting with 5.0) were returning NULL in certain conditions,
      while they didn't set their maybe_null flag.  Because of that there could
      be some problems with 'IS NULL' check, and statements that depend on the
      function value domain, like CREATE TABLE t1 SELECT 1 IN (2, NULL);.
      
      The fix is to set maybe_null correctly.
      
      
      mysql-test/r/func_in.result:
        Add result for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      mysql-test/t/func_in.test:
        Add test case for bug#17047: CHAR() and IN() can return NULL without
        signaling NULL result.
      sql/item_cmpfunc.cc:
        Remove assignment to maybe_null, as it was already set in fix_fields()
        based on all arguments, not only on the first.
      e40e8052
  6. 15 Nov, 2006 3 commits
    • unknown's avatar
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 0586acd0
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-18239
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      0586acd0
    • unknown's avatar
      Bug#18239 (Possible to overload internal functions with stored functions) · 418fd548
      unknown authored
      Bug#21025 (misleading error message when creating functions named 'x', or 'y')
      Bug#22619 (Spaces considered harmful)
      
      This change contains a fix to report warnings or errors, and multiple tests
      cases.
      
      Before this fix, name collisions between:
      - Native functions
      - User Defined Functions
      - Stored Functions
      were not systematically reported, leading to confusing behavior.
      
      I) Native / User Defined Function
      
      Before this fix, is was possible to create a UDF named "foo", with the same
      name as a native function "foo", but it was impossible to invoke the UDF,
      since the syntax "foo()" always refer to the native function.
      After this fix, creating a UDF fails with an error if there is a name
      collision with a native function.
      
      II) Native / Stored Function
      
      Before this fix, is was possible to create a SF named "db.foo", with the same
      name as a native function "foo", but this was confusing since the syntax
      "foo()" would refer to the native function. To refer to the Stored Function,
      the user had to use the "db.foo()" syntax.
      After this fix, creating a Stored Function reports a warning if there is a
      name collision with a native function.
      
      III) User Defined Function / Stored Function
      
      Before this fix, creating a User Defined Function "foo" and a Stored Function
      "db.foo" are mutually exclusive operations. Whenever the second function is
      created, an error is reported. However, the test suite did not cover this
      behavior.
      After this fix, the  behavior is unchanged, and is now covered by test cases.
      
      Note that the code change in this patch depends on the fix for Bug 21114.
      
      
      mysql-test/r/sp.result:
        New test cases.
      mysql-test/r/udf.result:
        New test cases.
      mysql-test/t/sp.test:
        New test cases.
      mysql-test/t/udf.test:
        New test cases.
      sql/sql_lex.cc:
        Name collisions with native functions.
      sql/sql_lex.h:
        Name collisions with native functions.
      sql/sql_yacc.yy:
        Name collisions with native functions.
      sql/share/errmsg.txt:
        Name collisions with native functions.
      mysql-test/r/sp_gis.result:
        New test cases.
      mysql-test/t/sp_gis.test:
        New test cases.
      418fd548
  7. 13 Nov, 2006 2 commits