[Groonga-mysql-commit] mroonga/mroonga [master] don't export internal symbols.

Back to archive index

null+****@clear***** null+****@clear*****
2011年 6月 9日 (木) 19:08:37 JST


Kouhei Sutou	2011-06-09 10:08:37 +0000 (Thu, 09 Jun 2011)

  New Revision: 85e0f8d2fcabd2db068e7494d95c4e41c216c3d8

  Log:
    don't export internal symbols.

  Modified files:
    ha_mroonga.cc
    ha_mroonga.h

  Modified: ha_mroonga.cc (+174 -170)
===================================================================
--- ha_mroonga.cc    2011-06-09 09:57:26 +0000 (e64875d)
+++ ha_mroonga.cc    2011-06-09 10:08:37 +0000 (3a899ba)
@@ -90,13 +90,6 @@ grn_obj *mrn_db;
 grn_hash *mrn_hash;
 pthread_mutex_t mrn_db_mutex;
 pthread_mutex_t mrn_log_mutex;
-_ft_vft mrn_ft_vft = {
-  NULL, // mrn_ft_read_next
-  mrn_ft_find_relevance,
-  mrn_ft_close_search,
-  mrn_ft_get_relevance,
-  NULL // mrn_ft_reinit_search
-};
 handlerton *mrn_hton_ptr;
 HASH mrn_open_tables;
 pthread_mutex_t mrn_open_tables_mutex;
@@ -121,8 +114,9 @@ int mrn_logfile_opened = 0;
 grn_log_level mrn_log_level_default = GRN_LOG_DEFAULT_LEVEL;
 ulong mrn_log_level = (ulong) mrn_log_level_default;
 
-void mrn_logger_func(int level, const char *time, const char *title,
-                     const char *msg, const char *location, void *func_arg)
+static void mrn_logger_func(int level, const char *time, const char *title,
+                            const char *msg, const char *location,
+                            void *func_arg)
 {
   const char slev[] = " EACewnid-";
   if (mrn_logfile_opened) {
@@ -144,11 +138,10 @@ grn_logger_info mrn_logger_info = {
 /* global hashes and mutexes */
 HASH mrn_allocated_thds;
 pthread_mutex_t mrn_allocated_thds_mutex;
-uchar *mrn_allocated_thds_get_key(
-  THD *thd,
-  size_t *length,
-  my_bool not_used __attribute__ ((unused))
-) {
+static uchar *mrn_allocated_thds_get_key(THD *thd,
+                                         size_t *length,
+                                         my_bool not_used __attribute__ ((unused)))
+{
   MRN_DBUG_ENTER_FUNCTION();
   *length = sizeof(THD *);
   DBUG_RETURN((uchar*) thd);
@@ -345,157 +338,12 @@ struct st_mysql_plugin i_s_groonga_stats =
 };
 /* End of groonga information schema implementations */
 
-mysql_declare_plugin(mroonga)
-{
-  MYSQL_STORAGE_ENGINE_PLUGIN,
-  &storage_engine_structure,
-  "groonga",
-  "Tetsuro IKEDA",
-  "Fulltext search, column base",
-  0,
-  mrn_init,
-  mrn_deinit,
-  0x0001,
-  mrn_status_variables,
-  mrn_system_variables,
-  NULL
-},i_s_groonga_stats
-mysql_declare_plugin_end;
-
-int mrn_init(void *p)
-{
-  grn_ctx *ctx;
-
-  // init handlerton
-  handlerton *hton;
-  hton = (handlerton *)p;
-  hton->state = SHOW_OPTION_YES;
-  hton->create = mrn_handler_create;
-  hton->flags = 0;
-  hton->drop_database = mrn_drop_db;
-  hton->close_connection = mrn_close_connection;
-  hton->flush_logs = mrn_flush_logs;
-  mrn_hton_ptr = hton;
-
-  // init groonga
-  if (grn_init() != GRN_SUCCESS) {
-    goto err;
-  }
-
-  ctx = grn_ctx_open(0);
-
-  if (pthread_mutex_init(&mrn_log_mutex, NULL) != 0) {
-    goto err_log_mutex_init;
-  }
-  grn_logger_info_set(ctx, &mrn_logger_info);
-  if (!(mrn_logfile = fopen(mrn_logfile_name, "a"))) {
-    goto err;
-  }
-  mrn_logfile_opened = 1;
-  GRN_LOG(ctx, GRN_LOG_NOTICE, "%s started.", MRN_PACKAGE_STRING);
-  GRN_LOG(ctx, GRN_LOG_NOTICE, "log level is '%s'",
-          mrn_log_level_type_names[mrn_log_level]);
-
-  // init meta-info database
-  if (!(mrn_db = grn_db_create(ctx, NULL, NULL))) {
-    GRN_LOG(ctx, GRN_LOG_ERROR, "cannot create system database, exiting");
-    goto err;
-  }
-  grn_ctx_use(ctx, mrn_db);
-
-  // init hash
-  if (!(mrn_hash = grn_hash_create(ctx,NULL,
-                                   MRN_MAX_KEY_SIZE,sizeof(size_t),
-                                   GRN_OBJ_KEY_VAR_SIZE))) {
-    GRN_LOG(ctx, GRN_LOG_ERROR, "cannot init hash, exiting");
-    goto err;
-  }
-
-  // init lock
-  if ((pthread_mutex_init(&mrn_db_mutex, NULL) != 0)) {
-    goto err_db_mutex_init;
-  }
-  if ((pthread_mutex_init(&mrn_allocated_thds_mutex, NULL) != 0)) {
-    goto err_allocated_thds_mutex_init;
-  }
-  if (my_hash_init(&mrn_allocated_thds, system_charset_info, 32, 0, 0,
-                   (my_hash_get_key) mrn_allocated_thds_get_key, 0, 0)) {
-    goto error_allocated_thds_hash_init;
-  }
-  if ((pthread_mutex_init(&mrn_open_tables_mutex, NULL) != 0)) {
-    goto err_allocated_open_tables_mutex_init;
-  }
-  if (my_hash_init(&mrn_open_tables, system_charset_info, 32, 0, 0,
-                   (my_hash_get_key) mrn_open_tables_get_key, 0, 0)) {
-    goto error_allocated_open_tables_hash_init;
-  }
-
-  grn_ctx_fin(ctx);
-  return 0;
-
-error_allocated_open_tables_hash_init:
-  pthread_mutex_destroy(&mrn_open_tables_mutex);
-err_allocated_open_tables_mutex_init:
-  my_hash_free(&mrn_allocated_thds);
-error_allocated_thds_hash_init:
-  pthread_mutex_destroy(&mrn_allocated_thds_mutex);
-err_allocated_thds_mutex_init:
-  pthread_mutex_destroy(&mrn_db_mutex);
-err_db_mutex_init:
-err:
-  pthread_mutex_destroy(&mrn_log_mutex);
-err_log_mutex_init:
-  grn_ctx_fin(ctx);
-  grn_fin();
-  return -1;
-}
-
-int mrn_deinit(void *p)
-{
-  THD *thd = current_thd, *tmp_thd;
-  grn_ctx *ctx;
-  ctx = grn_ctx_open(0);
-
-  GRN_LOG(ctx, GRN_LOG_NOTICE, "%s deinit", MRN_PACKAGE_STRING);
-
-  if (thd && thd_sql_command(thd) == SQLCOM_UNINSTALL_PLUGIN) {
-    pthread_mutex_lock(&mrn_allocated_thds_mutex);
-    while ((tmp_thd = (THD *) my_hash_element(&mrn_allocated_thds, 0)))
-    {
-      void *slot_ptr = *thd_ha_data(tmp_thd, mrn_hton_ptr);
-      if (slot_ptr) free(slot_ptr);
-      *thd_ha_data(tmp_thd, mrn_hton_ptr) = (void *) NULL;
-      my_hash_delete(&mrn_allocated_thds, (uchar *) tmp_thd);
-    }
-    pthread_mutex_unlock(&mrn_allocated_thds_mutex);
-  }
-
-  my_hash_free(&mrn_open_tables);
-  pthread_mutex_destroy(&mrn_open_tables_mutex);
-  my_hash_free(&mrn_allocated_thds);
-  pthread_mutex_destroy(&mrn_allocated_thds_mutex);
-  pthread_mutex_destroy(&mrn_log_mutex);
-  pthread_mutex_destroy(&mrn_db_mutex);
-  grn_hash_close(ctx, mrn_hash);
-  grn_obj_unlink(ctx, mrn_db);
-
-  if (mrn_logfile_opened) {
-    fclose(mrn_logfile);
-    mrn_logfile_opened = 0;
-  }
-
-  grn_ctx_fin(ctx);
-  grn_fin();
-
-  return 0;
-}
-
-handler *mrn_handler_create(handlerton *hton, TABLE_SHARE *share, MEM_ROOT *root)
+static handler *mrn_handler_create(handlerton *hton, TABLE_SHARE *share, MEM_ROOT *root)
 {
   return (new (root) ha_mroonga(hton, share));
 }
 
-void mrn_drop_db(handlerton *hton, char *path)
+static void mrn_drop_db(handlerton *hton, char *path)
 {
   char db_path[MRN_MAX_PATH_SIZE];
   char db_name[MRN_MAX_PATH_SIZE];
@@ -514,7 +362,7 @@ void mrn_drop_db(handlerton *hton, char *path)
   grn_ctx_fin(ctx);
 }
 
-int mrn_close_connection(handlerton *hton, THD *thd)
+static int mrn_close_connection(handlerton *hton, THD *thd)
 {
   void *p = *thd_ha_data(thd, mrn_hton_ptr);
   if (p) {
@@ -527,7 +375,7 @@ int mrn_close_connection(handlerton *hton, THD *thd)
   return 0;
 }
 
-bool mrn_flush_logs(handlerton *hton)
+static bool mrn_flush_logs(handlerton *hton)
 {
   bool result = 0;
   if (mrn_logfile_opened) {
@@ -539,7 +387,7 @@ bool mrn_flush_logs(handlerton *hton)
   return result;
 }
 
-grn_builtin_type mrn_get_type(grn_ctx *ctx, int mysql_field_type)
+static grn_builtin_type mrn_get_type(grn_ctx *ctx, int mysql_field_type)
 {
   switch (mysql_field_type) {
   case MYSQL_TYPE_BIT:      // bit
@@ -571,7 +419,7 @@ grn_builtin_type mrn_get_type(grn_ctx *ctx, int mysql_field_type)
   return GRN_DB_TEXT;       // others
 }
 
-int mrn_set_buf(grn_ctx *ctx, Field *field, grn_obj *buf, int *size)
+static int mrn_set_buf(grn_ctx *ctx, Field *field, grn_obj *buf, int *size)
 {
   switch (field->type()) {
   case MYSQL_TYPE_BIT:
@@ -658,7 +506,8 @@ int mrn_set_buf(grn_ctx *ctx, Field *field, grn_obj *buf, int *size)
   return 0;
 }
 
-int mrn_set_key_buf(grn_ctx *ctx, Field *field, const uchar *key, char *buf, uint *size)
+static int mrn_set_key_buf(grn_ctx *ctx, Field *field,
+                           const uchar *key, char *buf, uint *size)
 {
   char *ptr = (char*) key;
 
@@ -755,7 +604,7 @@ int mrn_set_key_buf(grn_ctx *ctx, Field *field, const uchar *key, char *buf, uin
   return 0;
 }
 
-void mrn_store_field(grn_ctx *ctx, Field *field, grn_obj *col, grn_id id)
+static void mrn_store_field(grn_ctx *ctx, Field *field, grn_obj *col, grn_id id)
 {
   grn_obj buf;
   field->set_notnull();
@@ -829,7 +678,153 @@ void mrn_store_field(grn_ctx *ctx, Field *field, grn_obj *col, grn_id id)
   grn_obj_unlink(ctx, &buf);
 }
 
-float mrn_ft_find_relevance(FT_INFO *handler, uchar *record, uint length)
+static int mrn_init(void *p)
+{
+  grn_ctx *ctx;
+
+  // init handlerton
+  handlerton *hton;
+  hton = (handlerton *)p;
+  hton->state = SHOW_OPTION_YES;
+  hton->create = mrn_handler_create;
+  hton->flags = 0;
+  hton->drop_database = mrn_drop_db;
+  hton->close_connection = mrn_close_connection;
+  hton->flush_logs = mrn_flush_logs;
+  mrn_hton_ptr = hton;
+
+  // init groonga
+  if (grn_init() != GRN_SUCCESS) {
+    goto err;
+  }
+
+  ctx = grn_ctx_open(0);
+
+  if (pthread_mutex_init(&mrn_log_mutex, NULL) != 0) {
+    goto err_log_mutex_init;
+  }
+  grn_logger_info_set(ctx, &mrn_logger_info);
+  if (!(mrn_logfile = fopen(mrn_logfile_name, "a"))) {
+    goto err;
+  }
+  mrn_logfile_opened = 1;
+  GRN_LOG(ctx, GRN_LOG_NOTICE, "%s started.", MRN_PACKAGE_STRING);
+  GRN_LOG(ctx, GRN_LOG_NOTICE, "log level is '%s'",
+          mrn_log_level_type_names[mrn_log_level]);
+
+  // init meta-info database
+  if (!(mrn_db = grn_db_create(ctx, NULL, NULL))) {
+    GRN_LOG(ctx, GRN_LOG_ERROR, "cannot create system database, exiting");
+    goto err;
+  }
+  grn_ctx_use(ctx, mrn_db);
+
+  // init hash
+  if (!(mrn_hash = grn_hash_create(ctx,NULL,
+                                   MRN_MAX_KEY_SIZE,sizeof(size_t),
+                                   GRN_OBJ_KEY_VAR_SIZE))) {
+    GRN_LOG(ctx, GRN_LOG_ERROR, "cannot init hash, exiting");
+    goto err;
+  }
+
+  // init lock
+  if ((pthread_mutex_init(&mrn_db_mutex, NULL) != 0)) {
+    goto err_db_mutex_init;
+  }
+  if ((pthread_mutex_init(&mrn_allocated_thds_mutex, NULL) != 0)) {
+    goto err_allocated_thds_mutex_init;
+  }
+  if (my_hash_init(&mrn_allocated_thds, system_charset_info, 32, 0, 0,
+                   (my_hash_get_key) mrn_allocated_thds_get_key, 0, 0)) {
+    goto error_allocated_thds_hash_init;
+  }
+  if ((pthread_mutex_init(&mrn_open_tables_mutex, NULL) != 0)) {
+    goto err_allocated_open_tables_mutex_init;
+  }
+  if (my_hash_init(&mrn_open_tables, system_charset_info, 32, 0, 0,
+                   (my_hash_get_key) mrn_open_tables_get_key, 0, 0)) {
+    goto error_allocated_open_tables_hash_init;
+  }
+
+  grn_ctx_fin(ctx);
+  return 0;
+
+error_allocated_open_tables_hash_init:
+  pthread_mutex_destroy(&mrn_open_tables_mutex);
+err_allocated_open_tables_mutex_init:
+  my_hash_free(&mrn_allocated_thds);
+error_allocated_thds_hash_init:
+  pthread_mutex_destroy(&mrn_allocated_thds_mutex);
+err_allocated_thds_mutex_init:
+  pthread_mutex_destroy(&mrn_db_mutex);
+err_db_mutex_init:
+err:
+  pthread_mutex_destroy(&mrn_log_mutex);
+err_log_mutex_init:
+  grn_ctx_fin(ctx);
+  grn_fin();
+  return -1;
+}
+
+static int mrn_deinit(void *p)
+{
+  THD *thd = current_thd, *tmp_thd;
+  grn_ctx *ctx;
+  ctx = grn_ctx_open(0);
+
+  GRN_LOG(ctx, GRN_LOG_NOTICE, "%s deinit", MRN_PACKAGE_STRING);
+
+  if (thd && thd_sql_command(thd) == SQLCOM_UNINSTALL_PLUGIN) {
+    pthread_mutex_lock(&mrn_allocated_thds_mutex);
+    while ((tmp_thd = (THD *) my_hash_element(&mrn_allocated_thds, 0)))
+    {
+      void *slot_ptr = *thd_ha_data(tmp_thd, mrn_hton_ptr);
+      if (slot_ptr) free(slot_ptr);
+      *thd_ha_data(tmp_thd, mrn_hton_ptr) = (void *) NULL;
+      my_hash_delete(&mrn_allocated_thds, (uchar *) tmp_thd);
+    }
+    pthread_mutex_unlock(&mrn_allocated_thds_mutex);
+  }
+
+  my_hash_free(&mrn_open_tables);
+  pthread_mutex_destroy(&mrn_open_tables_mutex);
+  my_hash_free(&mrn_allocated_thds);
+  pthread_mutex_destroy(&mrn_allocated_thds_mutex);
+  pthread_mutex_destroy(&mrn_log_mutex);
+  pthread_mutex_destroy(&mrn_db_mutex);
+  grn_hash_close(ctx, mrn_hash);
+  grn_obj_unlink(ctx, mrn_db);
+
+  if (mrn_logfile_opened) {
+    fclose(mrn_logfile);
+    mrn_logfile_opened = 0;
+  }
+
+  grn_ctx_fin(ctx);
+  grn_fin();
+
+  return 0;
+}
+
+mysql_declare_plugin(mroonga)
+{
+  MYSQL_STORAGE_ENGINE_PLUGIN,
+  &storage_engine_structure,
+  "groonga",
+  "Tetsuro IKEDA",
+  "Fulltext search, column base",
+  0,
+  mrn_init,
+  mrn_deinit,
+  0x0001,
+  mrn_status_variables,
+  mrn_system_variables,
+  NULL
+},i_s_groonga_stats
+mysql_declare_plugin_end;
+
+
+static float mrn_ft_find_relevance(FT_INFO *handler, uchar *record, uint length)
 {
   st_mrn_ft_info *info = (st_mrn_ft_info*) handler;
   if (info->rid != GRN_ID_NIL) {
@@ -850,12 +845,12 @@ float mrn_ft_find_relevance(FT_INFO *handler, uchar *record, uint length)
   return (float) -1.0;
 }
 
-float mrn_ft_get_relevance(FT_INFO *handler)
+static float mrn_ft_get_relevance(FT_INFO *handler)
 {
   return (float) -1.0;
 }
 
-void mrn_ft_close_search(FT_INFO *handler)
+static void mrn_ft_close_search(FT_INFO *handler)
 {
   st_mrn_ft_info *info = (st_mrn_ft_info*) handler;
   info->ctx = NULL;
@@ -863,6 +858,15 @@ void mrn_ft_close_search(FT_INFO *handler)
   info->rid = GRN_ID_NIL;
 }
 
+static _ft_vft mrn_ft_vft = {
+  NULL, // mrn_ft_read_next
+  mrn_ft_find_relevance,
+  mrn_ft_close_search,
+  mrn_ft_get_relevance,
+  NULL // mrn_ft_reinit_search
+};
+
+
 /* handler implementation */
 ha_mroonga::ha_mroonga(handlerton *hton, TABLE_SHARE *share)
   :handler(hton, share),

  Modified: ha_mroonga.h (+0 -11)
===================================================================
--- ha_mroonga.h    2011-06-09 09:57:26 +0000 (15b8860)
+++ ha_mroonga.h    2011-06-09 10:08:37 +0000 (fc14bf9)
@@ -52,17 +52,6 @@ struct st_mrn_slot_data
   grn_id last_insert_rid;
 };
 
-/* functions */
-int mrn_init(void *hton);
-int mrn_deinit(void *hton);
-handler *mrn_handler_create(handlerton *hton, TABLE_SHARE *share, MEM_ROOT *root);
-void mrn_drop_db(handlerton *hton, char *path);
-int mrn_close_connection(handlerton *hton, THD *thd);
-bool mrn_flush_logs(handlerton *hton); 
-float mrn_ft_find_relevance(FT_INFO *handler, uchar *record, uint length);
-float mrn_ft_get_relevance(FT_INFO *handler);
-void mrn_ft_close_search(FT_INFO *handler);
-
 /* handler class */
 class ha_mroonga: public handler
 {




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