- 26 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #162 Problem: 当前的observer启动流程和调试方法比较繁琐,必须使用客户端服务端的方式,先启动服务端程序,再使用客户端启动调试 ### What is changed and how it works? observer可以直接启动,不监听tcp或unix socket,直接通过终端/控制台输入命令并执行,极大的方便了调试 ### Other information 新的启动方法: ./bin/observer -P cli -f ../etc/observer.ini
-
- 13 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? close issue: #186 Problem: 实现MVCC代码后没有将持久化代码合并进来 ### What is changed and how it works? 支持并发模式下落日志,并在异常停机后回复。 持久化是事务模块中最复杂的功能(没有之一),当前miniob实现的持久化简化了非常多,因此不能依赖持久化能力,仅仅作为一个学习测试的工具,在实际测试时也有一些限制。 ### Other information
-
- 24 5月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #91 close #1 Problem: 编译时编译器抛出的一些告警信息可以帮我们避免很多问题,但是现在并没有利用这个特性 ### What is changed and how it works? CMake中增加-Werror编译选项 ### Other information
-
- 15 5月, 2023 1 次提交
-
-
由 羽飞 提交于
fix unittest; add unittest to github action ### What problem were solved in this pull request? Issue Number: close #176 close #163 Problem: 单元测试执行失败; github action 没有单元测试检查
-
- 09 5月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #155 close #135 Problem: 实现了简单的事务处理。 当前支持并发事务数据. ### What is changed and how it works? - 支持两种事务模式:Vacuous和MVCC。 Vacuous 事务模式算是没有事务,它的事务接口什么都不做。 MVCC 是多版本并发控制(Multi-Version Concurrency Control),使用多个版本保留记录数据。启动miniob时增加运行时选项 -t mvcc可以选择mvcc。 - MVCC:简单模式的多版本并发控制。 当前miniob仅包含insert和delete操作,因此数据最多包含两个版本,并且不需要在record中保留版本链表信息; 不支持持久化; 没有做垃圾回收; 遗留一个BUG:在提交时没有保证提交的数据一次性对外可见; 使用简单的写写冲突策略:检测到要修改的数据当前有人在修改,就回退 - 编译MINIOB时使用 -DCONCURRENCY=ON 才会支持并发 支持各个模块并发处理,包括buffer pool、bplus、record manager。如果编译时没有使用CONCURRENCY选项,则保持原样,不支持并发,保持系统的简单性。 - 编译时增加 -DDEBUG=ON 还会增加并发调试日志与严格的运行时检测(ASSERT语句) - 当前版本代码中包含了bplus tree和record manager的并发测试,参考benchmark目录下的代码。 ### Other information
-
- 29 3月, 2023 1 次提交
-
-
由 羽飞 提交于
Fix problem: 1. the buffer pool and b tree is not thread safe; 2. github/workflow/build does not work ### What is changed and how it works? 1. thread-safe buffer pool - I use a mutex in buffer pool and take a lock in buffer pool operations such as allocate frame, dispose frame; - The frame is locked while updating/reading the content of frame; - Frame manager take a lock when allocate/free pages. 2. thread-safe b+tree - Crabing protocol is used to support concurrent 3. github/workflow/build - update the submodules; - create a build script and run build.sh in build.yaml
-
- 06 3月, 2023 1 次提交
-
-
由 羽飞 提交于
-
- 05 12月, 2022 1 次提交
-
-
由 羽飞 提交于
tested by mariadb ( Ver 15.1 Distrib 5.5.65-MariaDB, for Linux (x86_64) using readline 5.1) but failed with obclient
-
- 23 9月, 2022 1 次提交
-
-
由 atoomix 提交于
* support build with address sanitizer using cmake options `-DENALBE_ASAN=ON` to enable address sanitizer * fix some memory leaks detected by asan
-
- 23 5月, 2022 1 次提交
-
-
由 Qi Wang 提交于
-
- 18 2月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 15 10月, 2021 1 次提交
-
-
由 羽飞 提交于
-