- 23 8月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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.
-
- 16 8月, 2023 2 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #230 Problem: logical plan的生成代码全放在了optimize中,看起来很不清晰 ### What is changed and how it works? 将logical plan的代码提取出来放在logical plan generator中
-
由 羽飞 提交于
### 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 ```
-
- 11 8月, 2023 1 次提交
-
-
由 JugendTraum 提交于
### What problem were solved in this pull request? Issue Number: close #226 Problem: 记录管理部分中page_header_中record_capacity初始化有误,需要进行修正 由于record_capacity的计算并没有考虑8字节对齐,计算的是不对齐时页面下容纳的最大记录量。 但第一条记录偏移量first_record_offset需要8字节对齐,使得最后一条记录的数据可能会溢出页面。 ### What is changed and how it works? 如果溢出页面,则减少record_capacity数值 同时去掉了部分冗余或含义不清的函数,修改了上取整的计算表达式 完善了记录管理模块成员函数的注释
-
- 08 8月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Problem: parse_defs中的一些变量命名不是很清晰 ### What is changed and how it works? 重命名,增加SqlNode后缀,希望看起来更清晰,知道这些变量的意图 另外,增加了一个visual studio code的生成parser的任务
-
- 07 8月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: ref #205 Problem: build failed on docker container ### What is changed and how it works? fix compile error ### Other information
-
- 01 8月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #217 Problem: compile error on gcc 12 ### What is changed and how it works? ### Other information
-
- 17 7月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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
-
- 11 7月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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
-
- 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
-
- 28 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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
-
- 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 2 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: ref #165 ref #174 Problem: 一些文档需要优化
-
由 羽飞 提交于
### 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
-
- 25 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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
-
- 15 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Problem: 当前生成的github pages不太整洁方便,可以优化一下 ### What is changed and how it works? 改用mdbook生成文档,并整理文档目录,调整链接
-
- 14 6月, 2023 1 次提交
-
-
由 羽飞 提交于
### 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
-
- 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
-
- 31 5月, 2023 1 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: close #192 Problem: clang 14编译失败 ### What is changed and how it works? 修复编译错误 ### Other information
-
- 25 5月, 2023 3 次提交
-
-
由 羽飞 提交于
### What problem were solved in this pull request? Issue Number: ref #165 Problem: record_manager 没有比较详细的注释 ### What is changed and how it works? 加一些注释 ### Other information
-
由 羽飞 提交于
### 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
-
由 羽飞 提交于
### 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 相关代码删除,可以正常编译
-
- 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
-
- 28 1月, 2023 4 次提交
-
-
由 Longda Feng 提交于
-
由 Longda Feng 提交于
-
由 Longda Feng 提交于
-
由 Longda Feng 提交于
-
- 26 1月, 2023 1 次提交
-
-
由 Longda 提交于
-
- 09 1月, 2023 1 次提交
-
-
由 羽飞 提交于
logical plan & physical plan; explain; yacc rewrite; join operator(nested loop join); simple rewrite rules; fix some issues of mysql protocol;
-
- 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
-
- 17 11月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 14 11月, 2022 1 次提交
-
-
由 羽飞 提交于
如果使用readline,可以记录历史命令
-
- 24 10月, 2022 1 次提交
-
-
由 gitccl 提交于
-
- 17 10月, 2022 1 次提交
-
-
由 羽飞 提交于
2022 oceanbase competition
-
- 13 10月, 2022 1 次提交
-
-
由 羽飞 提交于
-
- 07 10月, 2022 1 次提交
-
-
由 ts 提交于
-
- 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
-