summaryrefslogtreecommitdiffstats
path: root/storage/spider/hs_client/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'storage/spider/hs_client/config.hpp')
-rw-r--r--storage/spider/hs_client/config.hpp81
1 files changed, 81 insertions, 0 deletions
diff --git a/storage/spider/hs_client/config.hpp b/storage/spider/hs_client/config.hpp
new file mode 100644
index 00000000..2880f2f5
--- /dev/null
+++ b/storage/spider/hs_client/config.hpp
@@ -0,0 +1,81 @@
+
+// vim:sw=2:ai
+
+/*
+ * Copyright (C) 2010-2011 DeNA Co.,Ltd.. All rights reserved.
+ * Copyright (C) 2011 Kentoku SHIBA
+ * See COPYRIGHT.txt for details.
+ */
+
+#ifndef DENA_CONFIG_HPP
+#define DENA_CONFIG_HPP
+
+#include "mysql_version.h"
+#if MYSQL_VERSION_ID < 50500
+#include "mysql_priv.h"
+#include <mysql/plugin.h>
+#else
+#include "sql_priv.h"
+#include "probes_mysql.h"
+#include "sql_class.h"
+#endif
+
+#define DENA_VERBOSE(lv, x) if (dena::verbose_level >= (lv)) { (x); }
+
+#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
+#define INFO_KIND_HS_RET_FIELDS 1
+#define INFO_KIND_HS_APPEND_STRING_REF 3
+#define INFO_KIND_HS_CLEAR_STRING_REF 4
+#define INFO_KIND_HS_INCREMENT_BEGIN 5
+#define INFO_KIND_HS_INCREMENT_END 6
+#define INFO_KIND_HS_DECREMENT_BEGIN 7
+#define INFO_KIND_HS_DECREMENT_END 8
+#endif
+
+namespace dena {
+
+#ifdef HANDLER_HAS_DIRECT_UPDATE_ROWS
+struct uint32_info {
+ size_t info_size;
+ uint32 *info;
+};
+#endif
+
+struct conf_param {
+ String key;
+ String val;
+};
+
+uchar *conf_get_key(
+ conf_param *share,
+ size_t *length,
+ my_bool not_used __attribute__ ((unused))
+);
+
+struct config {
+ bool init;
+ HASH conf_hash;
+ config();
+ ~config();
+ conf_param *find(const String& key) const;
+ conf_param *find(const char *key) const;
+ String get_str(const String& key, const String& def =
+ String("", &my_charset_bin)) const;
+ String get_str(const char *key, const char *def = "") const;
+ long long get_int(const String& key, long long def = 0) const;
+ long long get_int(const char *key, long long def = 0) const;
+ bool replace(const char *key, const char *val);
+ bool replace(const char *key, long long val);
+ bool compare(const char *key, const char *val);
+ void list_all_params() const;
+ config& operator =(const config& x);
+};
+
+void parse_args(int argc, char **argv, config& conf);
+
+extern unsigned int verbose_level;
+
+};
+
+#endif
+