2023 OceanBase 数据库大赛FAQ

  • 2023 OceanBase 数据库大赛初赛已正式开启!!!同时报名截止到10月25日,同学们抓紧报名啦~

:alarm_clock:初赛时间:10月17日-11月6日

:point_right:初赛提测链接
2023-miniob:OceanBase 社区
2023-oceanbase-附加赛题:OceanBase 社区
:point_right:初赛代码Github:GitHub - oceanbase/miniob: MiniOB is a compact database that assists developers in understanding the fundamental workings of a database.
:point_right:初赛成绩将在英雄榜实时更新,请大家及时关注榜单新动态:OceanBase 社区
:point_right:本次大赛答疑均在钉钉群进行,微信群仅作为重要通知提醒。请各位参赛同学尽快加入大赛钉钉答疑群(群号:35326455)
:point_right:团队每位同学都能提测,每支队伍每日提测上限次数是10次,请同学们注意提测次数。
:point_right:大赛报名:OceanBase 社区

1、 今年的比赛只支持 GitHub 吗?

推荐使用GitHub。

2、 请问是每天每道题十次提测机会,还是每天所有题加起来只有十次机会? 去年的赛题还能提测么,提测去年的题目会不会浪费次数?

每个团队每天只有十次提测机会,团队内部注意协调好提测。可以提测,不会占用次数。

3、 之前说用miniob_test,但是现在又多了一个oceanbase-competition-2023,所以我们应该用哪个分支开发?

miniob_test 和 oceanbase-competition-2023 分支没有差别,两个都可以使用。最开始使用的是miniob_test,后来为了让大家更容易找到需要的分支,使用了更容易明白的“oceanbase-competition-2023”。给大家造成的误解道歉。

4、 请问test分支,和2023分支用那个都可以嘛?不同分支对以后的解题有影响嘛?

没影响,现在几个分支代码都差不多。

5、不知道如何提交代码?

可以参考MiniOB文档:https://oceanbase.github.io/miniob/

6、public repo not allowed,clone repo failed
2023年开始,比赛中不允许使用 public 仓库,即公共仓库提交测试,必须改为私有(private仓库)。大家可以参考 MiniOB GitHub 在训练营中的使用说明12

7、题目描述与实际提测情况不符
比如update-select题目中,update val=(select xxxx) where id=1; 如果子查询返回的值个数超过1个通常我们都要返回失败,但是在MySQL中,由于where id=1返回的数据量是0,所以此语句返回成功,但是不实际更新数据。
总结:以实际MySQL表现为准。

8、浮点数处理异常
由于MySQL中对float字段的精度处理非常差,会遇到a < a的情况,比如 insert into t values(29.14);但是select * from t where id < 29.14;可以得到29.14这个数据。
另外还有比较长的浮点数,比如10356.23,在MySQL中会保存为10356.2,无法与miniob的要求保持一致,而且比较难找到一种规则。
如果同学们遇到上面的情况,可以在群内与我们沟通,来调整case,避免这种情况的发生。

9、failed to receive response from observer. reason=Failed to receive from server. poll return POLLHUP=16 or POLLERR=str(event & select.POLLERR), sql=
没有收到服务端的回复。测试程序会使用poll来探测服务端发来的消息,这里在探测时返回了异常,说明服务端通讯出现了异常。

10、训练营的提示信息是什么意思?


训练营测试时,会向服务端发起SQL 请求,同时期望收到回复。每个SQL都会有期望的正确回复,与实际上收到的选手提测代码的回复。如果两者不一致,就认为case不通过,同时以"- " 前缀表示我们期望收到的正确答案,而 "+ " 表示收到的选手提测答案。

11、SQL DEBUG无法使用

经过测试,SQL DEBUG有BUG,需要同学们拉取patch到自己的代码:

https://github.com/oceanbase/miniob/pull/298

后续提交测试就可以看到了。

直接在Linux上下载patch文件的方法:

wget https://github.com/oceanbase/miniob/pull/298.patch

12、编译执行到一半卡住不动了

看起来是并发编译消耗的资源太多,把build.sh中-j参数删除,重新编译即可。

13、GitHub 二次认证无法选择中国电话号码

https://blog.csdn.net/weixin_44367884/article/details/105273108

vscode和docker进行断点调试问题

oceanbase 开发模式部署失败

客户端只能接受不超过4096字符的输入
在系统上安装readline开发包,然后重新编译。
在ubuntu上,是安装 libreadline-dev ,其它系统需要安装对应的包,即readline的开发包。

55

大赛钉钉官方交流群(群号:35326455)

1 个赞

一年一度数据库大赛

1 个赞

什么意思

这是目前正在进行的数据库大赛大家遇到的常见问题的解答