- 31 Jan, 2008 1 commit
-
-
aelkin/elkin@koti.dsl.inet.fi authored
The error message due to lack of the default value for an extra field was not as informative as it should be. Fixed with improving the scheme of gathering, propagating and reporting errors in applying rows events. The scheme is in the following. Any kind of error of processing of a row event incidents are to be registered with my_error(). In the end Rows_log_event::do_apply_event() invokes rli->report() with the message to display consisting of all the errors. This mimics `show warnings' displaying. A simple test checks three errors in processing an event. Two hunks - a user level error and pushing it into the list - have been devoted to already fixed Bug@31702. Some open issues relating to this artifact listed on BUG@21842 page and on WL@3679. Todo: to synchronize the statement in the tests comments on Update and Delete events may not stop when an extra field does not have a default with wl@3228 spec.
-
- 18 Dec, 2007 1 commit
-
-
- 17 Dec, 2007 2 commits
-
-
hezx@hezx.(none) authored
into hezx.(none):/media/sda3/work/mysql/bkwork/bug#32205/mysql-5.1-new-rpl
-
hezx@hezx.(none) authored
fine The reason of this bug is that when mysqlbinlog dumps a query, the query is written to output with a delimeter appended right after it, if the query string ends with a '--' comment, then the delimeter would be considered as part of the comment, if there are any statements after this query, then it will cause a syntax error. Start a newline before appending delimiter after a query string
-
- 14 Dec, 2007 7 commits
-
-
sven@riska.(none) authored
into riska.(none):/home/sven/bk/b32407-5.1-new-rpl-mysqlbinlog_base64
-
sven@riska.(none) authored
Problem: it is unsafe to read base64-printed events without first reading the Format_description_log_event (FD). Currently, mysqlbinlog cannot print the FD. As a side effect, another bug has also been fixed: When mysqlbinlog --start-position=X was specified, no ROLLBACK was printed. I changed this, so that ROLLBACK is always printed. This patch does several things: - Format_description_log_event (FD) now print themselves in base64 format. - mysqlbinlog is now able to print FD events. It has three modes: --base64-output=auto Print row events in base64 output, and print FD event. The FD event is printed even if it is outside the range specified with --start-position, because it would not be safe to read row events otherwise. This is the default. --base64-output=always Like --base64-output=auto, but also print base64 output for query events. This is like the old --base64-output flag, which is also a shorthand for --base64-output=always --base64-output=never Never print base64 output, generate error if row events occur in binlog. This is useful to suppress the FD event in binlogs known not to contain row events (e.g., because BINLOG statement is unsafe, requires root privileges, is not SQL, etc) - the BINLOG statement now handles FD events correctly, by setting the thread's rli's relay log's description_event_for_exec to the loaded event. In fact, executing a BINLOG statement is almost the same as reading an event from a relay log. Before my patch, the code for this was separated (exec_relay_log_event in slave.cc executes events from the relay log, mysql_client_binlog_statement in sql_binlog.cc executes BINLOG statements). I needed to augment mysql_client_binlog_statement to do parts of what exec_relay_log_event does. Hence, I did a small refactoring and moved parts of exec_relay_log_event to a new function, which I named apply_event_and_update_pos. apply_event_and_update_pos is called both from exec_relay_log_event and from mysql_client_binlog_statement. - When a non-FD event is executed in a BINLOG statement, without previously executing a FD event in a BINLOG statement, it generates an error, because that's unsafe. I took a new error code for that: ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENTS. In order to get a decent error message containing the name of the event, I added the class method char* Log_event::get_type_str(Log_event_type type), which returns a string name for the given Log_event_type. This is just like the existing char* Log_event::get_type_str(), except it is a class method that takes the log event type as parameter. I also added PRE_GA_*_ROWS_LOG_EVENT to Log_event::get_type_str(), so that names of old rows event are properly printed. - When reading an event, I added a check that the event type is known by the current Format_description_log_event. Without this, it may crash on bad input (and I was struck by this several times). - I patched the following test cases, which all contain BINLOG statements for row events which must be preceded by BINLOG statements for FD events: - rpl_bug31076 While I was here, I fixed some small things in log_event.cc: - replaced hard-coded 4 by EVENT_TYPE_OFFSET in 3 places - replaced return by DBUG_VOID_RETURN in one place - The name of the logfile can be '-' to indicate stdin. Before my patch, the code just checked if the first character is '-'; now it does a full strcmp(). Probably, all arguments that begin with a - are already handled somewhere else as flags, but I still think it is better that the code reflects what it is supposed to do, with as little dependencies as possible on other parts of the code. If we one day implement that all command line arguments after -- are files (as most unix tools do), then we need this. I also fixed the following in slave.cc: - next_event() was declared twice, and queue_event was not static but should be static (not used outside the file).
-
bar@bar.myoffice.izhnet.ru authored
into mysql.com:/home/bar/mysql-work/mysql-5.1.b29562v2
-
bar@mysql.com/bar.myoffice.izhnet.ru authored
Changing charset to latin1.
-
sven@riska.(none) authored
Now, every transaction (including autocommit transactions) starts with a BEGIN and ends with a COMMIT/ROLLBACK in the binlog. Added a test case, and updated lots of test case result files.
-
mats@kindahl-laptop.dnsalias.net authored
into kindahl-laptop.dnsalias.net:/home/bk/b31582-mysql-5.1-rpl
-
bar@bar.myoffice.izhnet.ru authored
into mysql.com:/home/bar/mysql-work/mysql-5.1.b29562v2
-
- 13 Dec, 2007 4 commits
-
-
aelkin@dl145j.mysql.com authored
into dl145j.mysql.com:/tmp/andrei/bug31552
-
aelkin@dl145j.mysql.com authored
-
hezx@hezx.(none) authored
into hezx.(none):/media/hda5/work/mysql/bkwork/bug#30998/mysql-5.1-new-rpl
-
hezx@hezx.(none) authored
-
- 12 Dec, 2007 5 commits
-
-
aelkin@dl145j.mysql.com authored
-
aelkin@dl145j.mysql.com authored
into dl145j.mysql.com:/tmp/andrei/bug31552
-
aelkin/elkin@koti.dsl.inet.fi authored
without PK Bug#31609 Not all RBR slave errors reported as errors bug#32468 delete rows event on a table with foreign key constraint fails The first two bugs comprise idempotency issues. First, there was no error code reported under conditions of the bug description although the slave sql thread halted. Second, executions were different with and without presence of prim key in the table. Third, there was no way to instruct the slave whether to ignore an error and skip to the following event or to halt. Fourth, there are handler errors which might happen due to idempotent applying of binlog but those were not listed among the "idempotent" error list. All the named issues are addressed. Wrt to the 3rd, there is the new global system variable, changeble at run time, which controls the slave sql thread behaviour. The new variable allows further extensions to mimic the sql_mode session/global variable. To address the 4th, the new bug#32468 had to be fixed as it was staying in the way.
-
hezx@hezx.(none) authored
into hezx.(none):/media/hda5/work/mysql/bkwork/bug#30998/merge-mysql-5.1-new-rpl
-
hezx@hezx.(none) authored
into hezx.(none):/media/hda5/work/mysql/bkwork/bug#30998/5.1
-
- 11 Dec, 2007 1 commit
-
-
hezx@hezx.(none) authored
into hezx.(none):/media/hda5/work/mysql/bkwork/bug#30998/5.0
-
- 06 Dec, 2007 1 commit
-
-
- 05 Dec, 2007 3 commits
-
-
mats@kindahl-laptop.dnsalias.net authored
Just adding testcase. This bug was fixed by patch for BUG#31583.
-
mats@kindahl-laptop.dnsalias.net authored
In the patch for BUG#21842, the code for handling old rows events were refactored. There were a bug in the refactored code (possibly introduced after the patch for BUG#21842) that caused caused the refactored old events to read a columns bitmap after image even though there is no such bitmap for old events. As a result, the reading got out of sync, and started reading invalid data. This patch removes all trace of the after image column bitmap from the refactored old events and removes functions that are no longer needed because they are empty.
-
bar@mysql.com/bar.myoffice.izhnet.ru authored
Fixing a wrong comment.
-
- 03 Dec, 2007 2 commits
-
-
hezx@hezx.(none) authored
When executing drop view statement on the master, the statement is not written into bin-log if any error occurs, this could cause master slave inconsistence if any view has been dropped. If some error occured and no view has been dropped, don't bin-log the statement, if at least one view has been dropped the query is bin-logged possible with an error.
-
hezx@hezx.(none) authored
When executing drop view statement on the master, the statement is written into bin-log without checking for possible errors, so the statement would always be bin-logged with error code cleared even if some error might occur, for example, some of the views being dropped does not exist. This would cause failure on the slave. Writing bin-log after check for errors, if at least one view has been dropped the query is bin-logged possible with an error.
-
- 29 Nov, 2007 1 commit
-
-
msvensson@pilot.mysql.com authored
-
- 28 Nov, 2007 3 commits
-
-
bar@mysql.com/bar.myoffice.izhnet.ru authored
Problem: some pieces of code relied on the default character set settings, which didn't work in case of default character set ucs2. Fix: Specifying character set explicitly, not to depend on the default settings.
-
mkindahl@dl145h.mysql.com authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
-
mkindahl@dl145h.mysql.com authored
into dl145h.mysql.com:/data0/mkindahl/mysql-5.1-new-rpl
-
- 27 Nov, 2007 2 commits
-
-
mkindahl@dl145h.mysql.com authored
-
msvensson@pilot.mysql.com authored
uses for connect_timeout
-
- 26 Nov, 2007 7 commits
-
-
msvensson@pilot.mysql.com authored
-
msvensson@pilot.mysql.com authored
- Additional patch to fix compiler warnings
-
msvensson@pilot.mysql.com authored
-
msvensson@pilot.mysql.com authored
-
msvensson@pilot.mysql.com authored
into pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-rpl-merge
-
msvensson@pilot.mysql.com authored
slave's error log when running rpl_extraColmaster_*.test
-
mkindahl@dl145h.mysql.com authored
-