Home > gdbでmake_db_list周辺を読む

gdbでmake_db_list周辺を読む

  • July 9, 2007 5:10 PM
(gdb) bt
#0  make_db_list (thd=0x4055018, files=0xb0468be0, idx_field_vals=0xb0468bec, with_i_schema=0xb0468bdf, is_wild_value=true) at sql_show.cc:2031
#1  0x00187db0 in fill_schema_shemata (thd=0x4055018, tables=0x4056b68, cond=0x0) at sql_show.cc:2398
#2  0x0018ecc1 in get_schema_tables_result (join=0x4057150, executed_place=PROCESSED_BY_JOIN_EXEC) at sql_show.cc:4032
#3  0x000f9b25 in JOIN::exec (this=0x4057150) at sql_select.cc:1658
#4  0x000fb0fd in mysql_select (thd=0x4055018, rref_pointer_array=0x4055ff0, tables=0x4056b68, wild_num=0, fields=@0x4055f60, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2693024256, result=0x4057140, unit=0x4055c94, select_lex=0x4055ecc) at sql_select.cc:2231
#5  0x000fb3cd in handle_select (thd=0x4055018, lex=0x4055c30, result=0x4057140, setup_tables_done_option=0) at sql_select.cc:255
#6  0x0009e1cb in mysql_execute_command (thd=0x4055018) at sql_parse.cc:2651
#7  0x000a5ded in mysql_parse (thd=0x4055018, inBuf=0x4056a28 "show databases", length=14) at sql_parse.cc:6019
#8  0x000a688e in dispatch_command (command=COM_QUERY, thd=0x4055018, packet=0x2d78019 "show databases", packet_length=15) at sql_parse.cc:1802
#9  0x000a7db9 in do_command (thd=0x4055018) at sql_parse.cc:1581
#10 0x000a82b1 in handle_one_connection (arg=0x4055018) at sql_parse.cc:1193
#11 0x90024227 in _pthread_body ()

/sql/sql_parse.cc
bool dispatch_command(enum enum_server_command command, THD *thd, char* packet, uint packet_length)
{
switch (command) {
case COM_INIT_DB: ...
case COM_REGISTER_SLAVE: ...
case COM_TABLE_DUMP: ...
case COM_CHANGE_USER: ...
case COM_EXECUTE:
mysql_stmt_execute(thd,packet);
case COM_LONG_DATA: ...
case COM_PREPARE:
mysql_stmt_prepare(thd, packet, packet_length); // !
/* and so on for 18 other cases */
default:
send_error(thd, ER_UNKNOWN_COM_ERROR);
break;
   }


Home > gdbでmake_db_list周辺を読む

Search
Feeds

Return to page top