MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
CArithmeticExpr | 算术表达式 |
CAttrComparator | 属性比较(BplusTree) |
CAttrInfoSqlNode | 描述一个属性 |
CAttrPrinter | 属性打印,调试使用(BplusTree) |
CBasePacket | 所有的包都继承自BasePacket |
CBPFileHeader | BufferPool的文件第一个页面,存放一些元数据信息,包括了后面每页的分配信息。 |
►CBPFrameManager | 管理页面Frame |
CBplusTreeHandler | B+树的实现 |
CBplusTreeIndex | B+树索引 |
CBplusTreeIndexScanner | B+树索引扫描器 |
CBplusTreeScanner | B+树的扫描器 |
CBufferedWriter | 支持以缓存模式写入数据到文件/socket |
CBufferPoolIterator | 用于遍历BufferPool中的所有页面 |
CBufferPoolManager | BufferPool的管理类 |
CCalcLogicalOperator | 逻辑算子描述当前执行计划要做什么 |
CCalcPhysicalOperator | |
CCalcSqlNode | 算术表达式计算的语法树 |
CCalcStmt | 描述算术运算语句 |
CCastExpr | 类型转换表达式 |
CCliCommunicator | 用于命令行模式的通讯器 |
CCLogBuffer | 缓存运行时产生的日志对象 |
CCLogFile | 读写日志文件 |
CCLogManager | 日志管理器 |
CCLogRecord | 表示一条日志记录 |
CCLogRecordCommitData | MTR_COMMIT 日志的数据 |
CCLogRecordData | 有具体数据修改的事务日志数据 |
CCLogRecordHeader | CLog的记录头。每个日志都带有这个信息 |
CCLogRecordIterator | 日志记录遍历器 |
CCommandExecutor | 执行器 |
CCommandExecutor。 | 将解析后的Statement转换成执行计划,并进行优化 |
CCommunicator | 负责与客户端通讯 |
CCommunicatorFactory | 通讯协议工厂 |
CComparisonExpr | 比较表达式 |
CComparisonSimplificationRule | 简单比较的重写规则 |
CCompositeConditionFilter | |
CConDesc | |
CConditionFilter | |
CConditionSqlNode | 表示一个条件比较 |
CConjunctionExpr | 联结表达式多个表达式使用同一种关系(AND或OR)来联结 当前miniob仅有AND操作 |
CConjunctionSimplificationRule | 简化多个表达式联结的运算 |
CCreateIndexExecutor | 创建索引的执行器 |
CCreateIndexSqlNode | 描述一个create index语句 |
CCreateIndexStmt | 创建索引的语句 |
CCreateTableExecutor | 创建表的执行器 |
CCreateTableSqlNode | 描述一个create table语句 |
CCreateTableStmt | 表示创建表的语句 |
CDb | 一个DB实例负责管理一批表 |
CDefaultConditionFilter | |
CDefaultHandler | |
CDeleteLogicalOperator | 逻辑算子,用于执行delete语句 |
CDeletePhysicalOperator | 物理算子,删除 |
CDeleteSqlNode | 描述一个delete语句 |
CDeleteStmt | Delete 语句 |
CDescTableExecutor | 描述表的执行器 |
CDescTableSqlNode | 描述一个desc table语句 |
CDescTableStmt | 描述表的语句 |
CDiskBufferPool | BufferPool的实现 |
CDropIndexSqlNode | 描述一个drop index语句 |
CDropTableSqlNode | 描述一个drop table语句 |
CEofPacket | EOF包 |
CErrorSqlNode | 解析SQL语句出现了错误 |
CErrPacket | ERR包,出现错误时返回 |
CExecuteStage | 执行SQL语句的Stage,包括DML和DDL |
CExitStmt | Exit 语句,表示断开连接,现在什么成员都没有 |
CExplainLogicalOperator | Explain逻辑算子 |
CExplainPhysicalOperator | Explain物理算子 |
CExplainSqlNode | 描述一个explain语句 |
CExplainStmt | Explain语句 |
CExpression | 表达式的抽象描述 |
CExpressionRewriter | |
CExpressionRewriteRule | 表达式的重写规则 |
CExpressionTuple | |
CField | 字段 |
CFieldExpr | 字段表达式 |
CFieldMeta | 字段元数据 |
CFilterObj | |
CFilterStmt | Filter/谓词/过滤语句 |
CFilterUnit | |
CFrame | 页帧 |
CFrameId | 页帧标识符 |
CGlobalContext | 放一些全局对象 |
CHandshakeV10 | 握手包 |
CHelpExecutor | Help语句执行器 |
CHelpStmt | Help 语句,现在什么成员都没有 |
CIndex | 索引基类 |
CIndexFileHeader | Meta information of bplus tree |
CIndexMeta | 描述一个索引 |
CIndexNode | Common part of page describtion of bplus tree |
CIndexNodeHandler | IndexNode 仅作为数据在内存或磁盘中的表示IndexNodeHandler 负责对IndexNode做各种操作。 作为一个类来说,虚函数会影响“结构体”真实的内存布局,所以将数据存储与操作分开 |
CIndexScanner | 索引扫描器 |
CIndexScanPhysicalOperator | 索引扫描物理算子 |
CInsertLogicalOperator | 插入逻辑算子 |
CInsertPhysicalOperator | 插入物理算子 |
CInsertSqlNode | 描述一个insert语句 |
CInsertStmt | 插入语句 |
CInternalIndexNode | Internal page of bplus tree |
CInternalIndexNodeHandler | 内部节点的操作 |
CJoinedTuple | 将两个tuple合并为一个tuple |
CJoinLogicalOperator | 连接算子 |
CKeyComparator | 键值比较(BplusTree) |
CKeyPrinter | 键值打印,调试使用(BplusTree) |
CLatchMemo | |
CLatchMemoItem | |
CLeafIndexNode | Leaf page of bplus tree |
CLeafIndexNodeHandler | 叶子节点的操作 |
CLoadDataExecutor | 导入数据的执行器 |
CLoadDataSqlNode | 描述一个load data语句 |
CLoadDataStmt | |
CLogicalOperator | 逻辑算子描述当前执行计划要做什么 |
CLogicalPlanGenerator | |
CMvccTrx | 多版本并发事务TODO 没有垃圾回收 |
CMvccTrxKit | |
CMysqlCommunicator | 与客户端通讯 |
CNestedLoopJoinPhysicalOperator | 最简单的两表(称为左表、右表)join算子 |
COkPacket | 响应包,在很多场景中都会使用 |
COperation | 描述一个操作,比如插入、删除行等 |
COperationEqualer | |
COperationHasher | |
COptimizeStage | |
CPacketHeader | 每个包都有一个包头 |
CPage | 表示一个页面,可能放在内存或磁盘上 |
CPageHeader | 数据文件,按照页面来组织,每一页都存放一些记录/数据行 |
CParsedSqlNode | 表示一个SQL语句 |
CParsedSqlResult | 表示语法解析后的数据 |
CParseStage | 解析SQL语句,解析后的结果可以参考parse_defs.h |
CPersistHandler | |
CPhysicalOperator | 与LogicalOperator对应,物理算子描述执行计划将如何执行 |
CPhysicalPlanGenerator | 物理计划生成器 |
CPlainCommunicator | 与客户端进行通讯 |
CPlanCacheStage | 尝试从Plan的缓存中获取Plan,如果没有命中,则执行Optimizer |
CPredicateLogicalOperator | 谓词/过滤逻辑算子 |
CPredicatePhysicalOperator | 过滤/谓词物理算子 |
CPredicatePushdownRewriter | 将一些谓词表达式下推到表数据扫描中 |
CPredicateRewriteRule | 谓词重写规则 |
CProjectLogicalOperator | Project 表示投影运算 |
CProjectPhysicalOperator | 选择/投影物理算子 |
CProjectTuple | 从一行数据中,选择部分字段组成的元组,也就是投影操作 |
CQueryCacheStage | 查询缓存处理 |
CQueryPacket | MySQL客户端发过来的请求包 |
CRecord | 表示一个记录 当前的记录都是连续存放的空间(内存或磁盘上)。 为了提高访问的效率,record通常直接记录指向页面上的内存,但是需要保证访问这种数据时,拿着锁资源。 为了方便,也提供了复制内存的方法。可以参考set_data_owner |
CRecordFileHandler | 管理整个文件中记录的增删改查 |
CRecordFileScanner | 遍历某个文件中所有记录 |
CRecordPageHandler | 负责处理一个页面中各种操作,比如插入记录、删除记录或者查找记录 |
CRecordPageIterator | 遍历一个页面中每条记录的iterator |
CRelAttrSqlNode | 描述一个属性 |
CResolveStage | 执行Resolve,将解析后的SQL语句,转换成各种Stmt(Statement), 同时会做错误检查 |
CRewriter | 根据一些规则对逻辑计划进行重写 |
CRewriteRule | 逻辑计划的重写规则 |
CRID | 标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息 |
CRingBuffer | 环形缓存,当前用于通讯写入数据时的缓存 |
CRowTuple | 一行数据的元组 |
CSelectSqlNode | 描述一个select语句 |
CSelectStmt | 表示select语句 |
CServer | 负责接收客户端消息并创建任务 |
CServerParam | 服务端启动参数 |
CSession | 表示会话 |
CSessionEvent | 表示一个SQL请求 |
CSessionStage | SQL处理的session阶段,也是第一个阶段 |
CSetVariableExecutor | SetVariable语句执行器 |
CSetVariableSqlNode | 设置变量的值 |
CSetVariableStmt | SetVairable 语句,设置变量,当前是会话变量,但是只有会话变量,没有全局变量 |
CShowTablesExecutor | 显示所有表的执行器 |
CShowTablesStmt | 描述表的语句 |
CSqlDebug | SQL调试信息 |
CSqlResult | SQL执行结果 |
CSQLStageEvent | 与SessionEvent类似,也是处理SQL请求的事件,只是用在SQL的不同阶段 |
CStmt | Stmt for Statement |
CStorageEvent | |
CStringListPhysicalOperator | 字符串列表物理算子 |
CTable | 表 |
CTableGetLogicalOperator | 表示从表中获取数据的算子 |
CTableMeta | 表元数据 |
CTableScanPhysicalOperator | 表扫描物理算子 |
CThreadData | |
CTrx | 事务接口 |
CTrxBeginExecutor | 事务开始语句的执行器 |
CTrxBeginStmt | 事务的Begin 语句,现在什么成员都没有 |
CTrxEndExecutor | 事务结束的执行器,可以是提交或回滚 |
CTrxEndStmt | 事务的 Commit/Rollback 语句,现在什么成员都没有 |
CTrxKit | 事务管理器 |
CTuple | 元组的抽象描述 |
CTupleCellSpec | |
CTupleSchema | 元组的结构,包含哪些字段(这里成为Cell),每个字段的说明 |
CUpdateSqlNode | 描述一个update语句 |
CUpdateStmt | 更新语句 |
CVacuousTrx | |
CVacuousTrxKit | Vacuous(真空的),顾名思义就是没有实现事务功能 |
CValue | 属性的值 |
CValueExpr | 常量值表达式 |
CValueListTuple | 一些常量值组成的Tuple |
Cyy_buffer_state | |
Cyy_trans_info | |
Cyyalloc | |
Cyyguts_t | |
CYYLTYPE | |
Cyypcontext_t | |
CYYSTYPE |