1. 23 8月, 2023 1 次提交
    • 羽飞's avatar
      update docker (#245) · a9ce517a
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: ref #205 
      
      Problem:
      The build method is different with the current docker image, so we need
      to update it.
      
      ### What is changed and how it works?
      Install build tools and dependencies when building image.
      a9ce517a
  2. 16 8月, 2023 1 次提交
    • 羽飞's avatar
      Expression 四则运算 (#233) · 3cd3c2f9
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Problem: close #229 
      当前的词法分析语法分析非常简单,那当遇到比较复杂的词法分析语法分析题目,比如表达式,有些同学就难以入手
      
      ### What is changed and how it works?
      增加一个支持四则运算的功能,关键字是calc,虽然与标准的SQL不同,但是可以作为学习表达式入门使用。
      使用示例:
      ```
      (base) build_debug $ ./bin/observer -f ../etc/observer.ini -P cli
      Successfully load ../etc/observer.ini
      miniob > calc 2*(2*(2+3));
      2*(2*(2+3))
      20
      
      miniob > calc (1+2) * (2 * (20+ -(5*1)))
      (1+2) * (2 * (20+ -(5*1)))
      90
      
      miniob > calc 1, 2, 3;
      1 | 2 | 3
      1 | 2 | 3
      
      miniob > calc 1 + 2 - 3+4;
      1 + 2 - 3+4
      4
      
      miniob > calc 2* 4;
      2* 4
      8
      
      miniob > calc 1, 2, 3;
      1 | 2 | 3
      1 | 2 | 3
      
      miniob > calc 1 + 2 - 3+4;
      1 + 2 - 3+4
      4
      
      miniob > calc 2* 4;
      2* 4
      8
      ```
      3cd3c2f9
  3. 08 8月, 2023 1 次提交
    • 羽飞's avatar
      parser中的一些变量重命名 (#225) · 5c3be1d5
      羽飞 提交于
      ### What problem were solved in this pull request?
      Problem:
      parse_defs中的一些变量命名不是很清晰
      
      ### What is changed and how it works?
      重命名,增加SqlNode后缀,希望看起来更清晰,知道这些变量的意图
      另外,增加了一个visual studio code的生成parser的任务
      5c3be1d5
  4. 17 7月, 2023 1 次提交
    • 羽飞's avatar
      Remove stages (#208) · 564e9432
      羽飞 提交于
      ### What problem were solved in this pull request?
      ref #138 
      
      Problem:
      
      SEDA的线程池模式是每个处理环节分开,可能会放到不同的线程上,也可以调整不同stage对应的处理线程个数。但是会增加复杂性,比如session会切换线程、代码逻辑复杂。
      
      ### What is changed and how it works?
      去掉了parse、resolve等stage,仅保留了session stage。代码中的名字依然叫stage,后续再调整。
      在session
      stage的处理逻辑中,直接调用其它流程处理,这样也使SQL处理流程变得更清晰。后续还可以考虑移除observer.ini,所有参数均通过命令行传递。
      
      ### Other information
      564e9432
  5. 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
  6. 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
  7. 26 6月, 2023 1 次提交
    • 羽飞's avatar
      增加一些文档 (#200) · f4e52131
      羽飞 提交于
      ### What problem were solved in this pull request?
      
      Issue Number: ref #165 
      ref #174 
      
      Problem:
      一些文档需要优化
      f4e52131
  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. 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
  10. 28 1月, 2023 2 次提交
  11. 09 1月, 2023 1 次提交
    • 羽飞's avatar
      execute plan (#126) · 62af5129
      羽飞 提交于
      logical plan & physical plan;
      explain;
      yacc rewrite;
      join operator(nested loop join);
      simple rewrite rules;
      fix some issues of mysql protocol;
      62af5129
  12. 23 9月, 2022 1 次提交
  13. 13 7月, 2022 1 次提交
  14. 11 7月, 2022 2 次提交
  15. 09 7月, 2022 1 次提交
  16. 05 7月, 2022 2 次提交
  17. 02 7月, 2022 2 次提交
  18. 01 7月, 2022 1 次提交
  19. 28 6月, 2022 1 次提交
  20. 24 6月, 2022 1 次提交
  21. 21 6月, 2022 1 次提交