into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
include/config-win.h:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
ndb/src/ndbapi/DictCache.cpp:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/lex.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
configure.in:
Version increment.
support-files/mysql.spec.sh:
Include enterprise advert.
into weblab.(none):/home/marcsql/TREE/mysql-5.1-25411_merge
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/log_event.cc:
Auto merged
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-enterprise-formergecomm
include/config-win.h:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/func_in.result:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
mysql-test/t/func_in.test:
Auto merged
ndb/src/ndbapi/DictCache.cpp:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/lex.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
configure.in:
Manual merge, convert to default community-features off.
sql/set_var.cc:
Manual merge.
sql/sql_parse.cc:
Manual merge.
support-files/mysql.spec.sh:
Manual merge.
Disable the community-server advertisement for Enterprise. Re-enable
this later.
The issue found with bug 25411 is due to the function skip_rear_comments()
which damages the source code while implementing a work around.
The root cause of the problem is in the lexical analyser, which does not
process special comments properly.
For special comments like :
[1] aaa /*!50000 bbb */ ccc
since 5.0 is a version older that the current code, the parser is in lining
the content of the special comment, so that the query to process is
[2] aaa bbb ccc
However, the text of the query captured when processing a stored procedure,
stored function or trigger (or event in 5.1), can be after rebuilding it:
[3] aaa bbb */ ccc
which is wrong.
To fix bug 25411 properly, the lexical analyser needs to return [2] when
in lining special comments.
In order to implement this, some preliminary cleanup is required in the code,
which is implemented by this patch.
Before this change, the structure named LEX (or st_lex) contains attributes
that belong to lexical analysis, as well as attributes that represents the
abstract syntax tree (AST) of a statement.
Creating a new LEX structure for each statements (which makes sense for the
AST part) also re-initialized the lexical analysis phase each time, which
is conceptually wrong.
With this patch, the previous st_lex structure has been split in two:
- st_lex represents the Abstract Syntax Tree for a statement. The name "lex"
has not been changed to avoid a bigger impact in the code base.
- class lex_input_stream represents the internal state of the lexical
analyser, which by definition should *not* be reinitialized when parsing
multiple statements from the same input stream.
This change is a pre-requisite for bug 25411, since the implementation of
lex_input_stream will later improve to deal properly with special comments,
and this processing can not be done with the current implementation of
sp_head::reset_lex and sp_head::restore_lex, which interfere with the lexer.
This change set alone does not fix bug 25411.
sql/item_func.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/log_event.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/mysql_priv.h:
Refactoring, separate lex_input_stream from st_lex.
sql/slave.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sp_head.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_class.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_lex.h:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_parse.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_prepare.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_trigger.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_view.cc:
Refactoring, separate lex_input_stream from st_lex.
sql/sql_yacc.yy:
Refactoring, separate lex_input_stream from st_lex.
The issue found with bug 25411 is due to the function skip_rear_comments()
which damages the source code while implementing a work around.
The root cause of the problem is in the lexical analyser, which does not
process special comments properly.
For special comments like :
[1] aaa /*!50000 bbb */ ccc
since 5.0 is a version older that the current code, the parser is in lining
the content of the special comment, so that the query to process is
[2] aaa bbb ccc
However, the text of the query captured when processing a stored procedure,
stored function or trigger (or event in 5.1), can be after rebuilding it:
[3] aaa bbb */ ccc
which is wrong.
To fix bug 25411 properly, the lexical analyser needs to return [2] when
in lining special comments.
In order to implement this, some preliminary cleanup is required in the code,
which is implemented by this patch.
Before this change, the structure named LEX (or st_lex) contains attributes
that belong to lexical analysis, as well as attributes that represents the
abstract syntax tree (AST) of a statement.
Creating a new LEX structure for each statements (which makes sense for the
AST part) also re-initialized the lexical analysis phase each time, which
is conceptually wrong.
With this patch, the previous st_lex structure has been split in two:
- st_lex represents the Abstract Syntax Tree for a statement. The name "lex"
has not been changed to avoid a bigger impact in the code base.
- class lex_input_stream represents the internal state of the lexical
analyser, which by definition should *not* be reinitialized when parsing
multiple statements from the same input stream.
This change is a pre-requisite for bug 25411, since the implementation of
lex_input_stream will later improve to deal properly with special comments,
and this processing can not be done with the current implementation of
sp_head::reset_lex and sp_head::restore_lex, which interfere with the lexer.
This change set alone does not fix bug 25411.
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.
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).
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''
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''
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.
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''
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.
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.
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
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community
VC++Files/sql/mysqld.vcproj:
Auto merged
include/config-win.h:
Auto merged
myisam/mi_open.c:
Auto merged
mysql-test/r/information_schema_db.result:
Auto merged
ndb/src/common/util/File.cpp:
Auto merged
sql/Makefile.am:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/set_var.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.h:
Auto merged
support-files/mysql.spec.sh:
Auto merged
configure.in:
Manual merge.
include/my_dbug.h:
Manual merge.
sql/mysql_priv.h:
Manual merge.
sql/mysqld.cc:
Manual merge.
sql/slave.cc:
Manual merge.
sql/sql_parse.cc:
Manual merge.
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
client/client_priv.h:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
mysql-test/r/create.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/rpl_deadlock_innodb.result:
Auto merged
mysql-test/r/rpl_flushlog_loop.result:
Auto merged
mysql-test/r/rpl_known_bugs_detection.result:
Auto merged
mysql-test/r/rpl_ndb_basic.result:
Auto merged
mysql-test/r/rpl_ndb_extraCol.result:
Auto merged
mysql-test/r/rpl_ndb_sync.result:
Auto merged
mysql-test/r/rpl_rbr_to_sbr.result:
Auto merged
mysql-test/r/rpl_row_inexist_tbl.result:
Auto merged
mysql-test/r/rpl_row_max_relay_size.result:
Auto merged
mysql-test/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/r/rpl_row_tabledefs_3innodb.result:
Auto merged
mysql-test/r/rpl_stm_max_relay_size.result:
Auto merged
mysql-test/r/rpl_stm_until.result:
Auto merged
mysql-test/r/sp-code.result:
Auto merged
mysql-test/r/type_datetime.result:
Auto merged
mysql-test/t/mysqlbinlog.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/lex.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/gis.result:
Merge 5.0->5.1
mysql-test/r/rpl_000015.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_change_master.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_loaddata.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_log_pos.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_ndb_log.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_rotate_logs.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_row_log.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_row_log_innodb.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_row_reset_slave.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_row_until.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_server_id1.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_server_id2.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_log.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_reset_slave.result:
Merge after adding new column to SHOW SLAVE STATUS
mysql-test/t/gis.test:
Merge 5.0->5.1
Fixing automerge problem and updating comments referring to exec_event().
mysql-test/r/rpl_incident.result:
Result change
sql/log_event.cc:
Renaming exec_event() to do_apply_event().
sql/log_event.h:
Renaming exec_event() to do_apply_event().
sql/rpl_rli.cc:
Fixing comments referring to exec_event(), which does not exist any more.
sql/sql_class.h:
Fixing comments referring to exec_event(), which does not exist any more.
- Eliminating some compiler warnings
mysql-test/extra/binlog_tests/blackhole.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/extra/binlog_tests/drop_temp_table.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/extra/binlog_tests/insert_select-binlog.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/extra/rpl_tests/rpl_log.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/extra/rpl_tests/rpl_row_delayed_ins.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/extra/rpl_tests/rpl_truncate_helper.test:
Using include file for SHOW BINLOG EVENTS.
mysql-test/include/show_binlog_events.inc:
Fixing regex replace to handle XIDs as well.
mysql-test/r/binlog_row_binlog.result:
Result change
mysql-test/r/binlog_row_blackhole.result:
Result change
mysql-test/r/binlog_row_ctype_ucs.result:
Result change
mysql-test/r/binlog_row_drop_tmp_tbl.result:
Result change
mysql-test/r/binlog_row_insert_select.result:
Result change
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Result change
mysql-test/r/binlog_stm_binlog.result:
Result change
mysql-test/r/binlog_stm_blackhole.result:
Result change
mysql-test/r/binlog_stm_drop_tmp_tbl.result:
Result change
mysql-test/r/binlog_stm_insert_select.result:
Result change
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Result change
mysql-test/r/ctype_cp932_binlog_row.result:
Result change
mysql-test/r/rpl_ndb_charset.result:
Result change
mysql-test/r/rpl_ndb_log.result:
Result change
mysql-test/r/rpl_ndb_multi.result:
Result change
mysql-test/r/rpl_row_basic_11bugs.result:
Result change
mysql-test/r/rpl_row_charset.result:
Result change
mysql-test/r/rpl_row_create_table.result:
Result change
mysql-test/r/rpl_row_delayed_ins.result:
Result change
mysql-test/r/rpl_row_drop.result:
Result change
mysql-test/r/rpl_row_flsh_tbls.result:
Result change
mysql-test/r/rpl_row_inexist_tbl.result:
Result change
mysql-test/r/rpl_row_log.result:
Result change
mysql-test/r/rpl_row_log_innodb.result:
Result change
mysql-test/r/rpl_row_reset_slave.result:
Result change
mysql-test/r/rpl_row_until.result:
Result change
mysql-test/r/rpl_stm_log.result:
Result change
mysql-test/r/rpl_truncate_2myisam.result:
Result change
mysql-test/r/rpl_truncate_3innodb.result:
Result change
mysql-test/r/rpl_udf.result:
Result change
mysql-test/t/binlog_row_mix_innodb_myisam.test:
Fixing binary log position
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
Fixing binary log position.
sql/log_event.cc:
Eliminating compiler warnings.
Adding an event that can be used to denote that an incident occured
on the master. The event can be used to denote a gap in the replication
stream, but can also be used to denote other incidents.
In addition, the injector interface is extended with functions to
generate an incident event. The function will also rotate the binary
log after generating an incident event to get a fresh binary log.
client/Makefile.am:
Adding file rpl_constants.h with constants for replication.
mysql-test/extra/binlog_tests/binlog.test:
Binlog position change
mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
Binlog position change
mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
Binlog position change
mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
Binlog position change
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_deadlock.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_log.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_multi_query.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_row_charset.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_row_sp002.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_row_sp003.test:
Binlog position change
mysql-test/extra/rpl_tests/rpl_stm_charset.test:
Binlog position change
mysql-test/include/show_binlog_events.inc:
Binlog position change
mysql-test/r/binlog_row_binlog.result:
Result change
mysql-test/r/binlog_row_ctype_ucs.result:
Result change
mysql-test/r/binlog_row_insert_select.result:
Result change
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Result change
mysql-test/r/binlog_stm_binlog.result:
Result change
mysql-test/r/binlog_stm_ctype_ucs.result:
Result change
mysql-test/r/binlog_stm_insert_select.result:
Result change
mysql-test/r/binlog_stm_mix_innodb_myisam.result:
Result change
mysql-test/r/ctype_cp932_binlog_row.result:
Result change
mysql-test/r/ctype_cp932_binlog_stm.result:
Result change
mysql-test/r/flush_block_commit_notembedded.result:
Result change
mysql-test/r/rpl_000015.result:
Result change
mysql-test/r/rpl_change_master.result:
Result change
mysql-test/r/rpl_deadlock_innodb.result:
Result change
mysql-test/r/rpl_flushlog_loop.result:
Result change
mysql-test/r/rpl_loaddata.result:
Result change
mysql-test/r/rpl_loaddata_s.result:
Result change
mysql-test/r/rpl_log_pos.result:
Result change
mysql-test/r/rpl_ndb_charset.result:
Result change
mysql-test/r/rpl_ndb_log.result:
Result change
mysql-test/r/rpl_ndb_multi.result:
Result change
mysql-test/r/rpl_rbr_to_sbr.result:
Result change
mysql-test/r/rpl_rotate_logs.result:
Result change
mysql-test/r/rpl_row_basic_11bugs.result:
Result change
mysql-test/r/rpl_row_charset.result:
Result change
mysql-test/r/rpl_row_create_table.result:
Result change
mysql-test/r/rpl_row_delayed_ins.result:
Result change
mysql-test/r/rpl_row_drop.result:
Result change
mysql-test/r/rpl_row_flsh_tbls.result:
Result change
mysql-test/r/rpl_row_inexist_tbl.result:
Result change
mysql-test/r/rpl_row_log.result:
Result change
mysql-test/r/rpl_row_log_innodb.result:
Result change
mysql-test/r/rpl_row_max_relay_size.result:
Result change
mysql-test/r/rpl_row_reset_slave.result:
Result change
mysql-test/r/rpl_row_until.result:
Result change
mysql-test/r/rpl_server_id1.result:
Result change
mysql-test/r/rpl_server_id2.result:
Result change
mysql-test/r/rpl_sp.result:
Result change
mysql-test/r/rpl_stm_charset.result:
Result change
mysql-test/r/rpl_stm_flsh_tbls.result:
Result change
mysql-test/r/rpl_stm_log.result:
Result change
mysql-test/r/rpl_stm_max_relay_size.result:
Result change
mysql-test/r/rpl_stm_multi_query.result:
Result change
mysql-test/r/rpl_stm_reset_slave.result:
Result change
mysql-test/r/rpl_stm_until.result:
Result change
mysql-test/r/rpl_switch_stm_row_mixed.result:
Result change
mysql-test/r/rpl_truncate_2myisam.result:
Result change
mysql-test/r/rpl_truncate_3innodb.result:
Result change
mysql-test/r/rpl_truncate_7ndb.result:
Result change
mysql-test/r/user_var-binlog.result:
Result change
mysql-test/t/binlog_row_mix_innodb_myisam.test:
Binlog position change
mysql-test/t/binlog_stm_mix_innodb_myisam.test:
Binlog position change
mysql-test/t/ctype_cp932_binlog_stm.test:
Binlog position change
mysql-test/t/mysqlbinlog.test:
Binlog position change
mysql-test/t/mysqlbinlog2.test:
Binlog position change
mysql-test/t/rpl_loaddata_s.test:
Binlog position change
mysql-test/t/rpl_log_pos.test:
Binlog position change
mysql-test/t/rpl_row_basic_11bugs.test:
Binlog position change
mysql-test/t/rpl_row_create_table.test:
Binlog position change
mysql-test/t/rpl_row_flsh_tbls.test:
Binlog position change
mysql-test/t/rpl_row_mysqlbinlog.test:
Binlog position change
mysql-test/t/rpl_sp.test:
Binlog position change
mysql-test/t/rpl_stm_flsh_tbls.test:
Binlog position change
mysql-test/t/rpl_switch_stm_row_mixed.test:
Binlog position change
mysql-test/t/user_var-binlog.test:
Binlog position change
sql/Makefile.am:
Adding file rpl_constants.h with constants for replication.
sql/log_event.cc:
Changing prototype for read_str() to be const-correct and changing code to match that.
Adding incident log event.
sql/log_event.h:
Adding incident log event.
sql/rpl_injector.cc:
Adding support for generating incidents into the binary log.
sql/rpl_injector.h:
Adding support for generating incidents into the binary log.
sql/share/errmsg.txt:
Adding new error message to indicate an incident.
sql/sql_parse.cc:
Adding code to generate an incident log event just before executing a REPLACE
if the variable "incident_database_resync_on_replace" is set.
mysql-test/r/rpl_incident.result:
New BitKeeper file ``mysql-test/r/rpl_incident.result''
mysql-test/t/rpl_incident.test:
New BitKeeper file ``mysql-test/t/rpl_incident.test''
sql/rpl_constants.h:
New BitKeeper file ``sql/rpl_constants.h''
Adding an event that can be used to denote that an incident occured
on the master. The event can be used to denote a gap in the replication
stream, but can also be used to denote other incidents.
In addition, the injector interface is extended with functions to
generate an incident event. The function will also rotate the binary
log after generating an incident event to get a fresh binary log.
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
client/mysqlbinlog.cc:
Auto merged
mysql-test/extra/binlog_tests/binlog.test:
Auto merged
mysql-test/r/binlog_row_binlog.result:
Auto merged
mysql-test/r/binlog_stm_binlog.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/lock.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.h:
Auto merged
mysql-test/r/rpl_ndb_log.result:
Manual merge main->rpl 5.1
mysql-test/r/rpl_truncate_7ndb.result:
Manual merge main->rpl 5.1
sql/log.cc:
Manual merge main->rpl 5.1
sql/log_event.cc:
Manual merge main->rpl 5.1
sql/log_event.cc:
Adding non-reachable return statement at end of function to keep compiler
happy.
sql/slave.cc:
In order to keep compiler happy: using variable only used in debug code
instead of recalling virtual function.
rows event):
Adding a after image COLS bitmap to Update_rows_log_event (for telling
what columns that are present in the after image of each row update).
Also fixing case where Rows_log_event length was not correctly computed
(happened when the number of columns in a table was more than 251).
mysql-test/r/rpl_row_inexist_tbl.result:
Result change.
sql/log_event.cc:
Extending Rows_log_event with two new fields: m_bitbuf_ai and m_cols_ai. These fields are only used for the Update_rows_log_event.
Adding implementation of Update_rows_log_event destructor.
Using new after image fields inside the Update_rows_log_event.
Factoring out common constructor bodies into Update_rows_log_event::init()
function.
Fixing case where length of Rows_log_event was not correctly computed (for
tables with more than 251 columns).
sql/log_event.h:
Moving implementation of Rows_log_event::get_data_size() into .cc file.
Adding Update_rows_log_event constructor accepting both before image
and after image COLS vector.
Adding Update_rows_log_vector destructor.
Adding fields m_bitbuf_ai and m_cols_ai to Rows_log_event.
Fixing is_valid() to look at m_cols_ai as well.