WEB开发网
开发学院数据库MySQL 如何轻松掌握对处理程序 进行Mysql实例化处理 阅读

如何轻松掌握对处理程序 进行Mysql实例化处理

 2007-10-29 11:00:36 来源:WEB开发网   
核心提示:调用存储引擎的第1个方法是调用新的处理程序实例, 在存储引擎源文件中定义handlerton之前,如何轻松掌握对处理程序 进行Mysql实例化处理,必须定义用于函数实例化的函数题头,下面给出了1个来自CSV引擎的示例: static handler* tina_create_handler(TABLE *table);

调用存储引擎的第1个方法是调用新的处理程序实例。

在存储引擎源文件中定义handlerton之前,必须定义用于函数实例化的函数题头。下面给出了1个来自CSV引擎的示例:

static handler* tina_create_handler(TABLE *table);

正如你所见到的那样,函数接受指向处理程序准备管理的表的指针,并返回处理程序对象。

定义了函数题头后,用第21个handlerton元素中的函数指针命名函数,指明函数负责生成新的处理程序实例。

下面给出了MyISAM存储引擎的实例化函数示例:

static handler *myisam_create_handler(TABLE *table)
 {
  return new ha_myisam(table);
 }

该调用随后与存储引擎的构造程序一起工作。下面给出了来自FEDERATED存储引擎的1个示例:

ha_federated::ha_federated(TABLE *table_arg)
 :handler(&federated_hton, table_arg),
 MySQL(0), stored_result(0), scan_flag(0),
 ref_length(sizeof(MYSQL_ROW_OFFSET)), current_position(0)
 {}

下面给出了来自EXAMPLE存储引擎的另一个示例:

ha_example::ha_example(TABLE *table_arg)
 :handler(&example_hton, table_arg)
 {}

FEDERATED示例中的附加元素是处理程序的额外初始化要素。所要求的最低实施是EXAMPLE示例中显示的handler()初始化。

Tags:如何 轻松 掌握

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接