diff options
author | unknown <knielsen@knielsen-hq.org> | 2009-06-11 19:49:51 +0200 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2009-06-11 19:49:51 +0200 |
commit | 4b2aafb35cd2f04d96165100aee22b8836cf950d (patch) | |
tree | c11afa70602fb80e4e6e0854bd8d8bc4de7375bf /sql | |
parent | 1f81aa5f5aa48001b4b986c0d45ea094c78f896d (diff) | |
parent | 93bcda598bd6c58a7f5ad3d2e860b194325eed9f (diff) | |
download | mariadb-git-4b2aafb35cd2f04d96165100aee22b8836cf950d.tar.gz |
Merge of Percona XtraDB into MariaDB.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/log_event.cc | 26 | ||||
-rw-r--r-- | sql/log_event.h | 4 | ||||
-rw-r--r-- | sql/rpl_mi.cc | 5 | ||||
-rw-r--r-- | sql/rpl_rli.cc | 5 | ||||
-rw-r--r-- | sql/slave.cc | 51 |
5 files changed, 30 insertions, 61 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index 87917b6ac86..485dc2fddc3 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -9313,3 +9313,29 @@ st_print_event_info::st_print_event_info() open_cached_file(&body_cache, NULL, NULL, 0, flags); } #endif + +#if defined(MYSQL_SERVER) +/* + Access to the current replication position. + + There is a dummy replacement for this in the embedded library that returns + FALSE; this is used by XtraDB to allow it to access replication stuff while + still being able to use the same plugin in both stand-alone and embedded. +*/ +bool rpl_get_position_info(const char **log_file_name, ulonglong *log_pos, + const char **group_relay_log_name, + ulonglong *relay_log_pos) +{ +#if defined(EMBEDDED_LIBRARY) || !defined(HAVE_REPLICATION) + return FALSE; +#else + const Relay_log_info *rli= &(active_mi->rli); + *log_file_name= rli->group_master_log_name; + *log_pos= rli->group_master_log_pos + + (rli->future_event_relay_log_pos - rli->group_relay_log_pos); + *group_relay_log_name= rli->group_relay_log_name; + *relay_log_pos= rli->future_event_relay_log_pos; + return TRUE; +#endif +} +#endif diff --git a/sql/log_event.h b/sql/log_event.h index bda53da8ab0..45dcf297697 100644 --- a/sql/log_event.h +++ b/sql/log_event.h @@ -3917,6 +3917,10 @@ static inline bool copy_event_cache_to_file_and_reinit(IO_CACHE *cache, reinit_io_cache(cache, WRITE_CACHE, 0, FALSE, TRUE); } +bool rpl_get_position_info(const char **log_file_name, ulonglong *log_pos, + const char **group_relay_log_name, + ulonglong *relay_log_pos); + /** @} (end of group Replication) */ diff --git a/sql/rpl_mi.cc b/sql/rpl_mi.cc index cb8b0e02ef9..b8af53849f1 100644 --- a/sql/rpl_mi.cc +++ b/sql/rpl_mi.cc @@ -22,11 +22,6 @@ #ifdef HAVE_REPLICATION -// Defined in slave.cc -int init_intvar_from_file(int* var, IO_CACHE* f, int default_val); -int init_strvar_from_file(char *var, int max_size, IO_CACHE *f, - const char *default_val); - Master_info::Master_info() :Slave_reporting_capability("I/O"), ssl(0), ssl_verify_server_cert(0), fd(-1), io_thd(0), inited(0), diff --git a/sql/rpl_rli.cc b/sql/rpl_rli.cc index 82628143bea..3fbe9b16d23 100644 --- a/sql/rpl_rli.cc +++ b/sql/rpl_rli.cc @@ -23,11 +23,6 @@ static int count_relay_log_space(Relay_log_info* rli); -// Defined in slave.cc -int init_intvar_from_file(int* var, IO_CACHE* f, int default_val); -int init_strvar_from_file(char *var, int max_size, IO_CACHE *f, - const char *default_val); - Relay_log_info::Relay_log_info() :Slave_reporting_capability("SQL"), diff --git a/sql/slave.cc b/sql/slave.cc index ec86a4c48e0..b6138078e35 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -755,57 +755,6 @@ const char *print_slave_db_safe(const char* db) DBUG_RETURN((db ? db : "")); } -int init_strvar_from_file(char *var, int max_size, IO_CACHE *f, - const char *default_val) -{ - uint length; - DBUG_ENTER("init_strvar_from_file"); - - if ((length=my_b_gets(f,var, max_size))) - { - char* last_p = var + length -1; - if (*last_p == '\n') - *last_p = 0; // if we stopped on newline, kill it - else - { - /* - If we truncated a line or stopped on last char, remove all chars - up to and including newline. - */ - int c; - while (((c=my_b_get(f)) != '\n' && c != my_b_EOF)) - ; - } - DBUG_RETURN(0); - } - else if (default_val) - { - strmake(var, default_val, max_size-1); - DBUG_RETURN(0); - } - DBUG_RETURN(1); -} - - -int init_intvar_from_file(int* var, IO_CACHE* f, int default_val) -{ - char buf[32]; - DBUG_ENTER("init_intvar_from_file"); - - - if (my_b_gets(f, buf, sizeof(buf))) - { - *var = atoi(buf); - DBUG_RETURN(0); - } - else if (default_val) - { - *var = default_val; - DBUG_RETURN(0); - } - DBUG_RETURN(1); -} - /* Note that we rely on the master's version (3.23, 4.0.14 etc) instead of relying on the binlog's version. This is not perfect: imagine an upgrade |