Commit graph

40115 commits

Author SHA1 Message Date
unknown
f3c9b38ea3 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21635
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug21635


sql/item_sum.cc:
  Auto merged
tests/mysql_client_test.c:
  Manual merge.
2006-11-22 14:08:43 +03:00
unknown
5af294b9aa Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug21635
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21635


sql/item_sum.cc:
  Auto merged
tests/mysql_client_test.c:
  Manual merge.
2006-11-22 14:05:26 +03:00
unknown
18770d2fe4 BUG#21635: MYSQL_FIELD struct's member strings seem to misbehave for
expression cols.

The problem was that MYSQL_FIELD::org_name was set for MIN() and MAX()
functions (COUNT() is also mentioned in the bug report but was already
fixed).

After this patch for expressions MYSQL_FIELD::name is set to either
expression itself or its alias, and other data origin fields of
MYSQL_FILED (db, org_table, table, org_name) are empty strings.


sql/item_sum.cc:
  For expressions only col_name should be non-empty string.
tests/mysql_client_test.c:
  Add test case for bug#21635: MYSQL_FIELD struct's member strings seem
  to misbehave for expression cols.
2006-11-22 13:58:00 +03:00
unknown
7c35c3d5e6 Polishing:
- 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.
2006-11-21 17:47:14 +03:00
unknown
cbfff7304d Polishing:
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.
2006-11-21 17:31:03 +03:00
unknown
817c6a4f1a Polishing: use the same coding style everywhere. 2006-11-21 17:01:11 +03:00
unknown
4da807726b Polishing + make the code compiled on Windows.
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.
2006-11-20 15:37:12 +03:00
unknown
bc06af9d69 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  bodhi.local:/opt/local/work/m51lamp


server-tools/instance-manager/listener.cc:
  Auto merged
2006-11-20 13:01:19 +03:00
unknown
223a8db08c Polishing: eliminate warnings.
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.
2006-11-20 10:05:24 +03:00
unknown
c95482d453 Port cleanups, trivial refactoring and code rearrangements from
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.
2006-11-18 01:34:44 +03:00
unknown
08df05560e A post-merge fix. 2006-11-17 20:07:52 +03:00
unknown
96b90824d4 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
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
2006-11-17 18:19:49 +03:00
unknown
3bb267683b Polishing: generate more warnings and make code warnings-free.
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.
2006-11-17 16:45:29 +03:00
unknown
a163ae30f2 Replace the approach using Foo_thread_args + Foo_thread and manually
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.
2006-11-17 16:11:04 +03:00
unknown
ec0f78f49b Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug23383
2006-11-17 12:39:55 +03:00
unknown
e9c1f8a1d1 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug23383
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
2006-11-17 12:33:59 +03:00
unknown
b06733a9f4 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug23383
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.
2006-11-17 12:30:26 +03:00
unknown
2d04b1914d BUG#23383: mysql_affected_rows() returns different values than
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().
2006-11-17 12:21:32 +03:00
unknown
211b2bc92a Cleanup: manually port the polishing parts from Alik's changeset for
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.
2006-11-16 23:36:20 +03:00
unknown
f224238f8a Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
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
2006-11-16 10:06:36 -07:00
unknown
2975d65cd8 Bug#22684 (BENCHMARK, ENCODE, DECODE and FORMAT are not real functions)
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)
2006-11-16 09:03:47 -07:00
unknown
9d4d6ffed3 Fix after manual merge. 2006-11-16 14:49:41 +03:00
unknown
5cb0011de7 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17047
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.
2006-11-16 14:13:03 +03:00
unknown
af22eb35e5 Add 5.0 part of fix for bug 17047.
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().
2006-11-16 14:06:51 +03:00
unknown
ec845335ac Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug17047
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".
2006-11-16 13:25:55 +03:00
unknown
e40e8052e8 BUG#17047: CHAR() and IN() can return NULL without signaling NULL result
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.
2006-11-16 13:21:38 +03:00
unknown
f09031ee36 Made the test deterministic, so they don't depend on the SF cache. 2006-11-15 15:51:22 -07:00
unknown
0586acd05d Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
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
2006-11-15 11:24:57 -07:00
unknown
418fd54843 Bug#18239 (Possible to overload internal functions with stored functions)
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.
2006-11-14 19:34:16 -07:00
unknown
0b0a695220 give a bit more time for the execution of the events
mysql-test/t/events_bugs.test:
  give a bit more time for execution
2006-11-13 15:28:23 +01:00
unknown
ea7921f68a Small adjustment after merging fix for bug#23651 "Server crashes when
trigger which uses stored function invoked from different connections"
into 5.1.


sql/item_func.cc:
  After merge fix. Starting from 5.1 TABLE_SHARE for dummy TABLE object
  is also allocated in Item_func_sp constructor, so we use TABLE::alias
  instead of TABLE::s to check that dummy TABLE was not initialized yet
  or requires re-initialization.
2006-11-13 14:30:12 +03:00
unknown
458fb082d0 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg23651
into  mockturtle.local:/home/dlenev/src/mysql-5.1-merge


mysql-test/r/trigger.result:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2006-11-13 11:29:40 +03:00
unknown
1031c460de Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg23651


sql/item_func.cc:
  Auto merged
2006-11-13 11:15:02 +03:00
unknown
fc83f787cb Fix for bug bug#23651 "Server crashes when trigger which uses
stored function invoked from different connections".

Invocation of trigger which was using stored function from different
connections caused server crashes (for non-debug server this happened
in highly concurrent environment, but debug server failed on assertion
in relatively simple scenario).

Item_func_sp was not safe to use in triggers (in other words for
re-execution from different threads) as artificial TABLE object
pointed by Item_func_sp::dummy_table referenced incorrect THD
object. To fix the problem we force re-initialization of this
object for each re-execution of statement.


mysql-test/r/trigger.result:
  Added test for bug#23651 "Server crashes when trigger which uses
  stored function invoked from different connections".
mysql-test/t/trigger.test:
  Added test for bug#23651 "Server crashes when trigger which uses
  stored function invoked from different connections".
sql/item_func.cc:
  To make Item_func_sp safe for usage in triggers (in other words safe
  for re-execution in different threads) we need to ensure that artificial
  TABLE object pointed by Item_func_sp::dummy_table references correct
  THD object. To achieve this we simply force its re-initialization for
  each re-execution of statement.
2006-11-13 11:10:49 +03:00
unknown
ce963d0c8e Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2006-11-12 23:48:59 +03:00
unknown
d1f5f590da Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2006-11-12 10:56:10 +03:00
unknown
383fbde532 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-11-12 10:55:33 +03:00
unknown
47bdda0b9d Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0
into  mysql.com:/Users/kent/mysql/bk/mysql-5.1


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-11 14:46:06 +01:00
unknown
3af223ed9b Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1
into  mysql.com:/Users/kent/mysql/bk/mysql-5.0
2006-11-11 14:32:10 +01:00
unknown
c6d317831a mysql-test-run.pl:
Test for base directory when a RPM install corrected


mysql-test/mysql-test-run.pl:
  Test for base directory when a RPM install corrected
2006-11-11 14:12:30 +01:00
unknown
c3d9588eaf Merge bodhi.local:/opt/local/work/mysql-5.0-runtime
into  bodhi.local:/opt/local/work/mysql-5.1-runtime


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/time.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
2006-11-11 14:59:14 +03:00
unknown
75a0878fbf Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/im_daemon_life_cycle.imtest:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/time.cc:
  Auto merged
mysql-test/t/rename.test:
  Use local (resolve a conflict)
2006-11-11 14:51:19 +03:00
unknown
2220a3a842 Merge trift2.:/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2006-11-10 20:24:05 +01:00
unknown
0b2cb6628f Merge trift2.:/MySQL/M50/push-5.0
into  trift2.:/MySQL/M51/push-5.1


BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838:
  Auto merged
configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/mysql-test-run-shell.sh:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/time.cc:
  Auto merged
storage/myisam/sort.c:
  Auto merged
2006-11-10 20:02:33 +01:00
unknown
e0854cbc14 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 19:41:47 +01:00
unknown
0bd4eaa765 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-10 19:39:26 +01:00
unknown
408969570b Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
2006-11-10 19:38:07 +01:00
unknown
f4113236d0 Merge trift2.:/MySQL/M50/bug24023-5.0
into  trift2.:/MySQL/M50/push-5.0


BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838:
  Auto merged
2006-11-10 19:11:26 +01:00
unknown
56934f9dd4 Merge trift2.:/MySQL/M41/push-4.1
into  trift2.:/MySQL/M50/push-5.0


BitKeeper/deleted/.del-gcc.cpp~3d2e013cfac48838:
  Auto merged
configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/rename.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/rename.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/time.cc:
  Auto merged
myisam/sort.c:
  Manual merge: "use local" (= 5.0 version).
mysql-test/mysql-test-run.pl:
  Manual merge, part of the fix for bug#17194.
2006-11-10 19:07:52 +01:00
unknown
aa341c498e Merge trift2.:/MySQL/M41/bug17194-4.1
into  trift2.:/MySQL/M41/push-4.1
2006-11-10 15:54:58 +01:00