Indeed now that stored procedures CALL is not binlogged, but instead the invoked substatements are,
the restrictions applied by log-bin-trust-routine-creators=0 are superfluous for procedures.
They still need to apply to functions where function calls are written to the binlog (for example as "DO myfunc(3)").
We rename the variable to log-bin-trust-function-creators but allow the old name until some future version (and issue a warning if old name is used).
mysql-test/mysql-test-run.pl:
update to new option name
mysql-test/mysql-test-run.sh:
update to new option name
mysql-test/mysql_test_run_new.c:
update to new option name
mysql-test/r/rpl_sp.result:
result update
mysql-test/t/rpl_sp-slave.opt:
we need to skip this error to not hit BUG#14769
mysql-test/t/rpl_sp.test:
Test update:
1) as log-bin-trust-routine-creators now affects only functions, the testing of this option, which was
mainly done on procedures, is moved to functions
2) cleanup is simplified; and instead of many SHOW BINLOG EVENTS we do a big one in the end, which is more
maintainable.
3) we test a few more function and procedures cases to see how they replicate.
4) removing out-of-date comments
sql/item_func.cc:
This warning is wrong since binlogging of functions was changed in August. If a function fails
in the middle, it will be binlogged with its error code (i.e. properly).
sql/mysql_priv.h:
variable name changed
sql/mysqld.cc:
option name changes. A precision about --read-only.
sql/set_var.cc:
a new class sys_var_trust_routine_creators to be able to issue a "this is a deprecated variable" warning if used.
sql/set_var.h:
new class to be able to issue a "this is a deprecated variable" warning if used.
sql/share/errmsg.txt:
routine -> function
sql/sp.cc:
log-bin-trust-routine-creators now applies only to functions.
sql/sql_parse.cc:
1) sending ER_FAILED_ROUTINE_BREAK_BINLOG is wrong since August as we don't binlog CALL anymore but instead binlog the substatements;
the clear_error() goes away too as it was necessary only when we created a binlog event from the "CALL" statement.
2) log-bin-trust-routine-creators now applies only to functions.
sql/sql_trigger.cc:
comments.
mysql-test/my_manage.c:
Avoid warning: i not used in case of Windows.
mysql-test/mysql_test_run_new.c:
Removed unused variable.
sql/item_func.cc:
Removed unused variables.
strings/ctype-simple.c:
Added cast.
strings/ctype-ucs2.c:
Added cast.
mysql-test/mysql_test_run_new.c:
Add --log-bin-trust-routine-creators
mysql-test/mysql-test-run.pl:
Add --log-bin-trust-routine-creators
mysql-test/t/information_schema.test:
Fix use of users to cope with lack of grant to %@localhost to test.*
mysql-test/r/information_schema.result:
Update results
renamed client_test to mysql_client_test
fixed name for lstat in removef()
added mysql-debug.exe for Windows
added enviroment variable MYSQL_CLIENT_TEST
added cleaning directory before tests
New BitKeeper file ``VC++Files/tests/mysql_client_test.dsp''
Delete: VC++Files/tests/client_test.dsp
BitKeeper/deleted/.del-client_test.dsp~659d0237a4c12ea1:
Delete: VC++Files/tests/client_test.dsp
VC++Files/mysql.dsw:
renamed client_test to mysql_client_test
mysql-test/my_manage.c:
fixed name for lstat in removef()
mysql-test/mysql_test_run_new.c:
added mysql-debug.exe for Windows
added enviroment variable MYSQL_CLIENT_TEST
added cleaning directory before tests
added client_test.dsp in project
added CHARACTER SET in tables
added 5th time zone
included lstat in if()
expanded ignore list for windows
added directory slave1 and slave2
added options for mysqld and mysqltest
fixed error in read_option()
fixed and added enviroment variables for Linux and Windows
rewrote str_tok()
added replacment 3th column
New BitKeeper file ``VC++Files/tests/client_test.dsp''
VC++Files/mysql.dsw:
added client_test.dsp in project
mysql-test/my_create_tables.c:
added CHARACTER SET in tables
added 5th time zone
mysql-test/my_manage.c:
included lstat in if()
mysql-test/mysql_test_run_new.c:
expanded ignore list for windows
added directory slave1 and slave2
added options for mysqld and mysqltest
fixed error in read_option()
fixed and added enviroment variables for Linux and Windows
rewrote str_tok()
mysql-test/t/ps_1general.test:
added replacment 3th column
_stricmp was replaved on sting_compare_func
added breakes for windows
mysql-test/mysql_test_run_new.c:
_stricmp was replaved on sting_compare_func
added breakes for windows
Link mysql_test_run_new as console application
my_manage.c:
The type intptr_t isn't defined for VC 6.0
Changed return type for CreateProcess() to bool
mysql_test_run_new.c:
The type intptr_t isn't defined for VC 6.0
mysqltest.dsp:
Added regex to additional build types for mysqltest
mysqldump.dsp:
Added mysys.lib for linking mysqldump
VC++Files/client/mysqldump.dsp:
Added mysys.lib for linking mysqldump
VC++Files/client/mysqltest.dsp:
Added regex to additional build types for mysqltest
mysql-test/mysql_test_run_new.c:
The type intptr_t isn't defined for VC 6.0
mysql-test/my_manage.c:
The type intptr_t isn't defined for VC 6.0
Changed return type for CreateProcess() to bool
VC++Files/mysql-test/mysql_test_run_new.dsp:
Link mysql_test_run_new as console application
Added Solaris compatibility
mysql-test/my_manage.c:
Added Solaris compatibility
mysql-test/my_manage.h:
Added Solaris compatibility
mysql-test/mysql_test_run_new.c:
Added Solaris compatibility
Included header fnmatch.h on Unix
Changed C++ comments to C comments
Corrected indentation of code written on Windows
Split up lines to fit into 80 columns
Initiated some variables to avoid warnings
Added __attribute__((unused)) to unused function parameters
Replace tab characters with space
Put space after 'for', 'while' etc
Added value to 'return' from non void function removef()
On Unix strlwr() was incorrectly declared and a no op,
replaced it with a macro that does nothing
Split several statements on the same line
Other minor changes to conform to coding standard
mysql-test/mysql_test_run_new.c:
Included header fnmatch.h on Unix
Changed C++ comments to C comments
Corrected indentation of code written on Windows
Split up lines to fit into 80 columns
Initiated some variables to avoid warnings
Added __attribute__((unused)) to unused function parameters
Replace tab characters with space
Put space after 'for', 'while' etc
Added value to 'return' from non void function removef()
On Unix strlwr() was incorrectly declared and a no op,
replaced it with a macro that does nothing
Split several statements on the same line
Other minor changes to conform to coding standard