external_lock()函数是在事务开始时调用的,或发出LOCK TABLES语句时调用的,用于事务性存储引擎。

sql/ha_innodb.ccsql/ha_berkeley.cc文件中,可找到使用external_lock()的示例,但大多数存储引擎简单地返回0就像EXAMPLE存储引擎那样:

int ha_example::external_lock(THD *thd, int lock_type)
 {
   DBUG_ENTER("ha_example::external_lock");
   DBUG_RETURN(0);
 }