(Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
Marked federated_server as a '--big-test'
Change error in net_clear to 'Note', as it interfered with mysql-test-run.
client/mysqltest.c:
More DBUG messages
Adding missing DBUG_RETURN
mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
Added missing sync_slave_with_master
mysql-test/extra/rpl_tests/rpl_relayrotate.test:
Added missing sync_slave_with_master
mysql-test/include/federated.inc:
Don't do stop slave before the slave has started properly
(Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
mysql-test/include/federated_cleanup.inc:
Trivial cleanup
mysql-test/t/federated_server.test:
Don't run this unless under --big-test
Made test-loop smaller. (We will find out errors in code over time, as the test is run under a lot of difference machines which will compensate for the smaller loop)
mysql-test/t/rpl_flushlog_loop.test:
Added missing sync_slave_with_master
sql/net_serv.cc:
Change error to Note (low level warning), as it interfered with mysql-test-run.
This is probably fine as we in some context on sever shutdown can get information about connection shutdown on the connection while we are doing a query at the same time.
Still, in normal context one should get this, so it's good to have it in the log as it enables one to find errors easier.
sql/slave.cc:
Added reason to why things failed to error message
(Removes some warnings about UNIX_TIMESTAMP from the slave.err logs)
Marked federated_server as a '--big-test'
Change error in net_clear to 'Note', as it interfered with mysql-test-run.
Added error code ER_QUERY_INTERRUPTED to the list of special errors
that prevent the slave from starting to execute a query.
sql/slave.cc:
Added ER_QUERY_INTERRUPTED to special error code that prevents statement
from being executed on slave.
mysql-test/r/rpl_critical_errors.result.txt:
New BitKeeper file ``mysql-test/r/rpl_critical_errors.result.txt''
mysql-test/t/rpl_critical_errors.test:
New BitKeeper file ``mysql-test/t/rpl_critical_errors.test''
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.
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
into mysql_cab_desk.:C:/source/c++/mysql-5.1-new-rpl
mysql-test/t/events.test:
Auto merged
sql/event_queue.cc:
Auto merged
sql/events.cc:
Auto merged
sql/lex.h:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
mysql-test/r/events.result:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
mysql-test/r/events_grant.result:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
mysql-test/r/events_restart_phase1.result:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
mysql-test/r/system_mysql_db.result:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
mysql-test/t/events_restart_phase1.test:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
scripts/mysql_system_tables.sql:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
scripts/mysql_system_tables_fix.sql:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
sql/event_data_objects.cc:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
sql/event_data_objects.h:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
sql/event_db_repository.cc:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
sql/event_db_repository.h:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
sql/sql_udf.cc:
WL#3629 : Replication of Invocation and Invoked Features
Manual merge prior to pushing patches.
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
mysql-test/r/rpl_replicate_do.result:
Auto merged
mysql-test/r/rpl_slave_status.result:
Auto merged
mysql-test/r/rpl_stm_log.result:
Auto merged
sql/lex.h:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/t/rpl_ssl1.test:
Auto merged
- Add MASTER_SSL_VERIFY_SERVER_CERT option to CHANGE MASTER TO
- Add Master_Ssl_Serify_Server_Cert to SHOW SLAVE STATUS
- Save and restore ssl_verify_server_cert to master info file
setting it to disabled as default.
mysql-test/r/rpl_000015.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_change_master.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_empty_master_crash.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_flushlog_loop.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_loaddata.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_log_pos.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_rbr_to_sbr.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_redirect.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_replicate_do.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_rotate_logs.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_row_max_relay_size.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_server_id1.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_server_id2.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_slave_status.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_ssl1.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_log.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_max_relay_size.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_reset_slave.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/r/rpl_stm_until.result:
Update test result after adding new column to SHOW SLAVE STATUS
mysql-test/t/rpl_ssl1.test:
Change to "query_vertical show slave status"
sql/lex.h:
Add new token for MASTER_SSL_VERIFY_SERVER_CERT
sql/repl_failsafe.cc:
Turn on verification of master cert if so requested
sql/rpl_mi.cc:
Add new variable to MASTER_INFo and save/restore it from/to line 15 of master info
file
sql/rpl_mi.h:
Add variable for ssl_verify_server_cert to MASTER_INFO
sql/slave.cc:
Turn on verification of master cert if so requested
Add new column to SHOW SLAVE STATUS
sql/sql_lex.h:
Add ssl_verify_server_cert to "st_lex_master_info" struct - allow
it to be UNCHANGED just like the ssl option.
sql/sql_repl.cc:
Add ssl_verify_server_cert to "st_lex_master_info" struct - allow
it to be UNCHANGED just like the ssl option.
sql/sql_yacc.yy:
Add MASTER_SSL_VERIFY_SERVER_CERT to CHANGE MASTER TO
mysql-test/t/rpl_ssl_verify_server.test:
New BitKeeper file ``mysql-test/t/rpl_ssl_verify_server.test''
mysql-test/r/rpl_ssl_verify_server.result:
New BitKeeper file ``mysql-test/r/rpl_ssl_verify_server.result''
- Add MASTER_SSL_VERIFY_SERVER_CERT option to CHANGE MASTER TO
- Add Master_Ssl_Serify_Server_Cert to SHOW SLAVE STATUS
- Save and restore ssl_verify_server_cert to master info file
setting it to disabled as default.
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.
into mysql_cab_desk.:C:/source/c++/mysql-5.1_WL_3629
BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
Auto merged
BitKeeper/deleted/.del-mysql_create_system_tables.sh:
Auto merged
scripts/mysql_system_tables_fix.sql:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/event_data_objects.h:
Manual merge.
sql/event_queue.cc:
Manual merge.
sql/events.cc:
Manual merge.
into romeo.(none):/home/bk/b23171-mysql-5.1-new-rpl
mysql-test/r/rpl_row_tabledefs_2myisam.result:
Auto merged
mysql-test/r/rpl_row_tabledefs_3innodb.result:
Auto merged
sql/rpl_rli.cc:
Auto merged
sql/rpl_rli.h:
Auto merged
sql/rpl_utility.cc:
Auto merged
sql/rpl_utility.h:
Auto merged
sql/slave.h:
Auto merged
sql/log.cc:
Manual merge
sql/log_event.cc:
Manual merge
sql/log_event.h:
Manual merge
sql/slave.cc:
Manual merge
sql/sql_binlog.cc:
Manual merge
Tail fixes after re-applying patches to older version of clone.
sql/log_event.cc:
Name change of shall_skip() -> do_shall_skip()
Introducing public shall_skip().
Name change of skip reason enumeration constants.
Removing extreneous argument to slave_print_msg() causing compiler warning.
sql/log_event.h:
Adding enumeration for skip reason.
Factoring out exec_event() into exec_relay_log_event().
Making public interface to event execution primitives.
Adding documentation.
Making some (internal) functions const-correct.
sql/rpl_rli.cc:
replicate_same_server_id is now a member variable of RLI.
sql/rpl_rli.h:
replicate_same_server_id is now a member variable of RLI.
sql/slave.cc:
Using RLI-specific member variable replicate_same_server_id instead of
global instance.
Moving comments about skipping logic to exec_relay_log_event().
Moving event execution logic to exec_relay_log_event().
sql/sql_binlog.cc:
Using apply_event() directly and adding comment with explenation.
Problem: to handle a situation when the size of event on the master is greater than max_allowed_packet on slave, we checked for the wrong constant (ER_NET_PACKET_TOO_LARGE instead of CR_NET_PACKET_TOO_LARGE).
Solution: test for the client "packet too large" error code instead of the server one in slave I/O thread.
mysql-test/r/rpl_packet.result:
Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
mysql-test/t/rpl_packet.test:
Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
sql/slave.cc:
Test for the client "packet too large" error code instead of the server one in slave I/O thread.
Problem: to handle a situation when the size of event on the master is greater than max_allowed_packet on slave, we checked for the wrong constant (ER_NET_PACKET_TOO_LARGE instead of CR_NET_PACKET_TOO_LARGE).
Solution: test for the client "packet too large" error code instead of the server one in slave I/O thread.
This changeset adds replication of events and user-defined functions.
There are several bug reports involved in this change:
BUG#16421, BUG#17857, BUG#20384:
This patch modifies the mysql.events table to permit the addition of
another enum value for the status column. The column now has values
of ('DISABLED','SLAVESIDE_DISABLED','ENABLED'). A status of
SLAVESIDE_DISABLED is set on the slave during replication of events.
This enables users to determine which events werereplicated from the
master and to later enable them if they promote the slave to a master.
The CREATE, ALTER, and DROP statements are binlogged.
A new test was added for replication of events (rpl_events).
BUG#17671:
This patch modifies the code to permit logging of user-defined functions.
Note: this is the CREATE FUNCTION ... SONAME variety. A more friendly error
message to be displayed should a replicated user-defined function not be
found in the loadable library or if the library is missing from the
slave.The CREATE andDROP statements are binlogged. A new test was added
for replication of user-defined functions (rpl_udf).
The patch also adds a new column to the mysql.event table named
'originator' that is used to store the server_id of the server that
the event originated on. This enables users to promote a slave to a
master and later return the promoted slave to a slave and disable the
replicated events.
mysql-test/lib/init_db.sql:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the SLAVESIDE_DISABLED to the list of enumerated
values for the mysql.event table.
This patch adds the column 'originator' to the mysql.event table.
mysql-test/r/events.result:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the 'originator' column to the events test results.
This was necessary to ensure the manual insert into mysql.event table
succeeds because the originator column is set to NOT NULL.
mysql-test/r/events_grant.result:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the 'originator' column to the events_grant test results.
This was necessary to ensure the manual insert into mysql.event table
succeeds because the originator column is set to NOT NULL.
mysql-test/r/events_restart_phase1.result:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the 'originator' column to the events_restart_phase1
test results. This was necessary to ensure the manual insert into
mysql.event table succeeds because the originator column is set to
NOT NULL.
mysql-test/r/system_mysql_db.result:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the SLAVESIDE_DISABLED to the list of enumerated
values for the mysql.event table.
This patch adds the column 'originator' to the mysql.event table.
These changes to the result file were necessary to ensure correct test
results.
mysql-test/t/events.test:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the 'originator' column to the events
test. This was necessary to ensure the manual insert into
mysql.event table succeeds because the originator column is set to
NOT NULL.
mysql-test/t/events_restart_phase1.test:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the 'originator' column to the events_restart_phase1
test. This was necessary to ensure the manual insert into
mysql.event table succeeds because the originator column is set to
NOT NULL.
scripts/mysql_create_system_tables.sh:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the SLAVESIDE_DISABLED to the list of enumerated
values for the mysql.event table.
This patch adds the column 'originator' to the mysql.event table.
scripts/mysql_fix_privilege_tables.sql:
WL#3629 - Replication of Invocation and Invoked Feature
This patch adds the SLAVESIDE_DISABLED to the list of enumerated
values for the mysql.event table.
This patch adds the column 'originator' to the mysql.event table.
sql/event_data_objects.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit processing of the new enum
SLAVESIDE_DISABLED which is set on the slave during replication
of events.
This patch uses the new Event_basic:: enumerated values.
sql/event_data_objects.h:
WL#3629 - Replication of Invocation and Invoked Features
This patch moves the duplicated enumeration values for ENABLED,
SLAVESIDE_DISABLED, and DISABLED to the Event_basic class removing
them from the other Event_* classes.
sql/event_db_repository.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit processing of the new enum
SLAVESIDE_DISABLED which is set on the slave during replication
of events.
The patch also adds a new column to the mysql.event table named
'originator' that is used to store the server_id of the server that
the event originated on. This enables users to promote a slave to a
master and later return the promoted slave to a slave and disable the
replicated events.
sql/event_db_repository.h:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to add a new field named 'originator'
to the enum_event_table_field and associated structure.
sql/event_queue.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit processing of the new enum
SLAVESIDE_DISABLED which is set on the slave during replication
of events.
sql/events.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit processing of the new enum
SLAVESIDE_DISABLED which is set on the slave during replication
of events.
sql/lex.h:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to add the new SLAVESIDE_DISABLE symbol
to the lexical parser.
sql/slave.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit the capture of the error on
the slave when a UDF from a loadable library is not loaded on the server
when replicated from the master.
sql/sql_parse.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch removes the comment because drop functions commands
are replicated.
sql/sql_show.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to permit processing of the new enum
SLAVESIDE_DISABLED which is set on the slave during replication
of events. The code also adds changes the display width of the status
column for the schema table for the show events command and also adds
the new column 'originator' to the events_field_info structure.
sql/sql_udf.cc:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to add the binlogging of the create and
drop function events.
sql/sql_yacc.yy:
WL#3629 - Replication of Invocation and Invoked Features
This patch modifies the code to change the enumeration of the status
column for the events in the parser. The code uses the Event_basic::
enumerations allowing the enums to be defined in one place.
mysql-test/t/rpl_events.test:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new test for testing replication of events. The test
uses include files so that the test can test under both RBR and SBR.
mysql-test/r/rpl_events.result:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new result file for testing replication of events.
mysql-test/r/rpl_udf.result:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new result file for testing replication of UDFs.
mysql-test/t/rpl_udf.test:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new test for testing replication of UDFs. The test
uses include files so that the test can test under both RBR and SBR.
mysql-test/include/rpl_events.inc:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new include file for testing replication of events.
This file contains the core test procedures.
mysql-test/include/rpl_udf.inc:
WL#3629 - Replication of Invocation and Invoked Features
This patch adds a new include file for testing replication of UDFs.
This file contains the core test procedures.
This changeset adds replication of events and user-defined functions.
There are several bug reports involved in this change:
BUG#16421, BUG#17857, BUG#20384:
This patch modifies the mysql.events table to permit the addition of
another enum value for the status column. The column now has values
of ('DISABLED','SLAVESIDE_DISABLED','ENABLED'). A status of
SLAVESIDE_DISABLED is set on the slave during replication of events.
This enables users to determine which events werereplicated from the
master and to later enable them if they promote the slave to a master.
The CREATE, ALTER, and DROP statements are binlogged.
A new test was added for replication of events (rpl_events).
BUG#17671:
This patch modifies the code to permit logging of user-defined functions.
Note: this is the CREATE FUNCTION ... SONAME variety. A more friendly error
message to be displayed should a replicated user-defined function not be
found in the loadable library or if the library is missing from the
slave.The CREATE andDROP statements are binlogged. A new test was added
for replication of user-defined functions (rpl_udf).
The patch also adds a new column to the mysql.event table named
'originator' that is used to store the server_id of the server that
the event originated on. This enables users to promote a slave to a
master and later return the promoted slave to a slave and disable the
replicated events.
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
include/my_global.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_partition.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/slave.h:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/sql_servers.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/tztime.cc:
Auto merged
storage/heap/ha_heap.cc:
Auto merged
storage/innobase/handler/ha_innodb.cc:
Auto merged
storage/myisam/ha_myisam.cc:
Auto merged
storage/myisammrg/ha_myisammrg.h:
Auto merged