1. 11 7月, 2023 2 次提交
    • 羽飞's avatar
      Update README.md (#207) · fa316c2a
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Problem:
      readme文档内容较多
      
      ### What is changed and how it works?
      删掉几个链接
      
      ### Other information
      fa316c2a
    • 羽飞's avatar
      Sysbench (#206) · 8ac5c42c
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #178 
      
      Problem:
      sysbench is a powerful concurrency test tool and we should use it to
      test our program.
      
      ### What is changed and how it works?
      I create two sysbench lua scripts and a github workflow.
      
      ### Other information
      8ac5c42c
  2. 30 6月, 2023 1 次提交
    • 羽飞's avatar
      Train debug (#203) · bc7919c3
      羽飞 提交于
      ### 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
      bc7919c3
  3. 28 6月, 2023 1 次提交
    • 羽飞's avatar
      实现value替换tuple_cell (#202) · 99da0457
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #142 
      
      Problem:
      value和tuple_cell的语义是重合的,所以代码时冗余的
      
      ### What is changed and how it works?
      删除tuple_cell,都使用value来替换,并将tuple_cell中的接口都在value中实现
      
      ### Other information
      99da0457
  4. 27 6月, 2023 1 次提交
    • 羽飞's avatar
      Docs (#201) · 291eb33a
      羽飞 提交于
      ### 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
      291eb33a
  5. 26 6月, 2023 2 次提交
    • 羽飞's avatar
      增加一些文档 (#200) · f4e52131
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: ref #165 
      ref #174 
      
      Problem:
      一些文档需要优化
      f4e52131
    • 羽飞's avatar
      observer可以直接在控制台输入命令 (#199) · 380fea38
      羽飞 提交于
      ### 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
      380fea38
  6. 25 6月, 2023 1 次提交
    • 羽飞's avatar
      Network buffer (#198) · 39042c92
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #151 
      
      Problem:
      当前在发送消息到客户端时,每个数据都会刷新socket buffer,效率很低
      
      ### What is changed and how it works?
      实现BufferedWriter,通过buffered
      writer将消息缓存在内存中,结果写完时或者buffer满时,才将结果真正的发送到客户端。
      
      ### Other information
      39042c92
  7. 15 6月, 2023 1 次提交
    • 羽飞's avatar
      Document (#197) · fe061d05
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Problem:
      当前生成的github pages不太整洁方便,可以优化一下
      
      ### What is changed and how it works?
      改用mdbook生成文档,并整理文档目录,调整链接
      fe061d05
  8. 14 6月, 2023 1 次提交
    • 羽飞's avatar
      Refactor (#195) · 93b79cc6
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #173 close #136 
      
      ref #174 
      ref #165 
      
      Problem:
      这个PR修改了多个问题,可以参考各个issue。包括observer编译两次、代码目录规划不合理、command executor未全部实现等
      
      ### What is changed and how it works?
      做一些重构优化,包括CMakelist、一些代码目录、command executor
      93b79cc6
  9. 13 6月, 2023 1 次提交
    • 羽飞's avatar
      合并之前的持久化代码到mvcc (#194) · aea25b25
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      close issue: #186 
      
      Problem:
      实现MVCC代码后没有将持久化代码合并进来
      
      ### What is changed and how it works?
      支持并发模式下落日志,并在异常停机后回复。
      
      持久化是事务模块中最复杂的功能(没有之一),当前miniob实现的持久化简化了非常多,因此不能依赖持久化能力,仅仅作为一个学习测试的工具,在实际测试时也有一些限制。
      
      ### Other information
      aea25b25
  10. 31 5月, 2023 1 次提交
    • 羽飞's avatar
      修复clang 14 compile error (#193) · 1a2cf476
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #192 
      
      Problem:
      clang 14编译失败
      
      ### What is changed and how it works?
      修复编译错误
      
      ### Other information
      1a2cf476
  11. 30 5月, 2023 1 次提交
    • 羽飞's avatar
      doxygen 文档 (#189) · 6d9a299a
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #188 
      
      Problem:
      利用doxygen将代码注释生成文档
      
      ### What is changed and how it works?
      修改github action,增加doxygen生成文档,并gihtub pages部署发布
      
      ### Other information
      6d9a299a
  12. 29 5月, 2023 1 次提交
    • 羽飞's avatar
      Docxygen (#187) · e772a91f
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      使用doxygen生成代码文档
      
      Problem:
      doxygen可以很方便的把代码注释转换成文档,但是当前没有利用这个功能
      
      ### What is changed and how it works?
      增加了doxyfile,并在github action的workflow中增加了这个功能
      
      ### Other information
      e772a91f
  13. 25 5月, 2023 3 次提交
    • 羽飞's avatar
      Record manager doc (#185) · ac87eefd
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: ref #165 
      
      Problem:
      record_manager 没有比较详细的注释
      
      ### What is changed and how it works?
      加一些注释
      
      ### Other information
      ac87eefd
    • 羽飞's avatar
      简化rc (#184) · 8587eb0f
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #149 
      
      Problem:
      RC return code ,定义的东西太多,不太简洁,并且有很多错误码当前没有使用
      
      ### What is changed and how it works?
      仅使用enum RC 定义错误码,删掉其它枚举定义。
      删除当前没有使用的错误码。
      
      ### Other information
      8587eb0f
    • 羽飞's avatar
      remove cmake_link_directories in client/cmake (#183) · 3db46984
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #61 
      
      Problem:
      cmake 3.10 版本不支持 cmake_link_directories 命令,而且miniob也不需要
      
      ### What is changed and how it works?
      将 cmake_link_directories 相关代码删除,可以正常编译
      3db46984
  14. 24 5月, 2023 3 次提交
    • 羽飞's avatar
      format benchmark codes (#181) · f907d012
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: ref #164 
      
      Problem:
      
      ### What is changed and how it works?
      使用clang-format格式化benchmark模块代码
      
      ### Other information
      f907d012
    • 羽飞's avatar
      编译选项增加 Werror (#182) · c3bd02e3
      羽飞 提交于
      ### 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
      c3bd02e3
    • 羽飞's avatar
      修改一些文档链接 (#180) · a4fbe1da
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #175 
      
      Problem:
      github page 构建失败
      看到报错信息:
      ```
      googletest/docs/assets/css/style.scss File to import not found or unreadable
      ```
      本来miniob的pages与子模块是无关的,看github page
      action的逻辑是checkout了子模块,而这个子模块在这里有点问题。
      
      ### What is changed and how it works?
      把github pages改成github action模式构建,并修改checkout的submodules参数为false,即不拉子模块。
      这里只是修改一些文档链接,gitub page相关的commit:
      
      https://github.com/oceanbase/miniob/commit/8a33f5219d7ed27797d49dc2a9bfd945dcd0d327
      
      ### Other information
      a4fbe1da
  15. 23 5月, 2023 1 次提交
  16. 15 5月, 2023 2 次提交
    • 羽飞's avatar
      Python test (#179) · 99eece10
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #169 
      
      Problem:
      python测试脚本启动过于复杂;
      没有利用python的case测试功能
      
      ### What is changed and how it works?
      删减掉大部分python测试脚本的参数;
      把basic测试用例增加到github action中
      
      ### Other information
      99eece10
    • 羽飞's avatar
      fix unittest (#9) (#177) · 5017ced9
      羽飞 提交于
      fix unittest;
      add unittest to github action
      
      ### What problem were solved in this pull request?
      
      Issue Number: close #176 close #163 
      
      Problem:
      单元测试执行失败;
      github action 没有单元测试检查
      5017ced9
  17. 12 5月, 2023 1 次提交
    • 羽飞's avatar
      gitpod doc (#167) · c3efcf52
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #152 
      
      Problem:
      增加gitpod 开发说明
      
      ### What is changed and how it works?
      
      ### Other information
      c3efcf52
  18. 11 5月, 2023 1 次提交
    • 羽飞's avatar
      修正how_to_build文档 (#168) · 3269b909
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: close #89 close #154 
      
      Problem:
      how_to_build 文档中描述的编译内容缺少了benchmark,并且步骤过于繁琐。
      
      ### What is changed and how it works?
      使用build.sh为基础描述构建文档。
      
      ### Other information
      3269b909
  19. 09 5月, 2023 1 次提交
    • 羽飞's avatar
      mvcc trx (#156) · 871c9b32
      羽飞 提交于
      ### 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
      871c9b32
  20. 06 5月, 2023 1 次提交
  21. 05 5月, 2023 1 次提交
  22. 06 4月, 2023 1 次提交
  23. 29 3月, 2023 1 次提交
    • 羽飞's avatar
      thread-safe buffer pool and btree supported (#145) · 31fa2558
      羽飞 提交于
      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
      31fa2558
  24. 09 3月, 2023 1 次提交
  25. 06 3月, 2023 1 次提交
  26. 28 1月, 2023 4 次提交
  27. 26 1月, 2023 2 次提交
  28. 10 1月, 2023 2 次提交