1. 26 6月, 2023 1 次提交
    • 羽飞'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
  2. 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
  3. 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
  4. 14 11月, 2022 1 次提交
  5. 16 8月, 2022 2 次提交
  6. 11 8月, 2022 1 次提交
  7. 23 2月, 2022 2 次提交
  8. 13 2月, 2022 1 次提交
  9. 15 10月, 2021 1 次提交