if we've got a tree of type ALWAYS or MAYBE.
sql/opt_range.cc:
BUG#15448 (group_min_max test failure): Don't buypass group-min-max optimizer entry point
if we've got a tree of type ALWAYS or MAYBE.
The effect observed by this bug has been introduced by this cset:
ChangeSet 1.1967.5.2 2005/12/26 08:40:09 sergefp@mysql.com. The cset introduced PARAM::remove_jump_scans
which purpose was to avoid making [always unsuccessful] attempts to construct index_merge for construct
index_merge for conditions like "t.key1partX=c1 OR t.key1partY=c2". The effect of this change was that some
queries that previously had produced a SEL_TREE representing candidate for index_merge(X,Y) now started to
produce SEL_TREE with type=ALWAYS, and group-min-max analysis for these trees has been bypassed.
In this fix we make SEL_TREE with type=ALWAYS to be processed in the same way as (SEL_TREE*)NULL, its equivalent.
Fixes failing sp.test
mysql-test/r/backup.result:
A new error message for deprecated statements.
mysql-test/t/sp.test:
Disable warnings in the test for Bug#13012
sql/share/errmsg.txt:
A new error message for deprecated statements.
sql/sql_yacc.yy:
Use a better worded error message.
client/Makefile.am:
Use LDADD_R as common variable for programs to be linked with thread safe library.
client/mysqlimport.c:
Enable "--use-threads"
Formatting
mysql-test/r/mysqldump.result:
Update test result
mysql-test/t/disabled.def:
Enable mysqldump
mysql-test/t/mysqldump.test:
Enable test for mysqlimport with threads
Add test for failed mysqlimport
storage/ndb/src/ndbapi/NdbBlob.cpp:
DBUG
storage/ndb/include/ndbapi/Ndb.hpp:
method to set db/schema from table name + format check in internalize_table_name
storage/ndb/include/ndbapi/NdbDictionary.hpp:
method to set db/schema from table name + format check in internalize_table_name
storage/ndb/src/ndbapi/Ndb.cpp:
method to set db/schema from table name + format check in internalize_table_name
sql/ha_ndbcluster_binlog.cc:
set injector_ndb db/schema before calling NDB (may be more cases..). only place to get it is table internal name
into mysql.com:/usr/local/mysql/mysql-5.1-new
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Manual merge.
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
Reintroduced a max build
Limited testing of 'debug' and 'max' servers
Berkeley DB only in 'max'
support-files/mysql.spec.sh:
Reintroduced a max build
Limited testing of 'debug' and 'max' servers
Berkeley DB only in 'max'
Added --restart-cleanup option
drop-on-restart.inc:
DROP commands to cleanup on restart
new file
mysqltest.c:
Added option --include=<sql-file>
client/mysqltest.c:
Added option --include=<sql-file>
mysql-test/include/drop-on-restart.inc:
DROP commands to cleanup on restart
mysql-test/mysql-test-run.pl:
Added --restart-cleanup option
client/Makefile.am:
Added threaded libary.
client/mysqlimport.c:
Updated logic to use threaded libmysql correctly.
client/mysqlslap.c:
Modified how threads were working.
mysql-test/r/backup.result:
Added deprecated messages.
sql/sql_yacc.yy:
Added deprecated messages to RESTORE, BACKUP, and LOAD TABLE FROM MASTER
"mysqldump" test fails (mysqlimport related, Brian aware), ndb_cache2 ndb_cache_multi2
partition_mgm_err fail (unrelated to my changes), rpl_row_view01 (known crash BUG#17265)
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
compared with 5.0, this part has to move to the wrappers as the arg of --start-position depends on row-based or statement-based replication
mysql-test/r/binlog_row_mix_innodb_myisam.result:
result update
mysql-test/r/rpl_row_UUID.result:
result update (somebody had forgotten to run row-based tests, the solution is to use "make test" :)
mysql-test/t/binlog_row_mix_innodb_myisam.test:
merge from 5.0
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
merge form 5.0
sql/mysqld.cc:
fix after merge
sql/sp_head.cc:
fix after merge
into mysql.com:/home/mysql_src/mysql-5.1-new
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Auto merged
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
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).