
本例是正在打开seelock/see表,seelock是database名,see是表名。
/**************************************************************//**
If mode is PAGE_CUR_G or PAGE_CUR_GE, opens a persistent cursor on the first
user record satisfying the search condition, in the case PAGE_CUR_L or
PAGE_CUR_LE, on the last user record. If no such user record exists, then
in the first case sets the cursor after last in tree, and in the latter case
before first in tree. The latching mode must be BTR_SEARCH_LEAF or
BTR_MODIFY_LEAF. */
UNIV_INTERN
void
btr_pcur_open_on_user_rec_func(
/*===========================*/
dict_index_t* index, /*!< in: index */
const dtuple_t* tuple, /*!< in: tuple on which search done */
ulint mode, /*!< in: PAGE_CUR_L, ... */
ulint latch_mode, /*!< in: BTR_SEARCH_LEAF or
BTR_MODIFY_LEAF */
btr_pcur_t* cursor, /*!< in: memory buffer for persistent
cursor */
const char* file, /*!< in: file name */
ulint line, /*!< in: line where called */
mtr_t* mtr) /*!< in: mtr */
{
btr_pcur_open_func(index, tuple, mode, latch_mode, cursor,
file, line, mtr);
if ((mode == PAGE_CUR_GE) || (mode == PAGE_CUR_G)) {
if (btr_pcur_is_after_last_on_page(cursor)) {
btr_pcur_move_to_next_user_rec(cursor, mtr);
}
} else {
ut_ad((mode == PAGE_CUR_LE) || (mode == PAGE_CUR_L));
/* Not implemented yet */
ut_error;
}
}
> mysqld.exe!btr_pcur_open_on_user_rec_func(dict_index_struct * index=0x1eec1548, const dtuple_struct * tuple=0x1efe9a30, unsigned long mode=2, unsigned long latch_mode=1, btr_pcur_struct * cursor=0x21b2cb3c, const char * file=0x019738f0, unsigned long line=1781, mtr_struct * mtr=0x21b2c690) 行586 C
mysqld.exe!dict_load_table(const char * name=0x21b2cee4, unsigned long cached=1, dict_err_ignore ignore_err=DICT_ERR_IGNORE_NONE) 行1781 + 0x2f 字节 C
mysqld.exe!dict_table_get_low(const char * table_name=0x21b2cee4) 行876 + 0xd 字节 C
mysqld.exe!dict_table_get(const char * table_name=0x21b2cee4, unsigned long inc_mysql_count=1) 行744 + 0x9 字节 C
mysqld.exe!ha_innobase::open(const char * name=0x1efd9b70, int mode=2, unsigned int test_if_locked=2) 行3868 + 0xe 字节 C++
mysqld.exe!handler::ha_open(TABLE * table_arg=0x1efe70f0, const char * name=0x1efd9b70, int mode=2, int test_if_locked=2) 行2238 + 0x1e 字节 C++
mysqld.exe!open_table_from_share(THD * thd=0x1ef5fff0, TABLE_SHARE * share=0x1efd9948, const char * alias=0x1efe23d0, unsigned int db_stat=39, unsigned int prgflag=44, unsigned int ha_open_flags=0, TABLE * outparam=0x1efe70f0, bool is_create_table=false) 行2073 + 0x8f 字节 C++
mysqld.exe!open_table(THD * thd=0x1ef5fff0, TABLE_LIST * table_list=0x1efe23d8, st_mem_root * mem_root=0x21b2db50, Open_table_context * ot_ctx=0x21b2db7c) 行3098 + 0x2b 字节 C++
mysqld.exe!open_and_process_table(THD * thd=0x1ef5fff0, LEX * lex=0x1ef60f90, TABLE_LIST * tables=0x1efe23d8, unsigned int * counter=0x21b2dbf8, unsigned int flags=0, Prelocking_strategy * prelocking_strategy=0x21b2dc24, bool has_prelocking_list=false, Open_table_context * ot_ctx=0x21b2db7c, st_mem_root * new_frm_mem=0x21b2db50) 行4460 + 0x15 字节 C++
mysqld.exe!open_tables(THD * thd=0x1ef5fff0, TABLE_LIST * * start=0x21b2dc0c, unsigned int * counter=0x21b2dbf8, unsigned int flags=0, Prelocking_strategy * prelocking_strategy=0x21b2dc24) 行4908 + 0x2d 字节 C++
mysqld.exe!open_and_lock_tables(THD * thd=0x1ef5fff0, TABLE_LIST * tables=0x1efe23d8, bool derived=true, unsigned int flags=0, Prelocking_strategy * prelocking_strategy=0x21b2dc24) 行5512 + 0x19 字节 C++
mysqld.exe!open_and_lock_tables(THD * thd=0x1ef5fff0, TABLE_LIST * tables=0x1efe23d8, bool derived=true, unsigned int flags=0) 行475 + 0x1a 字节 C++
mysqld.exe!execute_sqlcom_select(THD * thd=0x1ef5fff0, TABLE_LIST * all_tables=0x1efe23d8) 行4547 + 0x11 字节 C++
mysqld.exe!mysql_execute_command(THD * thd=0x1ef5fff0) 行2151 + 0xd 字节 C++
mysqld.exe!mysql_parse(THD * thd=0x1ef5fff0, char * rawbuf=0x1efe2288, unsigned int length=17, Parser_state * parser_state=0x21b2fb70) 行5627 + 0x9 字节 C++
mysqld.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x1ef5fff0, char * packet=0x1efd9f99, unsigned int packet_length=17) 行1037 + 0x22 字节 C++
mysqld.exe!do_command(THD * thd=0x1ef5fff0) 行773 + 0x1b 字节 C++
mysqld.exe!do_handle_one_connection(THD * thd_arg=0x1ef5fff0) 行840 + 0x9 字节 C++
mysqld.exe!handle_one_connection(void * arg=0x1ef5fff0) 行759 + 0x9 字节 C++
mysqld.exe!pfs_spawn_thread(void * arg=0x1efcc988) 行1015 + 0x9 字节 C++
mysqld.exe!pthread_start(void * p=0x1efd0158) 行61 + 0x9 字节 C
mysqld.exe!_callthreadstartex() 行348 + 0xf 字节 C
mysqld.exe!_threadstartex(void * ptd=0x1efddfe0) 行331 C
kernel32.dll!76daed6c()
[下面的框架可能不正确和/或缺失,没有为 kernel32.dll 加载符号]
ntdll.dll!7723377b()
ntdll.dll!7723374e()