into mysql.com:/home/mysql_src/mysql-5.1-new; will fix manually sp_head.cc and mysqld.cc later soon.
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/r/rpl_sp.result:
Auto merged
mysql-test/r/sql_mode.result:
Auto merged
mysql-test/t/rpl_sp-slave.opt:
Auto merged
mysql-test/t/rpl_sp.test:
Auto merged
mysql-test/t/sql_mode.test:
Auto merged
sql/set_var.cc:
Auto merged
sql/log.cc:
auto merged
sql/mysqld.cc:
will fix manually
sql/sp_head.cc:
will fix manually
symptom). sys_var::check_set() was wrong. mysqlbinlog makes use of such SET SQL_MODE=N
(where N is interpreted like if SQL_MODE was a field of type SET), so
this bug affected recovery from binlogs if the server was running with certain SQL_MODE values,
for example the default values on Windows (STRICT_TRANS_TABLES); to work around this bug people
had to edit mysqlbinlog's output.
mysql-test/r/sql_mode.result:
result update
mysql-test/t/sql_mode.test:
test for various numeric SQL_MODE values
sql/set_var.cc:
For a set, it does not make sense to test if the supplied argument exceeds the number of elements in the set
(such test would make sense for an enum), but rather to check if it exceeds 2^this (to verify
that only reasonable bits are set).
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.
problem was: when a connection disconnects having an open transaction affecting MyISAM and InnoDB, the ROLLBACK event stored in the binary log
contained a non-zero error code (1053 because of the disconnection), so when slave applied the transaction, slave complained that its ROLLBACK succeeded
(error_code=0) while master's had 1053, so slave stopped. But internally generated binlog events such as this ROLLBACK
should always have 0 as error code, as is true in 4.1 and was accidentally broken in 5.0,
so that there is no false alarm.
mysql-test/r/mix_innodb_myisam_binlog.result:
result update
mysql-test/t/mix_innodb_myisam_binlog.test:
test for BUG#16559
sql/log.cc:
Internally generated binlog events should always have an error code of zero (like in 4.1; in 5.0 this was accidentally broken).
into mysql.com:/home/cps/mysql/trees/5.1/5.1-virgin-debug
mysql-test/r/im_life_cycle.result:
Auto merged
mysql-test/t/im_life_cycle.imtest:
Auto merged
mysql-test/r/ndb_bitfield.result:
Update result
mysql-test/r/ndb_dd_basic.result:
Update result
mysql-test/r/ndb_dd_disk2memory.result:
Update result
mysql-test/r/ndb_partition_key.result:
Update result
mysql-test/r/ndb_partition_range.result:
Update result
mysql-test/r/ndb_temporary.result:
Update result
mysql-test/r/rpl_ndb_UUID.result:
Update result
into mysql.com:/home/jimw/my/mysql-5.1-clean
mysql-test/r/create.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/key.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/partition.result:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/r/system_mysql_db.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/r/rpl_mixed_ddl_dml.result:
Auto merged
into mysql.com:/home/jimw/my/mysql-5.1-clean
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/bdb.result:
Resolve conflict
mysql-test/t/bdb.test:
Resolve conflict
sql/share/errmsg.txt:
Resolve conflict
into mysql.com:/home/jimw/my/mysql-5.1-clean
BitKeeper/etc/ignore:
auto-union
mysql-test/r/func_str.result:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
mysql-test/t/disabled.def:
Resolve conflict
- do not try to create ndb temp tables even if default storage is ndb
mysql-test/r/ndb_temporary.result:
New BitKeeper file ``mysql-test/r/ndb_temporary.result''
mysql-test/t/ndb_temporary.test:
New BitKeeper file ``mysql-test/t/ndb_temporary.test''
- Remove global MYSQL connection variable
client/mysqlimport.c:
Remove the global "MYSQL mysql_connection" variable. Use one MYSQL for each thread.
Set exitcode if any of the threads fails, better than nothing.
5.1-related fixes
BitKeeper/etc/ignore:
Added scripts/mysql_upgrade to the ignore list
sql/ha_partition.cc:
ha_check and ha_repair now to be called
sql/handler.cc:
code modified to be 5.1 compliant
include/myisam.h:
Auto merged
sql/handler.h:
Auto merged
sql/lex.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_table.cc:
Auto merged
include/my_base.h:
merging
scripts/Makefile.am:
merging
sql/handler.cc:
merging
sql/share/errmsg.txt:
merging
sql/sql_yacc.yy:
merging
necessary implementation in the server
mysql_upgrade script added
client/mysqlcheck.c:
--check-upgrade option added
include/my_base.h:
errcode added
include/myisam.h:
option added
scripts/Makefile.am:
mysql_upgrade script added
sql/handler.cc:
checks for old types/bugs added
sql/handler.h:
declarations regarding checks for upgrade
sql/lex.h:
sym added
sql/share/errmsg.txt:
error message added
sql/slave.cc:
now ha_repair is for public use
sql/sql_table.cc:
upgrade in ha_repair implemented
sql/sql_yacc.yy:
CHECK ... FOR UPGRADE added to syntax
mysql-test/t/disabled.def:
Updated
mysql-test/extra/rpl_tests/rpl_log.test:
Updated and moved drop of tables to end of test to help bin log be more deterministic
mysql-test/r/rpl_row_log.result:
Updated results
mysql-test/r/rpl_row_log_innodb.result:
Updated results
mysql-test/r/rpl_ndb_log.result:
Updated results