summaryrefslogtreecommitdiff
path: root/sql/set_var.h
diff options
context:
space:
mode:
authorunknown <jani@hynda.mysql.fi>2007-06-27 17:51:35 +0300
committerunknown <jani@hynda.mysql.fi>2007-06-27 17:51:35 +0300
commitcfdd73369c0c2d57908af8dc727de33567fe9e0b (patch)
tree12bdcd18fb3072cb578c358e9acd8f5a8df3f19e /sql/set_var.h
parenta0fa27cf359397d721272635482a7d03687ad241 (diff)
parent5444b55cbbab69a508e6c477a1b9580eff969da1 (diff)
downloadmariadb-git-cfdd73369c0c2d57908af8dc727de33567fe9e0b.tar.gz
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into hynda.mysql.fi:/home/my/mysql-maria configure.in: Auto merged mysql-test/r/view.result: Auto merged mysql-test/t/view.test: Auto merged sql/item_func.cc: Auto merged sql/net_serv.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged
Diffstat (limited to 'sql/set_var.h')
-rw-r--r--sql/set_var.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/sql/set_var.h b/sql/set_var.h
index a998dc93b84..ab865f312b3 100644
--- a/sql/set_var.h
+++ b/sql/set_var.h
@@ -733,6 +733,33 @@ public:
};
+#ifdef WITH_MARIA_STORAGE_ENGINE
+class sys_var_pagecache_param :public sys_var
+{
+protected:
+ size_t offset;
+public:
+ sys_var_pagecache_param(const char *name_arg, size_t offset_arg)
+ :sys_var(name_arg), offset(offset_arg)
+ {}
+ byte *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base);
+ bool check_default(enum_var_type type) { return 1; }
+ bool is_struct() { return 1; }
+};
+
+
+class sys_var_pagecache_long :public sys_var_pagecache_param
+{
+public:
+ sys_var_pagecache_long(const char *name_arg, size_t offset_arg)
+ :sys_var_pagecache_param(name_arg, offset_arg)
+ {}
+ bool update(THD *thd, set_var *var);
+ SHOW_TYPE type() { return SHOW_LONG; }
+};
+#endif /* WITH_MARIA_STORAGE_ENGINE */
+
+
class sys_var_thd_date_time_format :public sys_var_thd
{
DATE_TIME_FORMAT *SV::*offset;
@@ -1131,7 +1158,11 @@ public:
my_free((uchar*) name, MYF(0));
}
friend bool process_key_caches(int (* func) (const char *name,
- KEY_CACHE *));
+ KEY_CACHE *));
+#ifdef WITH_MARIA_STORAGE_ENGINE
+ friend bool process_pagecaches(int (* func) (const char *name,
+ PAGECACHE *));
+#endif /* WITH_MARIA_STORAGE_ENGINE */
friend void delete_elements(I_List<NAMED_LIST> *list,
void (*free_element)(const char*, uchar*));
};
@@ -1141,6 +1172,9 @@ public:
extern sys_var_thd_bool sys_old_alter_table;
extern sys_var_thd_bool sys_old_passwords;
extern LEX_STRING default_key_cache_base;
+#ifdef WITH_MARIA_STORAGE_ENGINE
+extern LEX_STRING maria_pagecache_base;
+#endif /* WITH_MARIA_STORAGE_ENGINE */
/* For sql_yacc */
struct sys_var_with_base
@@ -1182,3 +1216,8 @@ void free_key_cache(const char *name, KEY_CACHE *key_cache);
bool process_key_caches(int (* func) (const char *name, KEY_CACHE *));
void delete_elements(I_List<NAMED_LIST> *list,
void (*free_element)(const char*, uchar*));
+#ifdef WITH_MARIA_STORAGE_ENGINE
+PAGECACHE *get_or_create_pagecache(const char *name, uint length);
+void free_pagecache(const char *name, PAGECACHE *pagecache);
+bool process_pagecaches(int (* func) (const char *name, PAGECACHE *));
+#endif /* WITH_MARIA_STORAGE_ENGINE */