Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* [+]增加记录接口的Mock (#1) * 增加错误基类、简单的记录接口 * 增加.gitignore * 完成记录的mock * 增加记录接口的简易单元测试 * [+]增加表管理mock、更新部分配置 (#3) * 增加错误基类、简单的记录接口 * 增加.gitignore * 完成记录的mock * 增加记录接口的简易单元测试 * 引入Slf4j、log4j、jbbp外部库 * [+]add table mock and unit test * 增加Travis配置 * fix: transform java14 to java11 * 更新Gradle配置以允许Scan ToS * 删除冗余Travis配置 * README增加Travis Badge Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> Co-authored-by: Kevin Axel <41867249+KveinAxel@users.noreply.github.com> * [+]完成各模块接口、Mock (#4) * 增加错误基类、简单的记录接口 * 增加.gitignore * 完成记录的mock * 增加记录接口的简易单元测试 * 引入Slf4j、log4j、jbbp外部库 * [+]add table mock and unit test * 增加Travis配置 * fix: transform java14 to java11 * 更新Gradle配置以允许Scan ToS * 删除冗余Travis配置 * README增加Travis Badge * 增加UTF-8 gradle配置 * 对于数据项管理的mock和测试部分 * 修改测试用例的文件名 * index mock * 增加事务的Mock * testPage * index mock plus test * 对于数据项管理的mock和测试部分的修改 * testPage1.01 * dataitem模块修改建议 * 修正编码风格 * 对于数据项管理的mock和测试部分 * 对于数据项管理的mock和测试部分 * Index审计、修改建议 * 增加JBBP的使用示例 * page模块审计、修改建议 * 删除table模块,更改record模块 * recovery模块审计 * transaction模块审计 * 对于日志恢复的接口和测试 * 完善事务模块接口 * testPage1.02 * testPage1.03 * 复审recovery,tx * 格式化代码 * 更新README Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> Co-authored-by: Kevin Axel <41867249+KveinAxel@users.noreply.github.com> Co-authored-by: xiaoxineryi <529086017@qq.com> Co-authored-by: DctorWei1314 <61504793+DctorWei1314@users.noreply.github.com> Co-authored-by: Criterionist <1229089076@qq.com> Co-authored-by: XuanLaoYee <1115810634@qq.com> * [M]修正dataitem模块异常命名问题 (#5) * 修改异常名称 * 修正编译失败 Co-authored-by: xiaoxineryi <529086017@qq.com> * [M]dataitem、index接口调整,错误基类增加错误原因 (#6) * 表创建、表头解析以及页头解析 * 索引审计修改 * RumbaseException增加错误原因 Co-authored-by: xiaoxineryi <529086017@qq.com> Co-authored-by: DctorWei1314 <61504793+DctorWei1314@users.noreply.github.com> * [M]改进transaction接口 (#7) * 完善事务模块接口,增加事务模块测试用例 * 修正事务接口 Co-authored-by: Criterionist <1229089076@qq.com> * [M]修正快照的接口问题 (#8) * 修正事务接口 Co-authored-by: Criterionist <1229089076@qq.com> * [+]完成数据项模块 (#9) * 表创建、表头解析以及页头解析 * 文件创建和插入 * 修正编译问题 * 数据项的插入和查询完成 * 获取整页数据 * 完成头信息添加 以及更新操作 * 数据项增改查以及头部操作完成,添加并发插入测试 * 格式化代码,改进测试用例 * 增大测试用例数据量 Co-authored-by: xiaoxineryi <529086017@qq.com> * [+]完成记录模块 (#10) * 记录mvcc初步 * 修正测试用例问题 * 完成可见性判断 * 增加0、0xffffffff为超级事务,视为已提交 * 增加读已提交测试、util测试 * 增加可重复读测试 * 完善回滚错误、改善测试代码覆盖率 * 改进dataitem模块的错误处理 * 修改异常处理和checkUuidExist * 改进uuid存在性判断逻辑 Co-authored-by: xiaoxineryi <529086017@qq.com> * [+]完成事务模块 (#11) * 实现事务管理器和事务上下文,完善测试类 * 完善事务实现 * 完善锁模块 * 改进测试用例 * Record测试用例加入事务相关,修正小bug Co-authored-by: Criterionist <1229089076@qq.com> * [+]完成页面管理模块 (#12) * Completed a prototype * add notes * Initially completed * 增加“页不足时自动添加新的物理页”功能 * 修复内存不足时抛出异常无上层处理情况 * double write * undo double write * 增加一些测试用例 * Fix errors when reading and writing files * 修正测试用例的系列文件路径 * Fix errors when test all files * 完善测试用例 * 更新travis配置 * 更新travis配置展示test过程 * 延长addlock测试延迟时间 Co-authored-by: XuanLaoYee <1115810634@qq.com> Co-authored-by: Criterionist <1229089076@qq.com> * [+]增加索引模块 (#13) * 增加错误基类、简单的记录接口 * 增加.gitignore * 完成记录的mock * 增加记录接口的简易单元测试 * 引入Slf4j、log4j、jbbp外部库 * [+]add table mock and unit test * 增加Travis配置 * fix: transform java14 to java11 * 更新Gradle配置以允许Scan ToS * 删除冗余Travis配置 * README增加Travis Badge * 增加UTF-8 gradle配置 * 对于数据项管理的mock和测试部分 * 修改测试用例的文件名 * index mock * 增加事务的Mock * testPage * index mock plus test * 对于数据项管理的mock和测试部分的修改 * testPage1.01 * dataitem模块修改建议 * 修正编码风格 * 对于数据项管理的mock和测试部分 * 对于数据项管理的mock和测试部分 * Index审计、修改建议 * 增加JBBP的使用示例 * page模块审计、修改建议 * 删除table模块,更改record模块 * recovery模块审计 * transaction模块审计 * 对于日志恢复的接口和测试 * 完善事务模块接口 * testPage1.02 * testPage1.03 * 复审recovery,tx * 格式化代码 * 更新README * 修改异常名称 * 修正编译失败 * 表创建、表头解析以及页头解析 * 索引审计修改 * RumbaseException增加错误原因 * 完善事务模块接口,增加事务模块测试用例 * 修正事务接口 * 修正事务接口 * 测试用例修改 * B+树索引,没有flush,没有锁,用synchronized并发也有小问题 * 改进测试用例 * synchronized修改 * 加了pin和unpin,听从lmx建议取消了root页作为成员 * 加了flush,完善了pin和unpin,添加了相对更为复杂的并发测试,由于mock的限制,flush和pin功能并不能得到良好的保证 * 修正、改进单元测试 * 缩小单元测试规模,解决文件冲突 Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> Co-authored-by: Kevin Axel <41867249+KveinAxel@users.noreply.github.com> Co-authored-by: xiaoxineryi <529086017@qq.com> Co-authored-by: DctorWei1314 <61504793+DctorWei1314@users.noreply.github.com> Co-authored-by: Criterionist <1229089076@qq.com> Co-authored-by: XuanLaoYee <1115810634@qq.com> * [+]增加语句解析模块 (#14) * 完成Select语句的语法树定义 * 完成Insert语句的语法树定义 * 完成Update语句的语法树定义 * 完成Delete语句的语法树定义 * 完成Create table语句的语法树定义 * 完成Create index语句的语法树定义 * 格式化代码 * 完成基本解析框架,实现Insert语句解析 * 实现CreateTable语句解析 * 实现CreateIndex语句解析 * 包移动 * 修正列名获取问题 * 完成表达式求值 * 完成Delete语句解析 * 完成Update语句解析 * 建表语句允许not null * 完成Select语句解析 * 整理代码 * [+]页管理增加退出时回写 (#15) * Add flush all files function * Add test for flushing all files function * Turn file operations into object attributes * 修正测试用例重复运行错误 * Revert "Turn file operations into object attributes" This reverts commit cc827db * 改进一处日志输出 Co-authored-by: XuanLaoYee <1115810634@qq.com> * [+]完成表管理模块 (#17) * 将接口、mock改成普通类 * 将接口、mock改成普通类 * 使用访问者模式替代原先的switch匹配 * 去除visitor, 重构表管理 * 去除visitor, 重构表管理 * 重写jbbp解析方法,增加测试 * 增加表配置信息操作 * 增加表加载测试 * 增加系统表和测试 * 完成Select语句的语法树定义 * 完成Insert语句的语法树定义 * 完成Update语句的语法树定义 * 完成Delete语句的语法树定义 * 完成Create table语句的语法树定义 * 完成Create index语句的语法树定义 * 格式化代码 * 增加空字段,增加field的方法 * 增加query模块 * 更新测试用例的序列化格式 * 修复空值Condition * 增加创建索引测试 * 更改测试文件路径 * 字符串解析增加单引号 * 增加增删改、创建表的执行测试 * 更改测试路径 * 增加select测试 * 修复delete测试 * 将mock换为RecordManager * 完成todo/fixme * 增加获取所有文件路径的api Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> * [+]实现服务器模块 (#19) * 将接口、mock改成普通类 * 将接口、mock改成普通类 * 使用访问者模式替代原先的switch匹配 * 去除visitor, 重构表管理 * 去除visitor, 重构表管理 * 重写jbbp解析方法,增加测试 * 增加表配置信息操作 * 增加表加载测试 * 增加系统表和测试 * 完成Select语句的语法树定义 * 完成Insert语句的语法树定义 * 完成Update语句的语法树定义 * 完成Delete语句的语法树定义 * 完成Create table语句的语法树定义 * 完成Create index语句的语法树定义 * 格式化代码 * 增加空字段,增加field的方法 * 增加query模块 * 更新测试用例的序列化格式 * 修复空值Condition * 增加创建索引测试 * 更改测试文件路径 * 完成服务器程序基本框架 * 字符串解析增加单引号 * 完成echo服务器 * 增加增删改、创建表的执行测试 * 更改测试路径 * 实现访问者模式处理sql语句 * 改进select语句解析 * 完善语句解析的返回值,使用泛型 * 完成语句执行逻辑 * 增加select测试 * 修复delete测试 * 实现指令解析,完成当前所有指令运行的测试 * 将mock换为RecordManager * 完成自动提交 * 完成todo/fixme * 增加获取所有文件路径的api * 修正测试文件路径 * 增加field加载时的索引重建 * 修复未抛出的异常 * 修正执行的系列错误 * 修正自动提交事务上下文更改的问题 * 修正ci重复进行测试 * 修复投影获得空列表的bug * 修复列未空的插入请求 * 修正select输出格式 * 修复metadata写入bug * unpin遗漏 * 增加CreateIndex时的表结构序列化 * 修复物理记录查找问题 * 修复错误@nonnull的问题 * 更新dummy * 修正一系列select解析问题 * 修正between计算问题 * 增加插入列检查 * record提供路径名 * 更改文件目录 * 创建数据文件夹 * 增加flush、exec语句 * 修正null值错误处理 * 通过记录来保存数据字典 * flush错误处理 * 修正系列问题,增加recordapi * 修正测试用例编译 * 修复metadata加载问题 * 修复metadata加载问题 * 修正一处forEach * 修复列persist标志位 * metadata加载的空指针问题 * 修改测试用例 * 修正若干错误测试用例 * 修正表模块单元测试路径 * 统一单元测试文件路径 Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> * [M]修正事务模块死锁决断器的并发问题 (#16) * 增加状态判断 * 完善测试用例,修正死锁测试 * 添加状态异常 * 修正事务测试 * 由于签名变更调整 * 增加对超级事务的特判 * 修正事务测试 * 修正死锁测试可能的延迟问题 * 为释放锁添加同步 * 增加若干调试输出 * 解决死锁监测的并发问题 * 使用并发度较低的方法解决了死锁问题 * 增加三线程死锁测试 * 测试结束时删除xid.log * 暂时屏蔽3线程死锁 * 更改单元测试日志文件的位置 * 修正签名问题 Co-authored-by: Criterionist <1229089076@qq.com> * [V]版本 v0.1_alpha * Revert "[M]修正事务模块死锁决断器的并发问题 (#16)" (#22) This reverts commit 2e72e1a. * Revert "[V]版本 v0.1_alpha" This reverts commit b1267a9 * [V]版本 v0.1_alpha Co-authored-by: Kevin Axel Manjaro <kevinaxel@163.com> Co-authored-by: Kevin Axel <41867249+KveinAxel@users.noreply.github.com> Co-authored-by: xiaoxineryi <529086017@qq.com> Co-authored-by: DctorWei1314 <61504793+DctorWei1314@users.noreply.github.com> Co-authored-by: Criterionist <1229089076@qq.com> Co-authored-by: XuanLaoYee <1115810634@qq.com>
- Loading branch information