From 6c7ab02e3fd695aac14e3a0d77fc36ce9d88dfc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E6=AC=A3=E6=80=A1?= <13695798+xue-xinyi610@user.noreply.gitee.com> Date: Tue, 27 Aug 2024 09:16:55 +0000 Subject: [PATCH] =?UTF-8?q?alter=20trigger=E5=92=8C=E8=A1=8C=E5=88=97?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E7=89=B9=E6=80=A7=E6=B5=8B=E8=AF=95=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E4=B8=8A=E4=BC=A0=20=E6=96=B0=E5=A2=9E=20openGauss=20?= =?UTF-8?q?6.0.0=20=E6=94=AF=E6=8C=81alter=20trigger=E6=96=B9=E5=BC=8F?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=A6=81=E7=94=A8=E5=8D=95=E4=B8=AA=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E5=99=A8.md=20=E4=BB=A5=E5=8F=8A=20openGauss=206.0.0?= =?UTF-8?q?=20=E6=94=AF=E6=8C=81select=E6=94=AF=E6=8C=81rotate=5Fnotrotate?= =?UTF-8?q?=E5=AD=90=E5=8F=A5=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A.md=20?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E7=89=B9=E6=80=A7=E6=B5=8B=E8=AF=95=E6=8A=A5?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 薛欣怡 <13695798+xue-xinyi610@user.noreply.gitee.com> --- ...52\350\247\246\345\217\221\345\231\250.md" | 232 +++++++++++++++ ...13\350\257\225\346\212\245\345\221\212.md" | 275 ++++++++++++++++++ 2 files changed, 507 insertions(+) create mode 100644 "Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201alter trigger\346\226\271\345\274\217\345\220\257\347\224\250\347\246\201\347\224\250\345\215\225\344\270\252\350\247\246\345\217\221\345\231\250.md" create mode 100644 "Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201select\346\224\257\346\214\201rotate_notrotate\345\255\220\345\217\245\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201alter trigger\346\226\271\345\274\217\345\220\257\347\224\250\347\246\201\347\224\250\345\215\225\344\270\252\350\247\246\345\217\221\345\231\250.md" "b/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201alter trigger\346\226\271\345\274\217\345\220\257\347\224\250\347\246\201\347\224\250\345\215\225\344\270\252\350\247\246\345\217\221\345\231\250.md" new file mode 100644 index 0000000..d4d87f0 --- /dev/null +++ "b/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201alter trigger\346\226\271\345\274\217\345\220\257\347\224\250\347\246\201\347\224\250\345\215\225\344\270\252\350\247\246\345\217\221\345\231\250.md" @@ -0,0 +1,232 @@ +![avatar](../../images/openGauss.png) + +版权所有 © 2024 openGauss社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问[*https://creativecommons.org/licenses/by-sa/4.0/*](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[*https://creativecommons.org/licenses/by-sa/4.0/legalcode*](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | -------- | -------- | +| 2024-08-13 | 1.0 | 初稿完成 | xuexinyi | + +**Keywords 关键词**:ALTER TRIGGER + +**Abstract 摘要**:本文档主要验证,支持通过alter trigger方式启用禁用单个触发器,验证其在openGauss数据库的使用,本次测试质量整体良好。 + +**缩略语清单: ** + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| | | | + +*** + + +# 1 概述 + +在opengauss数据库中,可通过alter trigger方式启用禁用单个触发器。 + +语法如下: + +--ALTER TRIGGER 方式禁用触发器: + +**ALTER TRIGGER [trigger_name] DISABLE;** + +--ALTER TRIGGER 方式启用触发器: + +**ALTER TRIGGER [trigger_name] ENABLE;** + + + +# 2 测试版本说明 + +## 2.1 测试版本信息 + +### 2.1.1 被测版本 + +| 版本名称 | 软件包名称 | 测试起始时间 | 测试结束时间 | 测试人员 | +| ------------------------------ | --------------------------------------- | ------------ | ------------ | -------- | +| openGauss 6.0.0 build 2f96703a | openGauss-6.0.0-CentOS-64bit-all.tar.gz | 2024-08-08 | 2024-08-12 | xuexinyi | + +### 2.1.2 配套测试的版本 + +| 版本名称 | 配套版本 | 版本说明 | +| -------- | -------- | -------- | +| NA | | | + +## 2.2 测试环境描述 + +### 2.2.1 环境硬件信息 + +| 环境信息 | 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------------------------------ | ------------------------------------------------------------ | -------- | +| 虚拟机 | CentOS Linux release 7.9.2009 (Core) | CPU:Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz
内存:4GB
硬盘:500GB
OS:CentOS Linux 7 (Core) | 单机部署 | + + + +# 3 版本概要测试结论、关键风险和规避措施 + +## 3.1 测试结论总结 + +alter trigger方式启用禁用单个触发器特性,共计执行31个用例,主要覆盖了功能测试、语法测试、耦合测试、可靠性测试和资料测试,未发现问题,无遗留风险,整体质量良好; + +## 3.2 约束说明 + +(1)仅支持数据库模式为A模式 + +## 3.3 关键风险和规避措施 + +无 + +# 4 版本详细测试结论 + +## 4.1 特性测试结论 + +### 4.1.1 新需求质量评价 + +| 特性 | 特性价值评估 | 应用说明及关键约束假设依赖 | 关键遗留事项如缺陷等 | 测试整体覆盖情况 | 特性质量评估 | 主要风险 | +| ---------------------------------------------------------- | ------------------------------------------------------------ | -------------------------- | -------------------- | -------------------------------------------------- | -------------------------- | -------- | +| openGauss 6.0.0版本支持alter trigger方式启用禁用单个触发器 | openGauss的trigger名是表级唯一,所以禁用trigger需要基于表。而A的trigger名是全局唯一,不依赖表名,做下兼容。 | 详见章节3.2 | 无 | 功能测试、语法测试、耦合测试、可靠性测试和资料测试 | | 无 | + +## 4.2 产品质量属性目标(DFX)测试结论 + +### 4.2.1 性能测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.2 可靠性测试结论 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------- | +| 1.启用/禁用触发器后,数据库异常停用,修复数据库后插入数据的表现 | 执行10条用例,执行均符合预期,测试通过 | +| 2.跨会话执行,session1启动/禁用触发器,session2插入数据,观察触发器正常触发/未触发 | 执行4条用例,执行均符合预期,测试通过 | +| 3.启动触发器后,同时并发插入多个数据,观察无异常报错,触发器正常触发 | 执行1条用例,执行均符合预期,测试通过 | + +### 4.2.3 安全&隐私保护测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.4 可服务性测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.5 生命周期管理测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.6 韧性测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.7 兼容性测试结论 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------- | +| 1.分别在兼容B、C、PG库下执行测试用例场景,执行正常报错,不影响数据库正常使用, | 执行30条用例,执行均符合预期,测试通过 | + +### 4.2.8 升级测试结论 + +| 测试步骤 | 升级路径 | 测试结果 | +| -------- | -------- | -------- | +| NA | | | + +## 4.3 资料测试结论 + +| 序号 | 测试章节 | 测试结论 | +| ---- | ------------------------------------------------ | ------------------------ | +| 1 | SQL参考>SQL语言结构和语法>SQL语法>ALTER TRIGGER | 整体质量良好,未发现问题 | +| 2 | SQL参考>SQL语言结构和语法>SQL语法>CREATE TRIGGER | 整体质量良好,未发现问题 | + +# 5 测试对象质量评估 + +## 5.1 覆盖率分析 + +本次测试主要覆通过alter trigger的方式的启停功能验证、异常场景下的合理报错、以及不影响原有功能交互。 + +## 5.2 缺陷统计和分析 + +### 5.2.1 缺陷统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 0 | 0 | 0 | 0 | 0 | +| 百分比 | 100% | 0% | 0% | 0% | 0% | + +### 5.2.2 缺陷列表 + +| 问题单号 | 问题描述 | 问题级别 | 当前状态 | +| -------- | -------- | -------- | -------- | +| NA | | | | + +# 6 测试过程评估 + +## 6.1 测试策略回顾 + +| 编号 | 特性 | 验证策略 | 是否按照测试策略执行 | +| ---- | ---------------------- | ------------------------------------------------------------ | -------------------- | +| 1 | 基本功能验证 | 验证功能是否正常; | YES | +| 2 | 兼容性验证 | 分别在A/B/C/PG库中执行触发器启停相关命令; | YES | +| 3 | 原有功能交互 | 1.创建触发器:create trigger(增删改查触发器)
2.修改触发器:alter trigeer (rename);
3.原有针对表启停触发器命令:ALTER TABLE [table_name] DISABLE TRIGGER [trigger_name \| all];
4.删除触发器:drop trigger;
5.系统表校验pg_trigger相关内容检查; | YES | +| 4 | 可靠性场景校验 | 1.触发器启用/停用指定错误名称;
2.触发器启用/停用后数据库异常,修复后执行插入,依旧对应生效;
3.跨会话验证,一个session启用/停用触发器,另一个session执行插入; | YES | +| 5 | 并发场景验证 | 同时插入多个语句,检查触发器触发情况; | YES | +| 6 | 一条语句触发多个触发器 | 1.启用单个触发器;
2.禁用单个触发器;
3.启用全部触发器后禁用其中一个或多个;
4.停用全部触发器后启用其中一个或多个; | YES | +| 7 | 资料验证 | 资料描述准确无误; | YES | + +## 6.2 测试设计评估 + +| 编号 | 测试点修改说明 | 修改原因 | 是否影响测试质量 | +| ---- | -------------- | -------- | ---------------- | +| NA | | | | + +## 6.3 测试执行评估 + +### 6.3.1 测试执行统计数据 + +| 版本名称 | 工作量投入(人天) | 测试用例数 | 用例执行数 | 发现缺陷数 | 缺陷密度 | +| ------------------- | ---------------- | ---------- | ---------- | ---------- | ---------------------------------------- | +| openGauss 6.0.0 B24 | 7 | 31 | 31 | 0 | 0(缺陷个数)/194 loc(代码行数)=0(个/kloc) | + +### 6.3.2 测试用例执行结果统计数据 + +| 总测试用例数 | 实际测试的用例数 | Passed | Failed | Blocked | Unavailable | 执行率 | 执行通过率 | +| ------------ | ---------------- | ------ | ------ | ------- | ----------- | ------ | ---------- | +| 31 | 31 | 31 | 0 | 0 | 0 | 100% | 100% | + +| 异常用例情况 | 影响分析 | 规避措施 | 后续计划 | +| ------------ | -------- | -------- | -------- | +| NA | | | | + +# 7 附件 + +## 7.1 附件1:遗留问题列表 + +| 序号 | 问题单号 | 问题描述 | 分类 | 问题级别 | 问题分析与影响 | 规避措施 | +| ---- | -------- | -------- | ---- | -------- | -------------- | -------- | +| NA | | | | | | | + +## 7.2 附件2:特性相关PR + +源代码及文档PR + +- 需求 + https://e.gitee.com/opengaussorg/dashboard?issue=I9FZFN + +- 源码 + https://e.gitee.com/opengaussorg/repos/opengauss/openGauss-server/pulls/5200 + +- 文档 + https://gitee.com/opengauss/docs/pulls/6505/files + +- 测试设计 + + https://devcloud.cn-east-3.huaweicloud.com/testmind/project/03669bfd256c444bbfda6d7fb8b83bb2/testmind/mindmap?mindId=e4412a2b1d0144e9b66b35c3582df9a9&hideDevcloudHead=true diff --git "a/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201select\346\224\257\346\214\201rotate_notrotate\345\255\220\345\217\245\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201select\346\224\257\346\214\201rotate_notrotate\345\255\220\345\217\245\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000..fb80503 --- /dev/null +++ "b/Test_Result/openGauss_6.0.0_release/\345\205\274\345\256\271\346\200\247/openGauss 6.0.0 \346\224\257\346\214\201select\346\224\257\346\214\201rotate_notrotate\345\255\220\345\217\245\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,275 @@ +![avatar](../../images/openGauss.png) + +版权所有 © 2024 openGauss社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问[*https://creativecommons.org/licenses/by-sa/4.0/*](https://creativecommons.org/licenses/by-sa/4.0/) 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:[*https://creativecommons.org/licenses/by-sa/4.0/legalcode*](https://creativecommons.org/licenses/by-sa/4.0/legalcode)。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | -------- | -------- | +| 2024-08-06 | 1.0 | 初稿完成 | xuexinyi | + +**Keywords 关键词**:ROTATE, NOT ROTATE + +**Abstract 摘要**:本文档主要验证新增功能select支持rotate/not rotate子句,验证其在openGauss数据库的使用,本次测试质量整体良好。 + +**缩略语清单: ** + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| | | | + +*** + + +# 1 概述 + +在opengauss数据库中,select支持rotate/not rotate子句,对查询到的结果进行行转列/列转行的操作。 + +语法如下: + +**ROTATE(行转列):** + +SELECT select_expr_list +FROM table_reference [,table_reference...] +table_reference::= rotate_clause +rotate_clause::= +ROTATE +( aggregate_function ( expr ) [[AS] alias ] +[, aggregate_function ( expr ) [[AS] alias ] ]... +rotate_for_clause +rotate_in_clause +) +rotate_for_clause::= +FOR { column | ( column [, column]... ) } +rotate_in_clause::= +IN ( { { expr | ( expr [, expr]... ) } [ [ AS] alias] } +[, { { expr | ( expr [, expr]... ) } [ [ AS] alias] }]... +) + +**NOT ROTATE(列转行):** + +SELECT select_expr_list +FROM table_reference [,table_reference...] +table_reference::= unrotate_clause +unrotate_clause::= +NOT ROTATE [ {INCLUDE | EXCLUDE } NULLS ] +( { column | ( column [, column]... ) } +rotate_for_clause +unrotate_in_clause +) +unrotate_in_clause::= +IN +( { column | ( column [, column]... ) } +[ AS { constant | ( constant [, constant]... ) } ] +[, { column | ( column [, column]... ) } +[ AS { constant | ( constant [, constant]... ) } ]]... +) + +# 2 测试版本说明 + +## 2.1 测试版本信息 + +### 2.1.1 被测版本 + +| 版本名称 | 软件包名称 | 测试起始时间 | 测试结束时间 | 测试人员 | +| ------------------------------ | --------------------------------------- | ------------ | ------------ | -------- | +| openGauss 6.0.0 build 2f96703a | openGauss-6.0.0-CentOS-64bit-all.tar.gz | 2024-07-31 | 2024-08-05 | xuexinyi | +| openGauss 6.0.0 build a04eaf40 | openGauss-6.0.0-CentOS-64bit-all.tar.gz | 2024-08-15 | 2024-08-15 | xuexinyi | + +### 2.1.2 配套测试的版本 + +| 版本名称 | 配套版本 | 版本说明 | +| -------- | -------- | -------- | +| NA | | | + +## 2.2 测试环境描述 + +### 2.2.1 环境硬件信息 + +| 环境信息 | 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------------------------------ | ------------------------------------------------------------ | -------- | +| 虚拟机 | CentOS Linux release 7.9.2009 (Core) | CPU:Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz
内存:4GB
硬盘:500GB
OS:CentOS Linux 7 (Core) | 单机部署 | + + + +# 3 版本概要测试结论、关键风险和规避措施 + +## 3.1 测试结论总结 + +select支持rotate/not rotate子句特性,共计执行26个用例,主要覆盖了功能测试、性能测试和资料测试,发现1个问题,遗留风险0个,整体质量良好; + +## 3.2 约束说明 + +(1)仅支持数据库模式为A模式 + +和A差异加上 + +## 3.3 关键风险和规避措施 + +无 + +# 4 版本详细测试结论 + +## 4.1 特性测试结论 + +### 4.1.1 新需求质量评价 + +| 特性 | 特性价值评估 | 应用说明及关键约束假设依赖 | 关键遗留事项如缺陷等 | 测试整体覆盖情况 | 特性质量评估 | 主要风险 | +| -------------------------------------------- | ------------------------------------------------------------ | -------------------------- | -------------------- | ------------------------------------------------ | -------------------------- | -------- | +| openGauss 6.0.0版本支持ROTATE/NOT ROTATE子句 | 在opengauss数据库中支持ROTATE/NOT ROTATE子句,实现对数据的行列转换能力,便于对数据进行重新组织以及分析优化。 | 详见章节3.2 | 无 | 主要覆盖功能测试、性能测试、兼容性测试和资料测试 | | 无 | + +## 4.2 产品质量属性目标(DFX)测试结论 + +### 4.2.1 性能测试结论 + +| 测试步骤 | 测试结果 | +| ----------------------------------------- | ------------------------------------------------------------ | +| (1)数据量极大场景下,行列转换性能统计; | 普通表中插入100w行数据,执行行转列/列转行操作,耗时都在9-10s,性能基本符合预期,具体性能数据见下表内容说明。 | + +性能测试数据:(下表是openaguss库与A库中相同功能耗时对比) + +| 表数据量(行) | ROTATE行转列查询耗时(opengauss库) | NOT ROTATE列转行查询耗时(opengauss库) | PIVOT列转行查询耗时(A库) | UNPIVOT列转行查询耗时(A库) | +| -------------- | ----------------------------------- | --------------------------------------- | -------------------------- | ---------------------------- | +| 1w | 86.622 ms | 63.275 ms | 72.314 ms | 68.945 ms | +| 1w | 79.066 ms | 85.371 ms | 78.491 ms | 73.254 ms | +| 10w | 298.302 ms | 322.173 ms | 284.652 ms | 292.430 ms | +| 10w | 396.056 ms | 366.585 ms | 315.873 ms | 308.564 ms | +| 100w | 9853.012 ms | 9821.347 ms | 10145.612 ms | 9988.235 ms | +| 100w | 9036.205 ms | 9375.682 ms | 9684.437 ms | 9402.489 ms | + +### 4.2.2 可靠性测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.3 安全&隐私保护测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.4 可服务性测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.5 生命周期管理测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.6 韧性测试结论 + +| 测试步骤 | 测试结果 | +| -------- | -------- | +| NA | | + +### 4.2.7 兼容性测试结论 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------- | +| 1.分别在兼容B、C、PG库下执行测试用例场景,执行正常报错,不影响数据库正常使用, | 执行26条用例,执行均符合预期,测试通过 | + +### 4.2.8 升级测试结论 + +| 测试步骤 | 升级路径 | 测试结果 | +| -------- | -------- | -------- | +| NA | | | + +## 4.3 资料测试结论 + +| 序号 | 测试章节 | 测试结论 | +| ---- | ---------------------------------------- | ------------------------ | +| 1 | SQL参考>SQL语言结构和语法>SQL语法>SELECT | 整体质量良好,未发现问题 | + +# 5 测试对象质量评估 + +## 5.1 覆盖率分析 + +本次测试主要覆盖各种sql场景下,使用rotate/not rotate子句的方式进行行转列、列转行功能验证、异常场景下的合理报错、复杂场景的正常使用。 + +## 5.2 缺陷统计和分析 + +### 5.2.1 缺陷统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 1 | 0 | 0 | 1 | 0 | +| 百分比 | 100% | 0% | 0% | 100% | 0% | + +### 5.2.2 缺陷列表 + +| 问题单号 | 问题描述 | 问题级别 | 当前状态 | +| -------- | ------------------------------------------------------------ | -------- | -------- | +| IAFAYM | 【测试类型:SQL功能】【6.0.0】【行列转换】rotate/not rotate函数不支持with子句,not rotate不支持存储过程中使用自定义变量https://gitee.com/opengauss/openGauss-server/issues/IAFAYM | 主要 | 已完成 | + +# 6 测试过程评估 + +## 6.1 测试策略回顾 + +| 编号 | 特性 | 验证策略 | 是否按照测试策略执行 | +| ---- | ---------------------- | ------------------------------------------------------------ | -------------------- | +| 1 | 基本功能验证 | 验证功能是否正常; | YES | +| 2 | 兼容性验证 | 分别在A/B/C/PG库中执行行列转换语句; | YES | +| 3 | 各种数据类型验证 | 验证各种数据类型下执行行列转换;(表类型包含普通表、临时表、分区表、ustore表等;数据类型包含空值、特殊字符、中文等) | YES | +| 4 | 多列转换 | 验证进行多列执行行列转换; | YES | +| 5 | 聚合函数验证 | 执行行列转换时带聚合函数; | YES | +| 6 | 查询结果生成表/视图 | 使用行列转换后的结果生成新表/新视图; | YES | +| 7 | 其他查询中使用行列转换 | 子查询、并行查询中使用行列转换; | YES | +| 8 | 缺省验证 | 验证缺省(如in语句中不带as别名等依旧可转换,其他参数不可缺); | YES | +| 9 | 性能验证 | 数据量极大场景下,行列转换性能统计; | YES | +| 10 | 资料验证 | 资料描述准确无误 | YES | + +## 6.2 测试设计评估 + +| 编号 | 测试点修改说明 | 修改原因 | 是否影响测试质量 | +| ---- | -------------- | -------- | ---------------- | +| NA | | | | + +## 6.3 测试执行评估 + +### 6.3.1 测试执行统计数据 + +| 版本名称 | 工作量投入(人天) | 测试用例数 | 用例执行数 | 发现缺陷数 | 缺陷密度 | +| ------------------- | ---------------- | ---------- | ---------- | ---------- | ----------------------------------------- | +| openGauss 6.0.0 B24 | 7 | 26 | 26 | 1 | 1(缺陷个数)/1817 loc(代码行数)=1(个/kloc) | + +### 6.3.2 测试用例执行结果统计数据 + +| 总测试用例数 | 实际测试的用例数 | Passed | Failed | Blocked | Unavailable | 执行率 | 执行通过率 | +| ------------ | ---------------- | ------ | ------ | ------- | ----------- | ------ | ---------- | +| 26 | 26 | 26 | 0 | 0 | 0 | 100% | 100% | + +| 异常用例情况 | 影响分析 | 规避措施 | 后续计划 | +| ------------ | -------- | -------- | -------- | +| NA | | | | + +# 7 附件 + +## 7.1 附件1:遗留问题列表 + +| 序号 | 问题单号 | 问题描述 | 分类 | 问题级别 | 问题分析与影响 | 规避措施 | +| ---- | -------- | -------- | ---- | -------- | -------------- | -------- | +| NA | | | | | | | + +## 7.2 附件2:特性相关PR + +源代码及文档PR + +- 需求 + https://e.gitee.com/opengaussorg/dashboard?issue=I8XBQ9 + +- 源码 + https://gitee.com/opengauss/openGauss-server/pulls/4990 + +- 文档 + https://gitee.com/opengauss/docs/pulls/6358/files + +- 测试设计 + + https://devcloud.cn-east-3.huaweicloud.com/testmind/project/03669bfd256c444bbfda6d7fb8b83bb2/testmind/mindmap?mindId=079169bc798940a9ac0a47e179128fa8&hideDevcloudHead=true + -- Gitee