Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dataitem、index接口调整,错误基类增加错误原因 #6

Merged
merged 64 commits into from
Jan 13, 2021

Conversation

kaaass
Copy link
Owner

@kaaass kaaass commented Jan 13, 2021

No description provided.

kaaass and others added 25 commits January 9, 2021 17:17
# Conflicts:
#	src/main/java/net/kaaass/rumbase/page/PageCache.java
#	src/main/java/net/kaaass/rumbase/page/PageManager.java
#	src/main/java/net/kaaass/rumbase/page/mock/MockPage.java
#	src/main/java/net/kaaass/rumbase/page/mock/MockPageStorage.java
# Conflicts:
#	src/main/java/net/kaaass/rumbase/dataitem/IItemStorage.java
#	src/main/java/net/kaaass/rumbase/dataitem/ItemManager.java
#	src/main/java/net/kaaass/rumbase/dataitem/mock/MockItemStorage.java
#	src/test/java/net/kaaass/rumbase/dataitem/IItemStorageTest.java
# Conflicts:
#	src/main/java/net/kaaass/rumbase/dataitem/ItemManager.java
#	src/test/java/net/kaaass/rumbase/dataitem/IItemStorageTest.java
# Conflicts:
#	src/main/java/net/kaaass/rumbase/page/Page.java
@kaaass kaaass self-assigned this Jan 13, 2021
@kaaass kaaass merged commit 143a463 into dev Jan 13, 2021
kaaass added a commit that referenced this pull request Jan 17, 2021
* [+]增加记录接口的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

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>
kaaass added a commit that referenced this pull request Jan 17, 2021
* [+]增加记录接口的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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants