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/r/ps_1general.result:
Remove binlog from visable engine list.
sql/handler.h:
Added documentation to HTON's
sql/log.cc:
binlog now has hidden flag show that it does now show up in show storage engine list.
sql/sql_show.cc:
Flag removes engines from view in show storage engines
Corrected the syntax for the current_user() case.
(It's "definer = current_user[()]", not just "current_user[()]".)
mysql-test/r/view.result:
New test case for BUG#14719
mysql-test/t/view.test:
New test case for BUG#14719
sql/sql_yacc.yy:
Corrected the CREATE VIEW syntax for the current_user() DEFINER case.
(It's "definer = current_user[()]", not just "current_user[()]".)
into mysql.com:/home/psergey/mysql-5.0-oct08-push
mysql-test/r/create.result:
Auto merged
mysql-test/t/create.test:
Auto merged
sql/sql_table.cc:
Auto merged
initialization crashes server.
Make sure variables are initialized to something (like null) when
the default initialization fails and a continue handler is in effect.
mysql-test/r/sp.result:
New test case for BUG#14643.
mysql-test/t/sp.test:
New test case for BUG#14643.
sql/sp_head.cc:
Make sure variables are initialized to something (like null) when
the default initialization fails and a continue handler is in effect.
If this also fails (out of memory), we have to abort without letting
the handler catch.
Two handler objects were present, one was used for an insert and the other for a select
The state of the statistics was local to the handler object and thus the other handler
object didn't notice the insert.
Fix included:
1) Add a new variable key_stat_version added to whenever statistics was considered in need
of update (previously key_stats_ok= FALSE in those places)
2) Add a new handler variable key_stat_version assigned whenever key_stats_ok= TRUE was set
previously
3) Fix records_in_range to return records if records <= 1
4) Fix records_in_range to add 2 to rec_per_key to ensure we don't specify 0 or 1 when it isn't
and thus invoking incorrect optimisations.
5) Fix unique key handling for HEAP table in records_in_range
non-deterministic result in the test case for BUG#7947
the bug fix for BUG#7947 now fixed the result of mix_innodb_myisam_binlog test, which
in the past was missing DO RELEASE_LOCK() in the output of SHOW BINLOG EVENTS
mysql-test/r/mix_innodb_myisam_binlog.result:
DO RELEASE_LOCK() was supposed to be there from the very start
mysql-test/r/rpl_bug7947.result:
changed select release_lock() to do release_lock() to avoid having to compare the
non-deterministic result
mysql-test/t/rpl_bug7947.test:
changed select release_lock() to do release_lock() to avoid having to compare the
non-deterministic result
are done for the = operator, such as when doing a comparison with a large
unsigned number that was quoted. (Bug #12612)
mysql-test/r/func_equal.result:
Add new results
mysql-test/t/func_equal.test:
Add new test
sql/item_cmpfunc.cc:
Handle FIELD_ITEM that can be compared as a longlong in agg_cmp_type()
instead of in each of the places it is called.
transaction while holding the lock. Also test to make sure other binlogging issues
reported in the bug have been addressed.
sql/item_func.cc:
fix for BUG#7947
mysql-test/r/rpl_bug7947.result:
New BitKeeper file ``mysql-test/r/rpl_bug7947.result''
mysql-test/t/rpl_bug7947.test:
New BitKeeper file ``mysql-test/t/rpl_bug7947.test''
Replace the full socket path name, not just a directory component. bug#14720
mysql-test/r/connect.result:
In cases where "--tmpdir=" is given to the test run, the socket file is not created below
"$MYSQL_TEST_DIR" but rather within this directory. So the "--replace_result" should not
be done to a directory in the path but rather to the complete path name of the socket file.
bug#14720
mysql-test/t/connect.test:
In cases where "--tmpdir=" is given to the test run, the socket file is not created below
"$MYSQL_TEST_DIR" but rather within this directory. So the "--replace_result" should not
be done to a directory in the path but rather to the complete path name of the socket file.
bug#14720
test "length" first (otherwise when "length" is 0, the *from invalid access still triggers a Valgrind warning).
I wrote to the Valgrind authors in case this is something fixable in Valgrind (normally the
decision to issue a warning is based on the simulated CPU condition code, which should not be undefined here).
BUILD/compile-pentium64-valgrind-max:
putting this script in sync with compile-pentium-valgrind-max, otherwise we didn't have the federated engine compiled in.
mysql-test/r/read_only.result:
result update
sql/field.cc:
To avoid a Valgrind warning running the type_bit test: test "length" first (otherwise when "length" is 0, the *from invalid access still triggers a Valgrind warning).
Initialized usable_keys from table->keys_in_use instead of ~0
in test_if_skip_sort_order(). It was possible that a disabled
index was used for sorting.
mysql-test/r/myisam.result:
Bug#14616 - Freshly imported table returns error 124 when using LIMIT
The test result.
mysql-test/t/myisam.test:
Bug#14616 - Freshly imported table returns error 124 when using LIMIT
The test case.
ctype_utf8.result, ctype_utf8.test:
Adding test case.
item_strfunc.cc:
item_strfunc.h:
Moving the well formed checking code into a method,
to reuse in several Item_func_xxx. Reusing the new
method in Item_func_char and Item_func_charset_conv.
sql/item_strfunc.h:
Bug#14146 CHAR(...USING ...) and CONVERT(CHAR(...) USING...) produce different results
Moving the well formed checking code into a method,
to reuse in several Item_func_xxx.
sql/item_strfunc.cc:
Moving the well formed checking code into a method,
to reuse in several Item_func_xxx.
mysql-test/t/ctype_utf8.test:
Adding test case.
mysql-test/r/ctype_utf8.result:
Adding test case.
when calculating table->null_fields.
mysql-test/r/create.result:
Testcase for BUG#14480
mysql-test/t/create.test:
Testcase for BUG#14480
sql/sql_table.cc:
BUG#14480: For CREATE ... SELECT ... a field list passed to mysql_prepare_table() contains
instances of create_field for both create-list and select-list. mysql_prepare_table()
matches elements that refer to the same field, and joins them together. When the "join"
is performed, both of create_field structures has already been counted in "null_fields".
This fix makes sure that "null_fields" contains the correct value after two create_field
structures have been joined.
mysql-test/r/csv.result:
correct result file
mysql-test/t/csv.test:
Add test for a bug
sql/examples/ha_tina.cc:
Add O_APPEND flag to my_open. We should always add rows to the end of file
mysql-test/r/csv.result:
update result file
mysql-test/t/csv.test:
Add test for a bug
sql/examples/ha_tina.cc:
sort function should return reverted values for chains to be sorted in
the right orded. don't do a strange memmove
into rurik.mysql.com:/home/igor/dev/mysql-5.0-2
mysql-test/r/func_gconcat.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_update.cc:
Auto merged
The problem was to continue at the right place in the code after the
test expression in a flow control statement fails with an exception
(internally, the test in sp_instr_jump_if_not), and the exception is
caught by a continue handler. Execution must then be resumed after the
the entire flow control statement (END IF, END WHILE, etc).
mysql-test/r/sp.result:
New test case for BUG#14498.
mysql-test/t/sp.test:
New test case for BUG#14498.
(Note that one call is disabled at the moment. Depends on BUG#14643.)
sql/sp_head.cc:
Added a continuation destination for sp_instr_jump_if_not, for the case when
an error in the test expression causes a continue handler to catch.
This includes new members in sp_instr_jump_if_not, adjustment of the optmizer
(mark and move methods), and separate backpatching code (since we can't use
the normal one for this).
Also removed the class sp_instr_jump, since it's never used.
...and added some comments to the optimizer.
sql/sp_head.h:
Added a continuation destination for sp_instr_jump_if_not, for the case when
an error in the test expression causes a continue handler to catch.
This includes new members in sp_instr_jump_if_not, adjustment of the optmizer
(mark and move methods), and separate backpatching code (since we can't use
the normal one for this).
Also removed the class sp_instr_jump, since it's never used.
sql/sql_yacc.yy:
Added backpatching of the continue destination for all conditional statements
(using sp_instr_jump_if_not).
mysql-test/r/subselect_innodb.result:
BUG#14342 test case
mysql-test/t/subselect_innodb.test:
BUG#14342 test case
sql/opt_range.cc:
avoiding of calling Item::val_* methods family with opt_range mem_root, because its life time is too short.
Makefile.am:
Auto merged
client/Makefile.am:
Auto merged
libmysql/Makefile.am:
Auto merged
libmysql_r/Makefile.am:
Auto merged
libmysqld/Makefile.am:
Auto merged
mysql-test/Makefile.am:
Auto merged
netware/Makefile.am:
Auto merged
support-files/Makefile.am:
Auto merged