diff options
author | unknown <guilhem@mysql.com> | 2006-02-18 17:26:30 +0100 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2006-02-18 17:26:30 +0100 |
commit | 8470ae9cb1327ee5089b98a148e26bb207662fd7 (patch) | |
tree | f116e5166e64745d3a2d9e1b36b23de4e8815782 /sql/mysqld.cc | |
parent | cefc0b6dffcf3f7cd0e1ee7ebc6dd14eca622757 (diff) | |
download | mariadb-git-8470ae9cb1327ee5089b98a148e26bb207662fd7.tar.gz |
Fix for BUG#14769 "Function fails to replicate if fails half-way (slave stops)":
if the function, invoked in a non-binlogged caller (e.g. SELECT, DO), failed half-way on the master,
slave would stop and complain that error code between him and master mismatch.
To solve this, when a stored function is invoked in a non-binlogged caller (e.g. SELECT, DO), we binlog the function
call as SELECT instead of as DO (see revision comment of sp_head.cc for more).
And: minor wording change in the help text.
This cset will cause conflicts in 5.1, I'll merge.
mysql-test/r/rpl_sp.result:
result update
mysql-test/t/rpl_sp-slave.opt:
bug just fixed so option not needed
mysql-test/t/rpl_sp.test:
test for more half-failed functions with DO and SELECT, to test the bug of this changeset.
cleanup at the end.
sql/mysqld.cc:
function -> stored function (change suggested by Paul)
sql/sp_head.cc:
When a function updates data and is called from a non-binlogged statement (SELECT, DO), we binlog it
as SELECT myfunc(), and not DO myfunc() like before.
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r-- | sql/mysqld.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index c19fdcfde82..4c32d7f9de5 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4923,8 +4923,8 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite, */ {"log-bin-trust-function-creators", OPT_LOG_BIN_TRUST_FUNCTION_CREATORS, "If equal to 0 (the default), then when --log-bin is used, creation of " - "a function is allowed only to users having the SUPER privilege and only " - "if this function may not break binary logging.", + "a stored function is allowed only to users having the SUPER privilege and" + " only if this function may not break binary logging.", (gptr*) &trust_function_creators, (gptr*) &trust_function_creators, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"log-error", OPT_ERROR_LOG_FILE, "Error log file.", |