- 30 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Problem: 与训练营配合,可以在SQL命令请求过程中,添加调试信息 ### What is changed and how it works? 可以参考 debug-output.md 文档。 增加 sql_debug 变量,使用set sql_debug=1; 可以设置。 在SQL命令执行过程中,调用sql_debug函数,增加调试信息。在普通文本通讯协议中,调试信息会以 '#' 开头的形式打印出来。但是注意调试信息中不要带换行符。 ### Other information
-
- 27 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #191 Problem: doxy文档的首页没有描述 ### What is changed and how it works? 增加首页描述信息,写在了main.cpp中 ### Other information
-
- 26 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: ref #165 ref #174 Problem: 一些文档需要优化
-
- 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
-
- 28 1月, 2023 2 次提交
-
-
由 Longda Feng 提交于
-
由 Longda Feng 提交于
-
- 20 9月, 2022 1 次提交
-
-
由 羽飞 提交于
优化load data效率
-
- 06 9月, 2022 1 次提交
-
-
由 xiaoleizi2016 提交于
Docker 中安装gdb; 删除handler.h 文件; BplusTree中的比较函数使用deps下公用接口;
-
- 12 8月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 06 4月, 2022 1 次提交
-
-
由 羽飞 提交于
重构disk buffer pool: 新增BufferPoolManager,管理所有的DiskBufferPool; 原有DiskBufferPool只处理一个文件,取消其中file_id的概念; 删除BPPageHandle,直接使用Frame; BPManager更名BPFrameManager; BPFileSubHeader改为BPFileHeader并直接放在DiskBufferPool中
-
- 02 4月, 2022 2 次提交
- 30 3月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 08 3月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 13 2月, 2022 1 次提交
-
-
由 longdafeng 提交于
-
- 07 2月, 2022 1 次提交
-
-
由 Longda 提交于
Other improvement 1. add code format file 2. add gitignore 3. add memory pool utility 4. remove useless file mpool.h, index_manager.cpp/h 5. rename the interface of disk_buffer_pool basing on the new mem_pool 6. add some logs in db/table/disk_buffer_pool 7. add unit test mem_pool_test/log_test/bplus_tree_test 8. code format all modified files 9. redefine the interface of table_meta 10. change log's full path as file name 11. add utility function, print_callstack, remove warning of path
-
- 15 10月, 2021 1 次提交
-
-
由 羽飞 提交于
-