【标题描述】:
【测试类型:算子插件化】【测试版本:2.0.0】 创建分区表,调用tidrangescan失败
【操作系统和硬件信息】(查询命令: cat /etc/system-release, uname -a):
openEuler release 20.03 (LTS)
Linux openGauss33 4.19.90-2003.4.0.0036.oe1.aarch64 #1 SMP Mon Mar 23 19:06:43 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
【测试环境】(单机/1主x备x级联备):
单机
【被测功能】:
算子插件化demo:tidrangescan
【测试类型】:
功能测试
【数据库版本】(查询命令: gaussdb –V):
gaussdb (openGauss 2.0.0 build ) compiled at 2021-09-15 09:04:15 commit 0 last mr
【预置条件】:
1.编译安装单机数据库
2.编译安装插件tidrangescan并创建拓展tidrangescan
【操作步骤】(请填写详细的操作步骤):
1.创建分区表,插入数据
--普通行存range分区表
create table t_tidrangescan_0008_03(c_int1 int,c_varchar varchar default 'test') partition by range(c_int1)(partition p1 values less than(100),partition p2 values less than(500),partition p3 values less than(1001));
create table t_tidrangescan_0008_04(c_int1 int,c_varchar varchar default 'test') partition by range(c_int1)(partition p1 values less than(100),partition p2 values less than(maxvalue));
--普通行存hash分区表,列存,临时行存,全局临时行存不支持
create table t_tidrangescan_0008_05(c_int1 int,c_varchar varchar default 'test') partition by hash(c_int1)(partition p1);
--普通行存list分区表,列存,临时行存,全局临时行存不支持
create table t_tidrangescan_0008_06(c_int1 int,c_varchar varchar default 'test') partition by list(c_int1)(partition p1 values(1),partition p2 values(2),partition p3 values(3));
--间隔行存range分区表
create table t_tidrangescan_0008_07(c_date date,c_varchar varchar default 'test') partition by range(c_date) interval ('1 day' )
(partition p1 values less than ('1900-01-01 00:00:00'));
2.调用tidrangescan
show enable_tidrangescan;show enable_seqscan;
set enable_tidrangescan to on;
set enable_seqscan to off;
show enable_tidrangescan;show enable_seqscan;
explain performance select count() from t_tidrangescan_0008_03 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count() from t_tidrangescan_0008_04 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count() from t_tidrangescan_0008_05 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count() from t_tidrangescan_0008_06 where ctid < '(2,0)' and ctid > '(0,0)';
explain performance select count(*) from t_tidrangescan_0008_07 where ctid < '(2,0)' and ctid > '(0,0)';
【预期输出】:
1.建表插入数据成功
2.执行成功,走Tid Range Scan
【实际输出】:
1.建表插入数据成功
2.执行失败:提示【ERROR: could not open file "base/15225/65745": No such file or directory】
【原因分析】:
【日志信息】(请附上日志文件、截图、coredump信息):
postgres=# explain performance select count() from t_tidrangescan_0008_03 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65745": No such file or directory
postgres=# explain performance select count() from t_tidrangescan_0008_04 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65762": No such file or directory
postgres=# explain performance select count() from t_tidrangescan_0008_05 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65775": No such file or directory
postgres=# explain performance select count() from t_tidrangescan_0008_06 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65784": No such file or directory
postgres=# explain performance select count(*) from t_tidrangescan_0008_07 where ctid < '(2,0)' and ctid > '(0,0)';
ERROR: could not open file "base/15225/65801": No such file or directory
【测试代码】:
Hey @wangxiang, Welcome to openGauss Community.
All of the projects in openGauss Community are maintained by @opengauss-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/opengauss/community/blob/master/contributors/command.en.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1、tidrangescan目前属于演示算子插件化的一个demo,不随openGauss一起发布;
2、后续梳理tidrangescan在openGauss上表现和pg的其他差异项,视工作量再决策是否作为需求跟踪。
当前先将issue降级为不重要继续跟踪
更新tidrangescan readme.md、分区表禁用tidrangescan
登录 后才可以发表评论