Commit graph

31223 commits

Author SHA1 Message Date
anozdrin/alik@booka.
2d082d86c9 Fix for BUG#20438: CREATE statements for views, stored routines and triggers
can be not replicable.

Now CREATE statements for writing in the binlog are created as follows:
  - the beginning of the statement is re-created;
  - the rest of the statement is copied from the original query.

The problem appears when there is a version-specific comment (produced by
mysqldump), started in the re-created part of the statement and closed in the
copied part -- there is closing comment-parenthesis, but there is no opening
one.

The proper fix could be to re-create original statement, but we can not
implement it in 5.0. So, for 5.0 the fix is just to cut closing
comment-parenthesis. This technique is also used for SHOW CREATE PROCEDURE
statement (so we are able to reuse existing code).
2006-07-28 02:49:18 +04:00
anozdrin/alik@booka.
b7f403b546 Fix for BUG#16211: Stored function return type for strings is ignored.
Fix for BUG#16676: Database CHARSET not used for stored procedures

The problem in BUG#16211 is that CHARSET-clause of the return type for
stored functions is just ignored.

The problem in BUG#16676 is that if character set is not explicitly
specified for sp-variable, the server character set is used instead
of the database one.

The fix has two parts:

  - always store CHARSET-clause of the return type along with the
    type definition in mysql.proc.returns column. "Always" means that
    CHARSET-clause is appended even if it has not been explicitly
    specified in CREATE FUNCTION statement (this affects BUG#16211 only).

    Storing CHARSET-clause if it is not specified is essential to avoid
    changing character set if the database character set is altered in
    the future.

    NOTE: this change is not backward compatible with the previous releases.

  - use database default character set if CHARSET-clause is not explicitly
    specified (this affects both BUG#16211 and BUG#16676).

    NOTE: this also breaks backward compatibility.
2006-07-27 17:57:43 +04:00
anozdrin/alik@booka.
7b34bbc43c Don't complain in the error log about IM shutdown unless
BUG#20761 is fixed.
2006-07-27 15:19:13 +04:00
kroki/tomash@moonlight.intranet
6d05e32d82 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug14702
2006-07-24 15:13:21 +04:00
kroki/tomash@moonlight.intranet
89ea3b01b5 BUG#14702: misleading error message when syntax error in
CREATE PROCEDURE

The bug was fixed already.  This changeset adds a test case.
2006-07-24 15:10:50 +04:00
kostja@bodhi.local
2ce1a07c89 A fix and a test case for Bug#15752 "Lost connection to MySQL server
when calling a SP from C API"

The bug was caused by lack of checks for misuse in mysql_real_query. 
A stored procedure always returns at least one result, which is the 
status of execution of the procedure itself.
This result, or so-called OK packet, is similar to a result
returned by INSERT/UPDATE/CREATE operations: it contains the overall
status of execution, the number of affected rows and the number of
warnings. The client test program attached to the bug did not read this 
result and ivnoked the next query. In turn, libmysql had no check for 
such scenario and mysql_real_query was simply trying to send that query 
without reading the pending response, thus messing up the communication
protocol.

The fix is to return an error from mysql_real_query when it's called
prior to retrieval of all pending results.
2006-07-24 14:56:53 +04:00
kroki/tomash@moonlight.intranet
afb31714c5 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug19207
2006-07-22 00:08:45 +04:00
anozdrin/alik@booka.site
bf10578fde Fix for BUG#20716: SHOW INSTANCES statement causes races in IM tests.
Fix for the bug in mysql-test-run.pl which prevents other tests succeed
after IM-test failure.
  
The idea of the fix of BUG#20716 is to:
  1. Check each SHOW INSTANCES statement, add necessary "sleep" instruction before;
  2. Move all environment checkings into the one file and include it everywhere.
2006-07-20 13:24:12 +04:00
kroki/tomash@moonlight.intranet
ed2d8cce57 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21013
2006-07-17 15:17:18 +04:00
kroki/tomash@moonlight.intranet
5a64e5c24f Bug#21013: Performance Degrades when importing data that uses Trigger
and Stored Procedure

The essence of the bug was that for every re-execution of stored
routine or prepared statement new items for character set conversions
were created, thus increasing the number of items and the time of their
processing, and creating memory leak.

No test case is provided since current test suite can't cover such type
of bugs.
2006-07-17 14:48:40 +04:00
kroki/tomash@moonlight.intranet
a3ea06db41 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18630
2006-07-13 17:21:44 +04:00
kroki/tomash@moonlight.intranet
4272d1efc3 Bug#18630: Arguments of suid routine calculated in wrong security
context.

Routine arguments were evaluated in the security context of the routine
itself, not in the caller's context.

The bug is fixed the following way:

  - Item_func_sp::find_and_check_access() has been split into two
    functions: Item_func_sp::find_and_check_access() itself only
    finds the function and check that the caller have EXECUTE privilege
    on it.  New function set_routine_security_ctx() changes security
    context for SUID routines and checks that definer have EXECUTE
    privilege too.

  - new function sp_head::execute_trigger() is called from
    Table_triggers_list::process_triggers() instead of
    sp_head::execute_function(), and is effectively just as the
    sp_head::execute_function() is, with all non-trigger related code
    removed, and added trigger-specific security context switch.

  - call to Item_func_sp::find_and_check_access() stays outside
    of sp_head::execute_function(), and there is a code in
    sql_parse.cc before the call to sp_head::execute_procedure() that
    checks that the caller have EXECUTE privilege, but both
    sp_head::execute_function() and sp_head::execute_procedure() call
    set_routine_security_ctx() after evaluating their parameters,
    and restore the context after the body is executed.
2006-07-13 17:12:31 +04:00
kostja@bodhi.local
b823c2f601 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-07-12 22:16:50 +04:00
kostja@bodhi.local
bd183d42dc Fix a valgrind warning in type_date test. 2006-07-12 19:19:43 +04:00
mkindahl@dl145k.mysql.com
8e7754c9b2 Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0
into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl
2006-07-12 10:05:55 +02:00
kostja@bodhi.local
15a76619c7 Post-merge fixes for Bug#19399 "Stored Procedures 'Lost Connection'
when dropping/creating tables"
2006-07-11 23:39:51 +04:00
kostja@bodhi.local
e4598dae1f Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-11 21:19:57 +04:00
kostja@bodhi.local
fbf54f8d72 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-11 17:04:27 +04:00
ingo/mydev@chilla.local
50b630ba7c Merge chilla.local:/home/mydev/mysql-5.0-release
into  chilla.local:/home/mydev/mysql-5.0-amerge
2006-07-11 13:01:27 +02:00
joerg@trift2.
6b9e4ff960 Raise the version number. 2006-07-11 12:34:43 +02:00
joerg@trift2.
7027740d6e Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into  trift2.:/M50/mysql-5.0
2006-07-11 11:32:45 +02:00
mkindahl@dl145k.mysql.com
34ca2ecd3d Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0-rpl
into  dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.0-merge
2006-07-11 11:15:22 +02:00
kostja@bodhi.local
77285cb650 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-11 08:36:50 +04:00
kostja@bodhi.local
4f3636dd5a Fix yet another Windows build failure: "true" -> TRUE 2006-07-11 01:46:44 +04:00
joerg@trift2.
90d80ffd81 Merge trift2.:/M50/clone-5.0
into  trift2.:/M50/mysql-5.0
2006-07-10 22:40:57 +02:00
joerg@trift2.
cf2d51c3f7 Raise the version number. 2006-07-10 22:38:13 +02:00
kostja@bodhi.local
171bcbf339 Fix a Windows build failure. 2006-07-10 23:58:36 +04:00
ingo/mydev@chilla.local
dfaa3c78f6 Revoking patch for Bug#10952 on behalf of Brian. 2006-07-10 20:46:05 +02:00
guilhem@gbichot3.local
02c17dfb17 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  gbichot3.local:/home/mysql_src/mysql-5.0
2006-07-10 17:06:19 +02:00
kostja@bodhi.local
d7f5d73fc2 Fix test results to be vardir-independent. 2006-07-10 16:22:42 +04:00
pekka@orca.ndb.mysql.com
72fa4883cf Merge orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50
into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50-1.2167.1.2
2006-07-10 14:12:02 +02:00
pekka@orca.ndb.mysql.com
9f3b47e53c ndb - bug#18781: close a tiny window (re-commit, try to by-pass merge jam) 2006-07-10 13:59:13 +02:00
pekka@orca.ndb.mysql.com
7c83e6d201 ndb - bug#18781 : 5.0 : add NODE_START_REP from 5.1 (re-commit, try to by-pass merge jam) 2006-07-10 13:44:15 +02:00
kostja@bodhi.local
f183c08476 A post-merge fix (Bug#8706 "temporary table with data directory option
fails"
2006-07-10 14:53:49 +04:00
kostja@bodhi.local
746749ed75 Add sql_locale.cpp to our windows build scripts. 2006-07-10 14:30:17 +04:00
pekka@orca.ndb.mysql.com
023f44356f Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50
2006-07-10 12:15:34 +02:00
pekka@orca.ndb.mysql.com
bdc7a14bba ndb - bug#20847: non-debug compile fix (repeat since cannot merge 4.1->5.0) 2006-07-10 12:13:45 +02:00
aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi
64d096f988 Merge dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/BARE/4.1
into  dsl-hkigw8-feb1fb00-100.dhcp.inet.fi:/usr_rh9/home/elkin.rh9/MySQL/TEAM/FIXES/5.0/20919_temp_nlog
2006-07-10 13:11:29 +03:00
joerg@trift2.
4fbf8f2fc0 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into  trift2.:/M50/mysql-5.0
2006-07-10 12:08:55 +02:00
joerg@trift2.
6ec62524b3 support-files/mysql.spec.sh : Fix a typing error. 2006-07-10 12:03:44 +02:00
joerg@trift2.
94ef9ca9ca Merge trift2.:/M50/clone-5.0
into  trift2.:/M50/back23-5.0
2006-07-10 11:42:45 +02:00
pekka@orca.ndb.mysql.com
7433d5ccbe Merge orca.ndb.mysql.com:/space/pekka/ndb/version/my50
into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50-bug20847
2006-07-10 11:31:37 +02:00
pekka@orca.ndb.mysql.com
79cc3bed10 mysql-test/Makefile.am: fix cp of mode 444 files (re-commit) 2006-07-10 11:09:32 +02:00
pekka@orca.ndb.mysql.com
71aa094c68 Merge orca.ndb.mysql.com:/space/pekka/ndb/version/my50
into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my50-bug20847
2006-07-10 11:02:46 +02:00
aelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi
fadbdf27c3 BUG#20919 temp tables closing fails when binlog is off
closing temp tables through end_thread
had a flaw in binlog-off branch of close_temporary_tables where
next table to close was reset via table->next
 for (table= thd->temporary_tables; table; table= table->next)
which was wrong since the current table instance got destoyed at
	close_temporary(table, 1);

The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying.
2006-07-10 00:26:26 +03:00
kostja@bodhi.local
2ab1e065e4 Fix compiler warnings in sql_udf.h: ISO C++ forbids casting
between pointer to function and pointer to object.
2006-07-09 13:03:51 +04:00
kostja@bodhi.local
f1d949a856 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-08 21:45:02 +04:00
ingo/mydev@chilla.local
f631765a06 Merge chilla.local:/home/mydev/mysql-5.0--main
into  chilla.local:/home/mydev/mysql-5.0-amerge
2006-07-08 16:50:50 +02:00
kostja@bodhi.local
ff1947da1e A post-merge fix. 2006-07-08 04:07:43 +04:00
kostja@bodhi.local
a2c0cdd75b Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-08 02:30:07 +04:00