[Groonga-mysql-commit] mroonga/mroonga [master] add parameter 'groonga_default_wrapper_engine'. refs #1195

Back to archive index

null+****@clear***** null+****@clear*****
2011年 12月 26日 (月) 23:28:22 JST


Kentoku	2011-12-26 23:28:22 +0900 (Mon, 26 Dec 2011)

  New Revision: 6060d13e77c45069a310fcd39ec36ea5a2ee0b74

  Log:
    add parameter 'groonga_default_wrapper_engine'. refs #1195

  Modified files:
    ha_mroonga.cc
    mrn_table.cc

  Modified: ha_mroonga.cc (+9 -0)
===================================================================
--- ha_mroonga.cc    2011-12-26 02:19:49 +0900 (3fd3a79)
+++ ha_mroonga.cc    2011-12-26 23:28:22 +0900 (d3adaa2)
@@ -456,6 +456,7 @@ static bool mrn_log_file_opened = false;
 static grn_log_level mrn_log_level_default = GRN_LOG_DEFAULT_LEVEL;
 static ulong mrn_log_level = (ulong) mrn_log_level_default;
 char *mrn_default_parser = NULL;
+char *mrn_default_wrapper_engine = NULL;
 static char *mrn_libgroonga_version = (char *) grn_get_version();
 static char *mrn_version = (char *) MRN_VERSION;
 
@@ -645,6 +646,13 @@ static bool mrn_dry_write(THD *thd)
   DBUG_RETURN(dry_write_p);
 }
 
+static MYSQL_SYSVAR_STR(default_wrapper_engine, mrn_default_wrapper_engine,
+                        PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,
+                        "The default engine for wrapper mode",
+                        NULL,
+                        NULL,
+                        NULL);
+
 static MYSQL_SYSVAR_STR(libgroonga_version, mrn_libgroonga_version,
                         PLUGIN_VAR_NOCMDOPT | PLUGIN_VAR_READONLY,
                         "The version of libgroonga",
@@ -665,6 +673,7 @@ struct st_mysql_sys_var *mrn_system_variables[] =
   MYSQL_SYSVAR(log_file),
   MYSQL_SYSVAR(default_parser),
   MYSQL_SYSVAR(dry_write),
+  MYSQL_SYSVAR(default_wrapper_engine),
   MYSQL_SYSVAR(libgroonga_version),
   MYSQL_SYSVAR(version),
   NULL

  Modified: mrn_table.cc (+14 -0)
===================================================================
--- mrn_table.cc    2011-12-26 02:19:49 +0900 (dd59b33)
+++ mrn_table.cc    2011-12-26 23:28:22 +0900 (397bee1)
@@ -43,6 +43,7 @@
 extern HASH mrn_open_tables;
 extern pthread_mutex_t mrn_open_tables_mutex;
 extern char *mrn_default_parser;
+extern char *mrn_default_wrapper_engine;
 extern handlerton *mrn_hton_ptr;
 extern HASH mrn_allocated_thds;
 extern pthread_mutex_t mrn_allocated_thds_mutex;
@@ -415,6 +416,19 @@ int mrn_parse_table_param(MRN_SHARE *share, TABLE *table)
     }
   }
 
+  if (!share->engine && mrn_default_wrapper_engine)
+  {
+    share->engine_length = strlen(mrn_default_wrapper_engine);
+    if (
+      !(share->engine = mrn_create_string(
+        mrn_default_wrapper_engine,
+        share->engine_length))
+    ) {
+      error = HA_ERR_OUT_OF_MEM;
+      goto error;
+    }
+  }
+
   if (share->engine)
   {
     LEX_STRING engine_name;




Groonga-mysql-commit メーリングリストの案内
Back to archive index