►Nbplus_tree | |
CInitHeaderPageLogEntryHandler | 初始化B+树文件头日志处理类 |
CInternalCreateNewRootLogEntryHandler | 创建新的根节点日志处理类 |
CInternalInitEmptyLogEntryHandler | 初始化内部节点日志处理类 |
CInternalUpdateKeyLogEntryHandler | 更新内部节点的key日志处理类 |
CLeafInitEmptyLogEntryHandler | 叶子节点初始化日志处理类 |
CLeafSetNextPageLogEntryHandler | 设置叶子节点的兄弟节点日志处理类 |
CLogEntryHandler | B+树日志处理辅助类 |
CLogOperation | B+树日志操作类型 |
CNodeLogEntryHandler | 节点相关的操作 |
CNormalOperationLogEntryHandler | 插入或者删除一些节点上的元素 |
CSetParentPageLogEntryHandler | 设置父节点日志处理类 |
CUpdateRootPageLogEntryHandler | 更新根节点日志处理类 |
►Ncommon | |
CBinaryIterator | |
CBitmap | |
CComparator | |
CDate | |
CDateTime | |
CDebugMutex | |
CDeferHelper | |
CDeserializable | |
CDeserializer | 反序列化工具 |
CIni | |
CIntegerGenerator | |
►CLockTrace | |
CLockID | |
►CLog | |
C_LogDate | |
CLoggerFactory | |
►CLruCache | |
CListNode | |
CPListNodeHasher | |
CPListNodePredicator | |
CMD5_CTX | |
CMemPool | |
CMemPoolItem | |
CMemPoolSimple | |
CMutex | |
CNow | |
CProcessParam | |
CProcMap | |
CProcMapSegment | |
CQueue | 任务队列接口 |
CRandomGenerator | |
CRecursiveSharedMutex | |
CRunnable | 可执行对象接口 |
CRunnableAdaptor | 可执行对象适配器,方便使用lambda表达式 |
CSerializable | |
CSerializer | 序列化工具 |
CSharedMutex | |
CSimpleQueue | 一个十分简单的线程安全的任务队列 |
►CThreadPoolExecutor | |
CThreadData | |
CTime | |
CTimeoutInfo | |
CTimeStamp | |
►Nmemtracer | |
CMemTracer | |
►Noceanbase | |
CBlockIterator | |
CBlockMeta | |
CJsonConverter | A utility class to convert between JSON and user-defined types |
CObArena | Simple memory allocator |
CObBlock | Represents a data block in the LSM-Tree |
CObBlockBuilder | Build a ObBlock in SSTable |
CObBloomfilter | A simple Bloom filter implementation(Need to support concurrency) |
CObCompaction | Represents a compaction task in the LSM-Tree |
CObCompactionPicker | Abstract base class for compaction picker strategies in an LSM-Tree |
CObComparator | Base class of all comparators |
CObDefaultComparator | Comparator with lexicographical order |
CObFileReader | A utility class for reading files in an efficient manner |
CObFileWriter | A utility class for writing data to files |
CObInternalKeyComparator | Internal key comparator |
CObLRUCache | A thread-safe implementation of an LRU (Least Recently Used) cache |
CObLsm | ObLsm is a key-value storage engine for educational purpose. ObLsm learned a lot about design from leveldb and streamlined it. TODO: add more comments about ObLsm |
CObLsmBgCompactCtx | |
►CObLsmCliCmdParser | |
CResult | |
CObLsmCliCmdTokenizer | |
CObLsmCliUtil | |
CObLsmImpl | |
CObLsmIterator | Abstract class for iterating over key-value pairs in an LSM-Tree |
CObLsmOptions | Configuration options for the LSM-Tree implementation |
CObLsmReadOptions | |
CObLsmTransaction | A class representing a transaction in oblsm |
CObManifest | A class that manages the manifest file, including reading and writing records and snapshots |
CObManifestCompaction | Represents a record in the manifest, used for compaction operations |
CObManifestNewMemtable | Represents a new memtable of ObLsm |
CObManifestSnapshot | Represents a snapshot of the manifest |
CObManifestSSTableInfo | Struct representing SSTable information in a manifest |
►CObMemTable | MemTable implementation for LSM-Tree |
CKeyComparator | Compares two keys |
CObMemTableIterator | An iterator for traversing the contents of an ObMemTable |
CObMergingIterator | |
►CObSkipList | |
CIterator | Iteration over the contents of a skip list |
CNode | |
CObSSTable | Represents an SSTable (Sorted String Table) in the LSM-Tree |
CObSSTableBuilder | Build a SSTable |
CObUserIterator | |
CTableIterator | |
CTiredCompactionPicker | A class implementing the tiered compaction strategy |
CTrxInnerMapIterator | An iterator for traversing the transaction's in-memory store |
CTrxIterator | Merge TrxInnerMapIterator and ObUserIterator |
CWAL | |
CWalRecord | A structure representing a record in the Write-Ahead Log (WAL). Each record contains a sequence number, a key, and a value |
CAddOperator | |
CAggregateExpr | |
►CAggregateHashTable | 用于hash group by 的哈希表实现,不支持并发访问。 |
CScanner | |
►CAggregateVecPhysicalOperator | 聚合物理算子 (Vectorized) |
CAggregateValues | |
CAggregator | |
CAnalyzeTableExecutor | 分析表的执行器(analyze table) |
CAnalyzeTableSqlNode | 描述一个analyze table语句 |
CAnalyzeTableStmt | 分析表的语句 |
CApplyRule | ApplyRule task |
CArithmeticExpr | 算术表达式 |
CAttrComparator | 属性比较(BplusTree) |
CAttrInfoSqlNode | 描述一个属性 |
CAttrPrinter | 属性打印,调试使用(BplusTree) |
CBasePacket | 所有的包都继承自BasePacket |
CBinderContext | |
CBPFileHeader | BufferPool的文件第一个页面,存放一些元数据信息,包括了后面每页的分配信息。 |
►CBPFrameManager | 管理页面Frame |
CBPFrameIdHasher | |
CBplusTreeHandler | B+树的实现 |
CBplusTreeIndex | B+树索引 |
CBplusTreeIndexScanner | B+树索引扫描器 |
CBplusTreeLogger | B+树日志记录辅助类,同时可以利用此类做回滚操作 |
CBplusTreeLogReplayer | B+树日志重做器 |
CBplusTreeMiniTransaction | B+树使用的事务辅助类 |
CBplusTreeScanner | B+树的扫描器 |
CBufferedWriter | 支持以缓存模式写入数据到文件/socket |
CBufferPoolIterator | 用于遍历BufferPool中的所有页面 |
CBufferPoolLogEntry | BufferPool 的日志记录 |
CBufferPoolLogHandler | BufferPool 的日志记录处理器 |
CBufferPoolLogReplayer | BufferPool 的日志重放器 |
CBufferPoolManager | BufferPool的管理类 |
CBufferPoolOperation | BufferPool 的日志相关操作类型 |
CCalcLogicalOperator | 逻辑算子描述当前执行计划要做什么 |
CCalcPhysicalOperator | |
CCalcSqlNode | 算术表达式计算的语法树 |
CCalcStmt | 描述算术运算语句 |
CCascadeTask | |
CCastExpr | 类型转换表达式 |
CCatalog | Store metadata, such as table statistics |
CCharType | 固定长度的字符串类型 |
CChunk | A Chunk represents a set of columns |
CChunkFileScanner | 遍历某个文件中所有记录,每次返回一个 Chunk |
CCliCommunicator | 用于命令行模式的通讯器 |
CCliServer | |
CCodec | |
CColumn | A column contains multiple values in contiguous memory with a specified type |
CCommandExecutor | 执行器 |
CCommandExecutor。 | 将解析后的Statement转换成执行计划,并进行优化 |
CCommunicator | 负责与客户端通讯 |
CCommunicatorFactory | 通讯协议工厂 |
CComparisonExpr | 比较表达式 |
CComparisonSimplificationRule | 简单比较的重写规则 |
CCompositeConditionFilter | |
CCompositeTuple | 组合的TupleTODO 单元测试 |
CConDesc | |
CConditionFilter | |
CConditionSqlNode | 表示一个条件比较 |
CConjunctionExpr | 联结表达式多个表达式使用同一种关系(AND或OR)来联结 当前miniob仅有AND操作 |
CConjunctionSimplificationRule | 简化多个表达式联结的运算 |
CContainer | |
CContainer< std::string > | |
CCostModel | Cost model in cost-based optimization(CBO) |
CCreateIndexExecutor | 创建索引的执行器 |
CCreateIndexSqlNode | 描述一个create index语句 |
CCreateIndexStmt | 创建索引的语句 |
CCreateTableExecutor | 创建表的执行器 |
CCreateTableSqlNode | 描述一个create table语句 |
CCreateTableStmt | 表示创建表的语句 |
CDataType | |
CDb | 一个DB实例负责管理一批表 |
CDefaultConditionFilter | |
CDefaultHandler | 数据库存储引擎的入口 |
CDeleteLogicalOperator | 逻辑算子,用于执行delete语句 |
CDeletePhysicalOperator | 物理算子,删除 |
CDeleteSqlNode | 描述一个delete语句 |
CDeleteStmt | Delete 语句 |
CDescTableExecutor | 描述表的执行器 |
CDescTableSqlNode | 描述一个desc table语句 |
CDescTableStmt | 描述表的语句 |
CDiskBufferPool | BufferPool的实现 |
CDiskDoubleWriteBuffer | 页面二次缓冲区,为了解决页面原子写入的问题 |
CDiskLogHandler | 对外提供服务的CLog模块 |
CDivideOperator | |
CDoubleWriteBuffer | |
CDoubleWriteBufferHeader | |
CDoubleWritePage | |
CDoubleWritePageKey | |
CDoubleWritePageKeyHash | |
CDropIndexSqlNode | 描述一个drop index语句 |
CDropTableSqlNode | 描述一个drop table语句 |
CEofPacket | EOF包 |
CEqual | |
CErrorSqlNode | 解析SQL语句出现了错误 |
CErrPacket | ERR包,出现错误时返回 |
CEventCallbackAg | Libevent 消息回调函数的参数 |
CExecuteStage | 执行SQL语句的Stage,包括DML和DDL |
CExitStmt | Exit 语句,表示断开连接,现在什么成员都没有 |
CExplainLogicalOperator | Explain逻辑算子 |
CExplainPhysicalOperator | Explain物理算子 |
CExplainSqlNode | 描述一个explain语句 |
CExplainStmt | Explain语句 |
CExploreGroup | ExploreGroup |
CExpression | 表达式的抽象描述 |
CExpressionBinder | 绑定表达式 |
CExpressionIterator | |
CExpressionRewriter | |
CExpressionRewriteRule | 表达式的重写规则 |
CExpressionTuple | |
CExprVecPhysicalOperator | 表达式物理算子(Vectorized) |
CField | 字段 |
CFieldExpr | 字段表达式 |
CFieldMeta | 字段元数据 |
CFilterObj | |
CFilterStmt | Filter/谓词/过滤语句 |
CFilterUnit | |
CFloatType | 浮点型数据类型 |
CFoo | |
CFrame | 页帧 |
CFrameId | 页帧标识符 |
CGlobalContext | 放一些全局对象 |
CGreatEqual | |
CGreatThan | |
CGroup | A class representing a group within cascade optimizer |
CGroupByLogicalOperator | |
CGroupByPhysicalOperator | Group By 物理算子基类 |
CGroupByVecPhysicalOperator | Group By 物理算子(vectorized) |
CGroupExpr | |
CHandshakeV10 | 握手包 |
CHashGroupByPhysicalOperator | Group By Hash 方式物理算子 |
CHashJoinPhysicalOperator | Hash Join 算子 |
CHeapRecordScanner | 遍历某个文件中所有记录 |
CHeapTableEngine | Table engine |
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 | 插入语句 |
CIntegerType | 整型类型 |
CIntegratedLogReplayer | 整体日志回放类 |
CInternalIndexNode | Internal page of bplus tree |
CInternalIndexNodeHandler | 内部节点的操作 |
CIvfflatIndex | Ivfflat 向量索引 |
CJavaThreadPoolThreadHandler | 简单线程池模型。使用了模拟Java线程池接口的线程池,所以脚JavaThreadPool |
CJoinedTuple | 将两个tuple合并为一个tuple |
CJoinLogicalOperator | 连接算子 |
CKeyComparator | 键值比较(BplusTree) |
CKeyPrinter | 键值打印,调试使用(BplusTree) |
CLatchMemo | |
CLatchMemoItem | |
CLeafIndexNode | Leaf page of bplus tree |
CLeafIndexNodeHandler | 叶子节点的操作 |
CLessEqual | |
CLessThan | |
CLoadDataExecutor | 导入数据的执行器 |
CLoadDataSqlNode | 描述一个load data语句 |
CLoadDataStmt | |
CLogEntry | 描述一条日志 |
CLogEntryBuffer | 日志数据缓冲区 |
CLogFileManager | 管理所有的日志文件 |
CLogFileReader | 负责处理一个日志文件,包括读取和写入 |
CLogFileWriter | 负责写入一个日志文件 |
CLogHandler | 对外提供服务的CLog模块 |
CLogHeader | 描述一条日志头 |
CLogicalCalcToCalc | |
CLogicalDeleteToDelete | |
CLogicalExplainToExplain | |
CLogicalGetToPhysicalSeqScan | |
CLogicalInsertToInsert | |
CLogicalOperator | 逻辑算子描述当前执行计划要做什么 |
CLogicalPlanGenerator | |
CLogicalPredicateToPredicate | |
CLogicalProjectionToProjection | |
CLogicalProperty | Logical Property, such as the cardinality of logical operator |
CLogModule | 日志模块 |
CLogReplayer | 日志回放接口类 |
CLsmMvccTrx | |
CLsmMvccTrxKit | Lsm-tree 存储引擎对应的事务管理器 |
CLsmMvccTrxLogReplayer | |
CLsmRecordScanner | |
CLsmTableEngine | Lsm table engine |
►CMemo | : memorization |
CGExprPtrEq | |
CGExprPtrHash | |
CMultiplyOperator | |
CMvccTrx | 多版本并发事务TODO 没有垃圾回收 |
CMvccTrxCommitLogEntry | 事务提交的日志 |
CMvccTrxKit | |
CMvccTrxLogHandler | 处理事务日志的辅助类 |
CMvccTrxLogHeader | 表示事务日志的头部 |
CMvccTrxLogOperation | 表示各种操作类型 |
CMvccTrxLogReplayer | 事务日志回放器 |
CMvccTrxRecordLogEntry | 表示事务日志中操作行数据的日志,比如插入和删除 |
CMysqlCommunicator | 与客户端通讯 |
CNegateOperator | |
CNestedLoopJoinPhysicalOperator | 最简单的两表(称为左表、右表)join算子 |
CNetServer | |
CNode | |
CNotEqual | |
COkPacket | 响应包,在很多场景中都会使用 |
COneThreadPerConnectionThreadHandler | 一个连接一个线程的线程模型 |
COperation | 描述一个操作,比如插入、删除行等 |
COperationEqualer | |
COperationHasher | |
COperatorNode | |
COptimizeExpression | |
COptimizeGroup | : OptimizeGroup, find the best plan for a group |
COptimizeInputs | |
COptimizer | Cascade optimizer TODO: currently, Optimizer is used for CBO optimization. need to unify the optimizer in miniob |
COptimizerContext | |
COptimizerUtils | |
COptimizeStage | |
►COrderedCode | |
Cdecr | |
Cinfinity | |
Cstring_or_infinity | |
Ctrailing_string | |
CPacketHeader | 每个包都有一个包头 |
CPage | 表示一个页面,可能放在内存或磁盘上 |
CPageHeader | 数据文件,按照页面来组织,每一页都存放一些记录/数据行 |
CParsedSqlNode | 表示一个SQL语句 |
CParsedSqlResult | 表示语法解析后的数据 |
CParseStage | 解析SQL语句,解析后的结果可以参考parse_defs.h |
CPattern | |
CPaxRecordPageHandler | 负责处理 PAX 存储格式的页面中各种操作 |
CPendingTasks | This collection of undone cascade tasks is currently stored as a stack |
CPersistHandler | |
CPhysicalOperator | 与LogicalOperator对应,物理算子描述执行计划将如何执行 |
CPhysicalPlanGenerator | 物理计划生成器 |
CPlainCommunicator | 与客户端进行通讯 |
CPlanCacheStage | 尝试从Plan的缓存中获取Plan,如果没有命中,则执行Optimizer |
CPredicateLogicalOperator | 谓词/过滤逻辑算子 |
CPredicatePhysicalOperator | 过滤/谓词物理算子 |
CPredicatePushdownRewriter | 将一些谓词表达式下推到表数据扫描中 |
CPredicateRewriteRule | 谓词重写规则 |
CPredicateToJoinRewriter | 将一些谓词表达式下推到join中 |
CProjectLogicalOperator | Project 表示投影运算 |
CProjectPhysicalOperator | 选择/投影物理算子 |
CProjectTuple | 从一行数据中,选择部分字段组成的元组,也就是投影操作 |
CProjectVecPhysicalOperator | 选择/投影物理算子(vectorized) |
CProperty | |
CPropertySet | |
CPropSetPtrEq | |
CPropSetPtrHash | |
CQueryCacheStage | 查询缓存处理 |
CQueryPacket | MySQL客户端发过来的请求包 |
CRecord | 表示一个记录 |
CRecordFileHandler | 管理整个文件中记录的增删改查 |
CRecordLogHandler | |
CRecordLogHeader | |
CRecordLogReplayer | 记录相关的日志重放器 |
CRecordOperation | 记录管理器操作相关的日志类型 |
CRecordPageHandler | 负责处理一个页面中各种操作,比如插入记录、删除记录或者查找记录 |
CRecordPageIterator | 遍历一个页面中每条记录的iterator |
CRecordScanner | 遍历某个表中所有记录 |
CRelAttrSqlNode | 描述一个属性 |
CResolveStage | 执行Resolve,将解析后的SQL语句,转换成各种Stmt(Statement), 同时会做错误检查 |
CRewriter | 根据一些规则对逻辑计划进行重写 |
CRewriteRule | 逻辑计划的重写规则TODO: 重构下当前的查询改写规则,放到 cascade optimizer 中。 |
CRID | 标识一个记录的位置 一个记录是放在某个文件的某个页面的某个槽位。这里不记录文件信息,记录页面和槽位信息 |
CRIDHash | |
CRingBuffer | 环形缓存,当前用于通讯写入数据时的缓存 |
CRowRecordPageHandler | 负责处理行存页面中各种操作 |
CRowTuple | 一行数据的元组 |
CRule | |
CRuleSet | |
CRuleWithPromise | |
CScalarGroupByPhysicalOperator | 没有 group by 表达式的 group by 物理算子 |
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的不同阶段 |
CSqlTaskHandler | SQL请求的处理器 |
►CStandardAggregateHashTable | |
CScanner | |
CVectorEqual | |
CVectorHash | |
CStarExpr | |
CStmt | Stmt for Statement |
CStorageEvent | |
CStringListPhysicalOperator | 字符串列表物理算子 |
CSubtractOperator | |
CSumAggregator | |
CSumState | |
CTable | 表 |
CTableEngine | Table engine |
CTableGetLogicalOperator | 表示从表中获取数据的算子 |
CTableMeta | 表元数据 |
CTableScanPhysicalOperator | 表扫描物理算子 |
CTableScanVecPhysicalOperator | 表扫描物理算子(vectorized) |
CTableStatistics | |
CTableStats | Represents statistics related to a table |
CThreadData | |
CThreadHandler | |
CTrx | 事务接口 |
CTrxBeginExecutor | 事务开始语句的执行器 |
CTrxBeginStmt | 事务的Begin 语句,现在什么成员都没有 |
CTrxEndExecutor | 事务结束的执行器,可以是提交或回滚 |
CTrxEndStmt | 事务的 Commit/Rollback 语句,现在什么成员都没有 |
CTrxKit | 事务管理器 |
CTuple | 元组的抽象描述 |
CTupleCellSpec | |
CTupleSchema | 元组的结构,包含哪些字段(这里成为Cell),每个字段的说明 |
CUnboundAggregateExpr | |
CUnboundFieldExpr | |
CUpdateSqlNode | 描述一个update语句 |
CUpdateStmt | 更新语句 |
CVacuousDoubleWriteBuffer | |
CVacuousLogHandler | VacuousLogHandler is a log handler implenmentation that do nothing in all methods. It is used for testing |
CVacuousTrx | |
CVacuousTrxKit | Vacuous(真空的),顾名思义就是没有实现事务功能 |
CVacuousTrxLogReplayer | |
►CValue | 属性的值 |
CVal | |
CValueExpr | 常量值表达式 |
CValueListTuple | 一些常量值组成的TupleTODO 使用单独文件 |
CVectorType | 向量类型 |
CWal | A class responsible for memtable recovery and Write-Ahead Log (WAL) operations. This class enables writing data to a file using the WAL mechanism and recovering data from a previously written WAL file. The WAL format ensures that data modifications are logged before being applied to the main data store, providing durability in case of system failures |
CWorker | |