select-meta 并不是要求实现某个功能,只是要求对实现中出现某些错误时,能够检测出来。其实不仅仅是select-meta这道题,其它的题目,比如date、select-tables等,在出现一些异常时,都是与select-meta处理方法类似的。比如插入不存在的字段、插入数据到不存在的表等。 语法错误返回失败 sql parse失败返回时需要set_response...
一、实现解析 本节课讲解的内容是 MiniOB select - meta 实现解析,本节课相较于上节课所学 drop table 更为简单。 MiniOB select - meta 所在的位置处于词法解析直接跳到分解器的阶段,比上节课所讲的执行阶段还要靠前一点,涉及到的模块略少。此题目可以帮助理解 insert 、 delete 、 select 语法的组织结构,...
4-3 入门实战:MiniOB Select-Meta 题目实现解析 4-4 进阶实战:OceanBase SQL 优化器38:09 5-1数据库 SQL 引擎基础(下)39:55 5-3 进阶实战:OceanBase 执行引擎30:09 6-1 Undo/Redo Log26:01 6-2 事务引擎和并发控制23:19 6-3 OceanBase事务处理与分布式事务33:48 ...
在mvcc 模式下,miniob 会创建一些隐藏字段在我们声明字段前,来实现 mvcc 的相关功能。隐藏字段的数量可以通过 TableMeta::sys_field_num() 来得到。所以我们自己声明的字段是位于 sys_field_num() 到field_num() 之间的。但是我们在一些进行字段比较的地方,错误地将下标从 0 开始匹配,导致读取了错误的字段,从而...
本地调试 本地评测 跳转过程 跳转链 执行阶段 session plan_cache parse resolve Execute 题目 必做题 create_table db类方法详解 select 基础数据结构 操作符 方法实现 解析 select-meta drop table; 事物trx 本地调试 ./build/bin/observer -f ./etc/observer.ini -p 6789 ./build/bin/obclient -p 6789 ...
优化buffer pool10必做。实现LRU淘汰算法或其它淘汰算法。 题目没有明确的测试方法。同学可以通过这个简单的题目学习disk_buffer_pool的工作原理。 查询元数据校验 select-meta10必做。查询语句中存在不存在的列名、表名等,需要返回失败。需要检查代码,判断是否需要返回错误的地方都返回错误了。create table t(id int,...
select-meta 测试这个测试对应了“元数据校验”。选手们应该先做这个case。常见测试失败场景有一个是 where 条件校验时 server core了。注意,训练营和此处关于 select-meta 题目的描述是过时的,错误地沿用了2021 select-meta 题目的描述。2022 select-meta 赛题的要求为:为 select 查询实现类似 SELECT *, attrbute...
MiniOB select - meta 实现解析 | 学习笔记 开发者学堂课程【从0到1数据库内核实战教程:MiniOB select - meta 实现解析】学习笔记,与课程紧密连接,让用户快速学习知识。课程地址:https://developer.aliyun.com/learning/course/1083/detail/17321MiniOB select - meta 实现解析内容介绍一、实现解析本节课讲解的内...
MiniOB date 实现解析 DATE的存储 一种实现方式:date以int类型的YYYYMMDD格式保存,比如2021-10-21,保存为整数就是2021*1000 + 10*100 + 21,在select展示时转成字符串YYYY-MM-DD格式,注意月份和天数要使用0填充。 使用整数保存有一个优点,就是非常容易实现日期的比较运算。
4-3 入门实战:MiniOB Select-Meta 题目实现解析20:22 4-4 进阶实战:OceanBase SQL 优化器38:09 5-1数据库 SQL 引擎基础(下)39:55 5-3 进阶实战:OceanBase 执行引擎30:09 6-1 Undo/Redo Log26:01 6-2 事务引擎和并发控制23:19 6-3 OceanBase事务处理与分布式事务33:48 ...