diff options
author | Lixun Peng <P.Linux@163.com> | 2013-04-16 19:43:28 +0800 |
---|---|---|
committer | Lixun Peng <P.Linux@163.com> | 2013-04-16 19:43:28 +0800 |
commit | 82eedf4e9745aa570b88b225941120475f9f74c9 (patch) | |
tree | c88a6bcc7efd700de4e64af88edb7e3d02f9dd1b /sql/keycaches.h | |
parent | aa052eeb1a020b8a198e892a7ca0d8f4a3bcd5f1 (diff) | |
download | mariadb-git-82eedf4e9745aa570b88b225941120475f9f74c9.tar.gz |
Makeing rpl_filter for each Master_info.
Users can set different repplication filter rules for each replication connection, in my.cnf or command line.
But the rules set online will not record in master.info, it means if users restart MySQL, these rules will lose.
So if users wantn't their replication filter rules lose, they should write the rules in my.cnf.
Users can set rules by 2 ways:
1. Online SET command, "SET connection_name.replication_filter_settings = rules;".
2. In my.cnf, "connection_name.replication_filter_settings = rules".
If no connection_name in my.cnf, this rule will apply for ALL replication connection.
If no connetion_name in SET statement, this rull will apply for default_connection_name.
Diffstat (limited to 'sql/keycaches.h')
-rw-r--r-- | sql/keycaches.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/keycaches.h b/sql/keycaches.h index 04d3f6145e7..2d52cb28973 100644 --- a/sql/keycaches.h +++ b/sql/keycaches.h @@ -18,6 +18,7 @@ #include "sql_list.h" #include <keycache.h> +#include <rpl_filter.h> extern "C" { @@ -30,8 +31,10 @@ class NAMED_ILIST: public I_List<NAMED_ILINK> { public: void delete_elements(void (*free_element)(const char*, uchar*)); + bool delete_element(const char *name, uint length, void (*free_element)(const char*, uchar*)); }; +/* For key cache */ extern LEX_STRING default_key_cache_base; extern KEY_CACHE zero_key_cache; extern NAMED_ILIST key_caches; @@ -42,4 +45,13 @@ KEY_CACHE *get_or_create_key_cache(const char *name, uint length); void free_key_cache(const char *name, KEY_CACHE *key_cache); bool process_key_caches(process_key_cache_t func, void *param); +/* For Rpl_filter */ +extern LEX_STRING default_rpl_filter_base; +extern NAMED_ILIST rpl_filters; + +Rpl_filter *create_rpl_filter(const char *name, uint length); +Rpl_filter *get_rpl_filter(LEX_STRING *filter_name); +Rpl_filter *get_or_create_rpl_filter(const char *name, uint length); +void free_rpl_filter(const char *name, Rpl_filter *filter); + #endif /* KEYCACHES_INCLUDED */ |