MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
CAttrComparator | 属性比较(BplusTree) |
CAttrInfoSqlNode | 描述一个属性 |
CAttrPrinter | 属性打印,调试使用(BplusTree) |
►CBasePacket | 所有的包都继承自BasePacket |
CBPFileHeader | BufferPool的文件第一个页面,存放一些元数据信息,包括了后面每页的分配信息。 |
CBPFrameManager::BPFrameIdHasher | |
CBPFrameManager | 管理页面Frame |
CBplusTreeHandler | B+树的实现 |
CBplusTreeScanner | B+树的扫描器 |
CBufferedWriter | 支持以缓存模式写入数据到文件/socket |
CBufferPoolIterator | 用于遍历BufferPool中的所有页面 |
CBufferPoolManager | BufferPool的管理类 |
CCalcSqlNode | 算术表达式计算的语法树 |
CCLogBuffer | 缓存运行时产生的日志对象 |
CCLogFile | 读写日志文件 |
CCLogManager | 日志管理器 |
CCLogRecord | 表示一条日志记录 |
CCLogRecordCommitData | MTR_COMMIT 日志的数据 |
CCLogRecordData | 有具体数据修改的事务日志数据 |
CCLogRecordHeader | CLog的记录头。每个日志都带有这个信息 |
CCLogRecordIterator | 日志记录遍历器 |
CCommandExecutor | 执行器 |
CCommandExecutor。 | 将解析后的Statement转换成执行计划,并进行优化 |
►CCommunicator | 负责与客户端通讯 |
CCommunicatorFactory | 通讯协议工厂 |
CConDesc | |
►CConditionFilter | |
CConditionSqlNode | 表示一个条件比较 |
CCreateIndexExecutor | 创建索引的执行器 |
CCreateIndexSqlNode | 描述一个create index语句 |
CCreateTableExecutor | 创建表的执行器 |
CCreateTableSqlNode | 描述一个create table语句 |
CDb | 一个DB实例负责管理一批表 |
CDefaultHandler | |
CDeleteSqlNode | 描述一个delete语句 |
CDescTableExecutor | 描述表的执行器 |
CDescTableSqlNode | 描述一个desc table语句 |
CDiskBufferPool | BufferPool的实现 |
CDropIndexSqlNode | 描述一个drop index语句 |
CDropTableSqlNode | 描述一个drop table语句 |
CErrorSqlNode | 解析SQL语句出现了错误 |
CExecuteStage | 执行SQL语句的Stage,包括DML和DDL |
CExplainSqlNode | 描述一个explain语句 |
►CExpression | 表达式的抽象描述 |
►CExpressionRewriteRule | 表达式的重写规则 |
CField | 字段 |
CFieldMeta | 字段元数据 |
CFilterObj | |
CFilterStmt | Filter/谓词/过滤语句 |
CFilterUnit | |
CFrame | 页帧 |
CFrameId | 页帧标识符 |
CGlobalContext | 放一些全局对象 |
CHelpExecutor | Help语句执行器 |
►CIndex | 索引基类 |
CIndexFileHeader | Meta information of bplus tree |
CIndexMeta | 描述一个索引 |
►CIndexNode | Common part of page describtion of bplus tree |
►CIndexNodeHandler | IndexNode 仅作为数据在内存或磁盘中的表示IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开 |
►CIndexScanner | 索引扫描器 |
CInsertSqlNode | 描述一个insert语句 |
CKeyComparator | 键值比较(BplusTree) |
CKeyPrinter | 键值打印,调试使用(BplusTree) |
CLatchMemo | |
CLatchMemoItem | |
CLoadDataExecutor | 导入数据的执行器 |
CLoadDataSqlNode | 描述一个load data语句 |
►CLogicalOperator | 逻辑算子描述当前执行计划要做什么 |
CLogicalPlanGenerator | |
COperation | 描述一个操作,比如插入、删除行等 |
COperationEqualer | |
COperationHasher | |
COptimizeStage | |
CPacketHeader | 每个包都有一个包头 |
CPage | 表示一个页面,可能放在内存或磁盘上 |
CPageHeader | 数据文件,按照页面来组织,每一页都存放一些记录/数据行 |
CParsedSqlNode | 表示一个SQL语句 |
CParsedSqlResult | 表示语法解析后的数据 |
CParseStage | 解析SQL语句,解析后的结果可以参考parse_defs.h |
CPersistHandler | |
►CPhysicalOperator | 与LogicalOperator对应,物理算子描述执行计划将如何执行 |
CPhysicalPlanGenerator | 物理计划生成器 |
CPlanCacheStage | 尝试从Plan的缓存中获取Plan,如果没有命中,则执行Optimizer |
CQueryCacheStage | 查询缓存处理 |
CQueryPacket | MySQL客户端发过来的请求包 |
CRecord | 表示一个记录 当前的记录都是连续存放的空间(内存或磁盘上)。 为了提高访问的效率,record通常直接记录指向页面上的内存,但是需要保证访问这种数据时,拿着锁资源。 为了方便,也提供了复制内存的方法。可以参考set_data_owner |
CRecordFileHandler | 管理整个文件中记录的增删改查 |
CRecordFileScanner | 遍历某个文件中所有记录 |
CRecordPageHandler | 负责处理一个页面中各种操作,比如插入记录、删除记录或者查找记录 |
CRecordPageIterator | 遍历一个页面中每条记录的iterator |
CRelAttrSqlNode | 描述一个属性 |
CResolveStage | 执行Resolve,将解析后的SQL语句,转换成各种Stmt(Statement), 同时会做错误检查 |
CRewriter | 根据一些规则对逻辑计划进行重写 |
►CRewriteRule | 逻辑计划的重写规则 |
CRID | 标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息 |
CRingBuffer | 环形缓存,当前用于通讯写入数据时的缓存 |
CSelectSqlNode | 描述一个select语句 |
►Ccommon::Serializable | |
CServer | 负责接收客户端消息并创建任务 |
CServerParam | 服务端启动参数 |
CSession | 表示会话 |
CSetVariableExecutor | SetVariable语句执行器 |
CSetVariableSqlNode | 设置变量的值 |
CShowTablesExecutor | 显示所有表的执行器 |
CSqlDebug | SQL调试信息 |
CSqlResult | SQL执行结果 |
►Ccommon::Stage | |
►Ccommon::StageEvent | |
►CStmt | Stmt for Statement |
CTable | 表 |
CThreadData | |
►CTrx | 事务接口 |
CTrxBeginExecutor | 事务开始语句的执行器 |
CTrxEndExecutor | 事务结束的执行器,可以是提交或回滚 |
►CTrxKit | 事务管理器 |
►CTuple | 元组的抽象描述 |
CTupleCellSpec | |
CTupleSchema | 元组的结构,包含哪些字段(这里成为Cell),每个字段的说明 |
CUpdateSqlNode | 描述一个update语句 |
CValue | 属性的值 |
Cyy_buffer_state | |
Cyy_trans_info | |
Cyyalloc | |
Cyyguts_t | |
CYYLTYPE | |
Cyypcontext_t | |
CYYSTYPE |