开发者社区> 问答> 正文

当初次获取一个表的元信息时,会调用 Storage_adapter::get() 接口,处理过程是什

当初次获取一个表的元信息时,会调用 Storage_adapter::get() 接口,处理过程是什么样的?

展开
收起
我也不知道取啥名字 2022-05-08 12:11:03 362 0
来自:阿里技术
1 条回答
写回答
取消 提交回答
  • 处理过程是:Storage_adapter::get() // 根据访问对象类型,将依赖的 DD tables 加入到 open table list 中 |--Open_dictionary_tables_ctx::register_tables< T>() |--Table_impl::register_tables() |--Open_dictionary_tables_ctx::open_tables() // 调用 Server 层接口打开所有表 |--Raw_table::find_record() // 直接调用 handler 接口根据传入的 key(比如表名)查找记录 |--handler::ha_index_read_idx_map() // index read // 从读取到的 record 中解析出对应属性,调用 field[field_no]->val_xx() 函数 |--Table_impl::restore_attributes() // 通过调用 restore_children() 函数从与该对象关联的其他 DD 表中根据主外键读取完整的元数据定义 |--Table_impl::restore_children() |--返回完整的 DD cache 对象

    2022-05-08 14:22:15
    赞同 展开评论 打赏
问答地址:
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
内容驱动游戏分发 立即下载
“静态调用链路发现”应用场景分析及实践探索 立即下载