對處理程序進(jìn)行實例化處理 |
發(fā)布時間: 2012/8/23 17:28:37 |
調(diào)用存儲引擎的第1個方法是調(diào)用新的處理程序?qū)嵗?/p> 在存儲引擎源文件中定義handlerton之前,必須定義用于函數(shù)實例化的函數(shù)題頭。下面給出了1個來自CSV引擎的示例:
static handler* tina_create_handler(TABLE *table);
正如你所見到的那樣,函數(shù)接受指向處理程序準(zhǔn)備管理的表的指針,并返回處理程序?qū)ο蟆?span id="jircenv" class="Apple-converted-space"> 電腦軟件www.boydavid.com 定義了函數(shù)題頭后,用第21個handlerton元素中的函數(shù)指針命名函數(shù),指明函數(shù)負(fù)責(zé)生成新的處理程序?qū)嵗?/p>
下面給出了MyISAM存儲引擎的實例化函數(shù)示例: static handler *myisam_create_handler(TABLE *table)
{
return new ha_myisam(table); 計算機(jī)學(xué)習(xí)網(wǎng)站www.boydavid.com
}
該調(diào)用隨后與存儲引擎的構(gòu)造程序一起工作。下面給出了來自FEDERATED存儲引擎的1個示例:
ha_federated::ha_federated(TABLE *table_arg) 計算機(jī)愛好者www.boydavid.com
: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) 電腦技術(shù)www.boydavid.com
:handler(&example_hton, table_arg)
{} 電腦軟件www.boydavid.com
FEDERATED示例中的附加元素是處理程序的額外初始化要素。所要求的最低實施是EXAMPLE示例中顯示的handler()初始化。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |