svnno****@sourc*****
svnno****@sourc*****
2008年 6月 11日 (水) 15:17:38 JST
Revision: 141 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=tritonn&view=rev&rev=141 Author: mir Date: 2008-06-11 15:17:38 +0900 (Wed, 11 Jun 2008) Log Message: ----------- added engine grobal init/deinit process Modified Paths: -------------- trunk/src/ha_tritonn.cc -------------- next part -------------- Modified: trunk/src/ha_tritonn.cc =================================================================== --- trunk/src/ha_tritonn.cc 2008-06-11 01:30:18 UTC (rev 140) +++ trunk/src/ha_tritonn.cc 2008-06-11 06:17:38 UTC (rev 141) @@ -18,11 +18,18 @@ #include "ha_tritonn.h" #include <mysql/plugin.h> +#include <senna/senna.h> +char *dbpath="tritonn.db"; +sen_db *db; +int dbcreate_flag = 0; +sen_encoding db_encoding = sen_enc_utf8; +int ctx_flag = SEN_CTX_USEQL; + static handler *create_handler(handlerton *hton, TABLE_SHARE *table, MEM_ROOT *mem_root); -static int init_func(); +static int init_tritonn_func(); /* Variables for tritonn share methods */ static HASH tritonn_open_tables; ///< Hash used to track the number of open tables; variable for tritonn share methods @@ -35,7 +42,7 @@ return (uchar*) share->table_name; } -static int init_func(void *p) +static int init_tritonn_engine(void *p) { DBUG_ENTER("init_func"); @@ -50,10 +57,17 @@ hton->create= create_handler; hton->flags= HTON_CAN_RECREATE; + sen_init(); + + db = sen_db_open(dbpath); + if (!db) { + db = sen_db_create(dbpath,dbcreate_flag,db_encoding); + } + DBUG_RETURN(0); } -static int deinit_func(void *p) +static int deinit_tritonn_engine(void *p) { int error= 0; DBUG_ENTER("deinit_func"); @@ -63,6 +77,9 @@ hash_free(&tritonn_open_tables); pthread_mutex_destroy(&tritonn_mutex); + sen_db_close(db); + sen_fin(); + DBUG_RETURN(0); } @@ -216,7 +233,9 @@ HA_CREATE_INFO *create_info) { DBUG_ENTER("ha_tritonn::create"); - /* This is not implemented but we want someone to be able to see that it works. */ + + + DBUG_RETURN(0); } @@ -228,11 +247,11 @@ MYSQL_STORAGE_ENGINE_PLUGIN, &storage_engine_structure, "TRITONN", - "Brian Aker, TangentOrg", - "Skeleton storage engine", + "Tritonn Project", + "Tritonn storage engine", PLUGIN_LICENSE_BSD, - init_func, /* Plugin Init */ - deinit_func, /* Plugin Deinit */ + init_tritonn_engine, /* Plugin Init */ + deinit_tritonn_engine, /* Plugin Deinit */ 0x0001 /* 0.1 */, NULL, /* status variables */ NULL, /* system variables */