BitKeeper/etc/ignore:
Added client/log_event_old.cc client/log_event_old.h client/rpl_record_old.cc client/rpl_record_old.h libmysqld/log_event_old.cc libmysqld/rpl_record.cc libmysqld/rpl_record_old.cc to the ignore list
mysql-test/include/show_binlog_events2.inc:
New BitKeeper file ``mysql-test/include/show_binlog_events2.inc''
- test case
sql/ha_ndbcluster_binlog.cc:
drop table not logged when it should
mysql-test/r/ndb_binlog_log_bin.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_log_bin.result''
mysql-test/t/ndb_binlog_log_bin.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_log_bin.test''
- both for data schema operations
- also make sure schema events vet the right server id when injected into the binlog
- use same mechanism to signal server_id in bug#17095, and reserve some "id's" for flagging special conditions on the event, in this case do not log it
- enable printing of server ids in the testcases to show that we cot it right
mysql-test/r/rpl_ndb_circular_simplex.result:
Result change
mysql-test/t/rpl_ndb_circular_simplex.test:
Using master port on slave side instead of slave port (which should be
used on master side).
mysql-test/r/rpl_ndb_circular_simplex.result:
Result change.
mysql-test/t/rpl_ndb_circular_simplex.test:
Blanking out field that are not critical for the result.
done in previous patches.
There is an error in the Sun CC compiler that treats parameters that
differ in only qualifier as different, even though this is not
allowed by the standard (ISO/IEC 14882:2003, Section 13.1).
sql/log_event.cc:
Removing const qualifier since it causes linker error.
sql/log_event.h:
Restoring time_t instead of my_time_t since it causes warnings
elsewhere. Renaming parameters to functions since they hide
member variable (which causes warnings on Sun CC).
sql/rpl_record.cc:
Removing const qualifier since it causes linker error.
sql/rpl_rli.cc:
Restoring time_t instead of my_time_t since it causes warnings
elsewhere. Removing const qualifier since it causes linker error.
sql/rpl_rli.h:
Restoring time_t instead of my_time_t since it causes warnings
elsewhere. Removing const qualifier since it causes linker error.
Factoring out pack_row() and unpack_row() into new files
rpl_record.{cc,h}.
libmysqld/Makefile.am:
Adding file rpl_record.cc
sql/CMakeLists.txt:
Adding file rpl_record.cc
sql/Makefile.am:
Adding file rpl_record.cc and rpl_record.h
sql/log_event.cc:
Moving implementation of unpack_row() into "rpl_record.cc".
Adding inclusion of header file "rpl_record.h".
sql/log_event_old.cc:
Signature of do_prepare_row() changed.
sql/log_event_old.h:
Adding copyright.
sql/rpl_record_old.cc:
Signature of do_prepare_row() changed.
sql/rpl_record_old.h:
Adding copyright.
Signature of do_prepare_row() changed.
sql/sql_class.cc:
Moving implementation THD::pack_row() into "rpl_record.cc" and rewriting
it to be a global function.
Adding inclusion of header file "rpl_record.h".
sql/sql_class.h:
Removing pack_row() as THD member function.
sql/rpl_record.cc:
New BitKeeper file ``sql/rpl_record.cc''
sql/rpl_record.h:
New BitKeeper file ``sql/rpl_record.h''
configuration with HAVE_REPLICATION undefined, which causes the
*_rows_log_event_old classes to only have a default constructor. This
generates an error on some platforms, since the base classes does
not have a default constructor defined.
Updating signatures of do_prepare_row() for classes above, since
signatures in base classes changed.
sql/log_event_old.h:
Adding constructor since when HAVE_REPLICATION is not defined, the
class will not have any constructor, which generates an error on
some platforms. Updating signature of do_prepare_row() since
signature changed in base classes.
sql/rpl_rli.cc:
Changing signature for stmt_done() to use my_time_t instead of time_t.
sql/rpl_rli.h:
Changing signature for stmt_done() to use my_time_t instead of time_t.
Changing last_master_timestamp to use my_time_t instead of time_t.
into mysql.com:/home/bar/mysql-5.1-new-rpl
mysql-test/r/ctype_utf8.result:
Auto merged
mysql-test/t/ctype_utf8.test:
Auto merged
sql/field_conv.cc:
Auto merged
Problem: single byte do_varstring1() function was called, which didn't
check limit on "number of character", and checked only "number of bytes".
Fix: adding a multi-byte aware function do_varstring1_mb(),
to limit on "number of characters"
mysql-test/r/ctype_utf8.result:
Adding test case
mysql-test/t/ctype_utf8.test:
Adding test case
sql/field_conv.cc:
Adding missing function to copy VARCHAR strings
having one length byte.
- test case
- reset server id in injector
client/mysqltest.c:
save master pos for ndb should look at handled epoch instead of applied
sql/rpl_injector.cc:
Bug#17095 circular replication for ndb
- reset server id in injector
mysql-test/r/rpl_ndb_circular.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_circular.result''
mysql-test/t/rpl_ndb_circular.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_circular.test''
Taking code from before BUG#22583 and incorporating as events to be able
to read old events. Also incorporating old pack and unpack functions
into patch.
client/Makefile.am:
Adding files log_event_old.{h,cc} and rpl_record_old.{h,cc}
client/mysqlbinlog.cc:
Adding log_event_old.cc.
libmysqld/Makefile.am:
Adding files log_event_old.{h,cc} and rpl_record_old.{h,cc}
sql/CMakeLists.txt:
Adding files log_event_old.{h,cc} and rpl_record_old.{h,cc}
sql/Makefile.am:
Adding files log_event_old.{h,cc} and rpl_record_old.{h,cc}
sql/log_event.cc:
Adding code to read pre-GA rows events.
sql/log_event.h:
Refactoring to support inheritance and including "old" events definitions.
sql/log_event_old.cc:
New BitKeeper file ``sql/log_event_old.cc''
sql/log_event_old.h:
New BitKeeper file ``sql/log_event_old.h''
sql/rpl_record_old.cc:
New BitKeeper file ``sql/rpl_record_old.cc''
sql/rpl_record_old.h:
New BitKeeper file ``sql/rpl_record_old.h''
be skipped):
Fixing test since a replace assumed that we were on slave when we were
on master.
mysql-test/r/rpl_ndb_circular_simplex.result:
Result file change
mysql-test/t/rpl_ndb_circular_simplex.test:
Incorrectly used MASTER_PORT instead of SLAVE_PORT for test. (This is
circular replication, you know. The roles of slave and master is kind
of blurred. Mea culpa.)
into romeo.(none):/home/bk/b25688-mysql-5.1-rpl
sql/item_func.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/rpl_mi.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
skipped):
By moving statement end actions from Rows_log_event::do_apply_event() to
Rows_log_event::do_update_pos() they will always be executed, even if
Rows_log_event::do_apply_event() is skipped because the event originated
at the same server. This because Rows_log_event::do_update_pos() is always
executed (unless Rows_log_event::do_apply_event() failed with an error,
in which case the slave stops with an error anyway).
Adding test case.
Fixing logic to detect if inside a group. If a rotate event occured
when an initial prefix of events for a statement, but for which the
table did contain a key, last_event_start_time is set to zero, causing
rotate to end the group but without unlocking any tables. This left a
lock hanging around, which subsequently triggered an assertion when a
second attempt was made to lock the same sequence of tables.
In order to solve the above problem, a new flag was added to the relay
log info structure that is used to indicate that the replication thread
is currently executing a statement. Using this flag, the replication
thread is in a group if it is either in a statement or inside a trans-
action.
The patch also eliminates some gratuitous header file inclusions that
were not needed (and caused compile errors) and replaced them with
forward definitions.
sql/item_func.cc:
Including definition of MASTER_INFO.
sql/log.cc:
Including definition of RELAY_LOG_INFO since it is used in the file.
sql/log_event.cc:
Moving statement end actions from Rows_log_event::do_apply_event() to
Rows_log_event::do_update_pos().
Factoring out code to update group positions and event positions into
relay log info structure.
---
Adding debugging printouts.
Fixing logic to detect if inside a group.
sql/log_event.h:
Adding Rows_log_event::do_update_pos().
sql/mysqld.cc:
Including definition of MASTER_INFO.
sql/repl_failsafe.cc:
Including definition of MASTER_INFO.
sql/rpl_mi.h:
Including definition of RELAY_LOG_INFO since it is used in the file.
sql/rpl_rli.cc:
Adding member function stmt_done() to do after-statement updates of the
relay log info structure.
sql/rpl_rli.h:
Adding member function stmt_done() to do after-statement updates of the
relay log info structure.
sql/set_var.cc:
Including definition of MASTER_INFO.
sql/slave.cc:
Adding debuging printouts.
sql/slave.h:
Removing inclusion definitions of MASTER_INFO and RELAY_LOG_INFO and
replacing them with forward declarations since the classes are not
used in the file. The gratuitous inclusion lead to compile errors in
the two classes above in files that used neither.
sql/sql_binlog.cc:
Including definition of RELAY_LOG_INFO since it is used in the file.
sql/sql_class.cc:
Including definition of RELAY_LOG_INFO since it is used in the file.
sql/sql_class.h:
Removing inclusion definitions of RELAY_LOG_INFO and replacing it
with forward declaration since the class is not used in the file.
The gratuitous inclusion lead to compile errors in the class above
in files didn't use the class.
sql/sql_insert.cc:
Including definition of MASTER_INFO.
sql/sql_repl.cc:
Including definition of MASTER_INFO.
mysql-test/r/rpl_ndb_circular_simplex.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_circular_simplex.result''
mysql-test/t/rpl_ndb_circular_simplex.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_circular_simplex.test''
stopped at pos==4):
Submitting patch on behalf of Andrei, who discovered the problem
and provided the patch.
An update of the group relay log coordinates when rotating forgot to
update the group relay log name and only updated the group relay log
position (and group master log name and position).
This patch adds code to update the group relay log *name* as well as
the position
sql/log_event.cc:
Setting group relay log name as well when rotating, not just the group
relay log position.
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
mysql-test/r/rpl_ndb_basic.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
into mysql.com:/home/bar/mysql-5.1-new-rpl
client/mysql.cc:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/variables.test:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/mysqld.cc:
SCCS merged
Problem: setting/displaying @@LC_TIME_NAMES didn't distinguish between
GLOBAL and SESSION variable types - always SESSION variable
was set/shonw.
Fix: set either global or session value.
Also, "mysqld --lc-time-names" was added to set "global default" value.
mysql-test/r/variables.result:
Adding test cases
mysql-test/t/variables.test:
Adding test cases
sql/mysql_priv.h:
Declaring variable for global default.
sql/mysqld.cc:
Adding --lc-time-names
sql/set_var.cc:
Distinguish between GLOBAL and SESSION variables.
sql/sql_class.cc:
Don't initialize to en_US, use global_system_variables value instead.
Problem: output was empty if the result is empty.
Fix: print XML header and footer, even if the result
is empty, to produce well-formed XML output.
client/mysql.cc:
Print header and footer even on empty set, when --xml
mysql-test/r/client_xml.result:
Adding test case
mysql-test/t/client_xml.test:
Adding test case