Refining the tests since pb revealed the older version's fragality - the error from SF() due to killed
may be different on different env:s.
DBUG_ASSERT instead of assert.
mysql-test/r/binlog_killed.result:
new result file
mysql-test/t/binlog_killed.test:
regression for bug#22725 simplified. tests for bug27563, BUG#27565 made inactive.
sql/sql_insert.cc:
DBUG_ASSERT
into dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/tmp/merge_5.0
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
merge with 5.0 bug#22725
sql/sql_update.cc:
merge with 5.0 bug#22725
The reason for the bug was that replaying of a query on slave could not be possible since its event
was recorded with the killed error. Due to the specific of handling INSERT, which per-row-while-loop is
unbreakable to killing, the query on transactional table should have not appeared in binlog unless
there was a call to a stored routine that got interrupted with killing (and then there must be an error
returned out of the loop).
The offered solution added the following rule for binlogging of INSERT that accounts the above
specifics:
For INSERT on transactional-table if the error was not set the only raised flag
is harmless and is ignored via masking out on time of creation of binlog event.
For both table types the combination of raised error and KILLED flag indicates that there
was potentially partial execution on master and consistency is under the question.
In that case the code continues to binlog an event with an appropriate killed error.
The fix relies on the specified behaviour of stored routine that must propagate the error
to the top level query handling if the thd->killed flag was raised in the routine execution.
The patch adds an arg with the default killed-status-unset value to Query_log_event::Query_log_event.
sql/log_event.cc:
killed_status as the value of thd->killed can be passed as an arg to the constructor.
if the value is different from the default the arg is set to the current thd->killed value.
A caller might need to masquerade thd->killed with THD::NOT_KILLED.
So far only mysql_insert() uses such explicit way to tell the constructor about killing status.
sql/log_event.h:
default arg to the constructor with meaning of killed status of the query.
if the arg is not explicitly provided the status of thd->killed will be snapshot
inside of the constuctor, which is potentially incorrect (see bug#27571)
sql/sql_class.h:
extending killed_state with no-state member.
sql/sql_insert.cc:
ignore the KILLED flag incl KILL_BAD_DATA when the INSERT query event
is created without an `error';
sql/sql_update.cc:
Suggestion how to fix bug#27571 as comments.
mysql-test/r/binlog_killed.result:
new result file
mysql-test/t/binlog_killed.test:
regression tests also apply for bug27563, BUG#27565
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_load.cc:
Auto merged
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/rpl_row_mysqlbinlog.test:
Auto merged
sql/sql_load.cc:
Auto merged
BitKeeper/deleted/.del-.del-rpl_critical_errors.result:
Delete: BitKeeper/deleted/.del-rpl_critical_errors.result
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_load.cc:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
configure.in:
Auto merged
include/my_global.h:
Auto merged
sql/item_func.cc:
Auto merged
strings/strtod.c:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
configure.in:
Auto merged
include/my_global.h:
Auto merged
sql/item_func.cc:
Auto merged
strings/strtod.c:
Auto merged
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
configure.in:
Auto merged
include/my_global.h:
Auto merged
sql/item_func.cc:
Auto merged
strings/strtod.c:
Auto merged
into mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/sql_load.cc:
Auto merged
storage/heap/hp_hash.c:
Auto merged
BitKeeper/deleted/.del-rpl_critical_errors.result:
Delete: mysql-test/r/rpl_critical_errors.result
mysql-test/r/rpl_loaddata.result:
Manual merge
mysql-test/t/rpl_loaddata.test:
Manual merge
As MySQL character set tests can print results in many character sets
(latin1, utf8-8, sjis, cp932 and others) - its output can be incompatible
with the current locale settings, which makes PERL confuse.
Fix: reset LC_ALL and LC_CTYPE to "C", which is compatible with
any character set.
mysql-test/mysql-test-run.pl:
Ignore current locale settings, because "mysqltest" output
can be not compatible with the locale.
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
configure.in:
Auto merged
include/my_global.h:
Auto merged
sql/item_func.cc:
Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~13:
Auto merged
into mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_table.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
Problem: Memory overrun happened in attempts to generate
error messages (e.g. in case of incorrect XPath syntax).
Reason: set_if_bigger() was used instead of set_if_smaller().
Change: replacing wrong set_if_bigger() to set_if_smaller(),
and making minor additional code clean-ups.
mysql-test/r/xml.result:
Adding test cases for all pieces of code with
set_if_smaller() followed by my_printf_error().
mysql-test/t/xml.test:
Adding test cases for all pieces of code with
set_if_smaller() followed by my_printf_error().
sql/item_xmlfunc.cc:
- fixing incorrect set_if_bigger to set_if_smaller in two places
- getting read of unnesessary "char context[32]" variable and
using '%.*s' instead if '%s' in the error format.
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
storage/ndb/src/common/transporter/Packer.cpp:
Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.hpp:
Auto merged
storage/ndb/src/common/transporter/TransporterRegistry.cpp:
Auto merged
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
Auto merged
storage/ndb/test/ndbapi/testNdbApi.cpp:
manual merge
storage/ndb/test/run-test/daily-basic-tests.txt:
manual merge
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/pgman.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
manual merge
- change to scan in tup and disk order (if applicable)
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
tup scan for backup also, not only lcp
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
choose disk order scan for disktables during backup
+ move bug workaround for 27776 from tup to lqh
storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp:
add missing jamEntry
storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp:
move bug workaround for 27776 from tup to lqh
storage/ndb/src/kernel/blocks/pgman.cpp:
missing jamEntry
into trift2.:/MySQL/M51/bug26609-5.1
Makefile.am:
Manual merge: Include the "row_lock" suite in the "test-bt" target.
scripts/make_binary_distribution.sh:
Manual merge: Include the additional test suites in the binary package.
Include all the additional test suites in the binary packages ("tar.gz").
This is the tar.gz part of the fixes for bug#26609; for RPMs it is already done.
scripts/make_binary_distribution.sh:
Include all the additional test suites (for now: "funcs_1", "funcs_2", "row_lock")
in the binary packages ("tar.gz").
Take them "as is", without any file filtering (except for the BK subdirectories "SCCS").
This is the tar.gz part of the fixes for bug#26609; for RPMs it is already done.
Use this opportunity to correct the language in some comments.
This patch corrects a problem encountered when reading the binlog from a remote
host. The application was crashing because the buffer variable (temp_buf) in
log_event was not pointing to the incoming data. For a normal file read, this
buffer is allocated by a previous call of read_log_event. However, when reading
from a remote host, the first call to read_log_event is not executed therefore
no buffer is allocated. Furthermore, there is no need to allocate a new buffer
because the incoming stream is what needs to be read.
This patch adds the call to initialize the temp_buf variable if reading from a
remote host. It also adds a check at destroy time to ensure the temp_buf is not
freed if reading from a remote host.
client/mysqlbinlog.cc:
BUG#17654 : --read-from-remote-server causes core
This patch corrects a problem when reading from a remote host. The temp_buf
variable of the log_event class is undefined. This patch assigns the temp_buf
variable to the address of the incoming stream. This allows the print functions
to print the binlog events correctly.
mysql-test/r/rpl_row_mysqlbinlog.result:
BUG#17654 : --read-from-remote-server causes core
This patch adds the results for the test that were disabled when the bug report
was investigated. The patch also adds an additional test was added to ensure
the output of reading from a remote host is the same as reading from a local file.
mysql-test/t/rpl_row_mysqlbinlog.test:
BUG#17654 : --read-from-remote-server causes core
This patch enables the portions of the test that were disabled when the bug report
was investigated. The patch also adds an additional test was added to ensure
the output of reading from a remote host is the same as reading from a local file.
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
configure.in:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
configure.in:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/sql_show.cc:
Auto merged
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
configure.in:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/type_datetime.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged