Hey,
KEY ACCOMPLISHMENTS LAST WEEK
=============================
Almost finish infoschema_discover function, but meet some problems in debugging.
It will be described in KEY CONCERNS section.
KEY TASKS THAT STALLED LAST WEEK
==============================
May be I should perfect discover function.
KEY CONCERNS
============
1.I want to know more about how to debug MySQL internal. Before this project, I always
used gdb to debug mysqld and it worked well.
But in this project, I meet some problems. For example, the source code like:
if(compare_names(db, INFOSCHEMA_NAME.str) != 0)
DBUG_RETURN(NULL);
……
DBUG_RETURN(share);
If db does not equal to INFOSCHEMA_NAME.str, it will return null. But in debugging, it
jumps to last statement DBUG_RETURN(share) any way.
Sometimes some statements will display and run in gdb 2-3 times.
Does the source code text file have some problems? Sergei, how do you debug MySQL
internal?
2. What kinds of members in TABLE_SHARE must be initialized in open_table? In my discover,
I fill TABLE_SHARE members:
share->mem_root; share->field; share->fields; share->key_info;
share->keys; share->set_table_cache_key;
share->version; share->table_space; share->table_map_id;
share->LOCK_ha_data; share->null_fields;
share->blob_fields; share->db_plugin; share->reclength;
share->rec_buff_length;
Because I can not still push my branch, I write these here.
TASKS IN THE UPCOMING WEEK
==========================
Finish open operations and all I_S tables' definitions and use them to test discover.
Regards,
Robin.