From a8a9f56bc2587209525264727f4b1567441980aa Mon Sep 17 00:00:00 2001 From: chengjiaqi <2232163160@qq.com> Date: Thu, 11 Aug 2022 06:38:01 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=8A=E6=94=AF?= =?UTF-8?q?=E6=8C=81=20DESCRIBE=20tbl=5Fname=E3=80=81DESC=20tbl=5Fname=20D?= =?UTF-8?q?CL=E8=AF=AD=E6=B3=95=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\350\257\225\346\212\245\345\221\212.md" | 233 ++++++++++++++++++ 1 file changed, 233 insertions(+) create mode 100644 "Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000..1a8368d --- /dev/null +++ "b/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,233 @@ +​ ![avatar](../../images/openGauss.png) + +版权所有 © 2022 openGauss社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC 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。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | -------------------------- | ----------- | +| 2022-06-28 | 1.0 | 特性测试报告初稿完成 | chengjiaqi1 | +| 2022-08-08 | 2.0 | 根据评审意见,修改报告 | chengjiaqi1 | +| 2022-08-09 | 3.0 | 根据二轮评审意见,修改报告 | chengjiaqi1 | + + 关键词: + +dolphin插件,desc/describe语法,兼容B库,MySQL + +摘要: + +本文档主要介绍openGauss在兼容B库情形下安装dolphin插件,实现兼容MySQL中desc/describe语法查询表结构的特性测试报告。 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| 无 | | | + +# 1 特性概述 + +openGauss在兼容B库情形下,安装dolphin插件,可以实现对MySQL中desc/describe命令的兼容,查询表所有字段以及字段对应数据类型,字段键值约束,字段默认值以及字段的额外约束值。其功能及执行结果同MySQL侧基本一致。由于Mysql和openGauss中数据类型以及系统表的不同,部分内容存在差异。 + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| ------------------------------ | ------------ | ------------ | +| MySQL 5.7 | 2022-06-24 | 2022-06-30 | +| openGauss 3.0.0 build c611b010 | 2022-06-24 | 2022-06-27 | +| openGauss 3.0.0 build cd61c5a8 | 2022-06-27 | 2022-06-30 | +| Dolphin 1.0 | 2022-06-24 | 2022-06-30 | + +描述特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| ------------- | ------------------------------------------------------------ | ---- | +| x86+OpenEuler | CPU:Intel(R) Xeon(R) Gold 6266C CPU @ 3.00GHz
内存:16GB
硬盘:320G
OS:openEuler release 20.03 (LTS-SP1) | | + +软件信息 + +| 软件名称 | 软件版本 | +| --------- | --------------- | +| openGauss | openGauss 3.0.0 | + + + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +​ openGauss兼容MySQL desc/describe语法共计执行用例45条,主要覆盖功能测试,资料测试。功能测试覆盖不同的数据表类型、表字段不同数据类型、表字段不同键约束类型、desc/describe指定schema时的正反向语法、建表时指定字段的不同默认值,建表时字段的额外约束值以及不支持语法explain和非兼容B库的验证来进行分析不同表结构并校验输出结果,与MySQL执行结果进行比对。发现问题均已提单,回归验收已通过。 + +| 测试活动 | 活动评价 | +| -------- | ----------------------------------------------------- | +| 功能测试 | 编译库、编译插件,执行结果符合预期,通过 | +| 功能测试 | om安装库、安装插件,执行结果符合预期,通过 | +| 功能测试 | 针对不同数据表类型进行输出结果测试,通过 | +| 功能测试 | 针对表字段不同数据类型进行输出结果测试,通过 | +| 功能测试 | 针对表字段的不同类型键值约束进行输出结果测试,通过 | +| 功能测试 | desc/describe指定schema时的语法进行输出结果测试,通过 | +| 功能测试 | 针对建表时指定字段的不同默认值进行输出结果测试,通过 | +| 功能测试 | 针对建表时字段的额外约束值进行输出结果测试,通过 | +| 功能测试 | 不支持语法explain和非兼容B库的验证,通过 | +| 资料测试 | 资料叙述准确无误,示例正确,通过 | + +## 3.2 约束说明 + +1. openGauss需使用兼容B库 +2. 安装插件dolphin +3. Mysql版本使用5.7 +4. desc/describe语法不支持查询表同义词 +5. mysql与openGauss的兼容性语法说明详见[openGauss-tools-sql-translator](https://gitee.com/opengauss/openGauss-tools-sql-translator) + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题影响以及规避措施 + +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | +| -------- | -------- | -------- | ------------------ | -------- | +| NA | | | | | + +### 3.3.2 问题统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 3 | 0 | 1 | 0 | 2 | +| 百分比 | 100% | 0 | 50% | 0 | 50% | + +### 3.3.3 问题单汇总 + +| 序号 | issue号 | 问题级别 | 问题简述 | 问题状态 | +| ---- | ---------------------------------------------------------- | -------- | --------------------------------------- | -------- | +| 1 | [I5ECBL](https://gitee.com/opengauss/Plugin/issues/I5ECBL) | 主要 | 表字段有多个键约束时,desc分析表结构报错 | 已验收 | +| 2 | [I5EB0S](https://gitee.com/opengauss/Plugin/issues/I5EB0S) | 不重要 | desc查询表同义词返回表结构为空 | 已取消 | +| 3 | [I5E10O]() | 不重要 | 编译数据库中desc查询临时表结构报错 | 已取消 | + + + +# 4 测试执行 + +## 4.1 功能测试 + +### 4.1.1 编译库及插件执行测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| 1. 编译安装openGauss数据库
2. 编译dolphin插件
3. 创建兼容B库并安装dolphin插件
4. 执行用例 | 编译库及插件成功,共执行45条用例,
共发现3个bug,2条非问题已取消,1条回归验收已通过。缺陷密度为1(缺陷个数)/0.894k(代码行数)=1.2(个/kloc) | + +#### 4.1.1.1 不同数据表类型输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对不同类型数据表,执行desc/describe 表名 命令查询表结构 | 执行22条用例,发现2个bug,非问题已取消 | + +#### 4.1.1.2 表字段不同数据类型输出结果测试 + +| 测试步骤: | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同数据类型,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.1.3 表字段的不同类型键值约束输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同类型键值约束,执行desc/describe 表名 命令查询表结构 | 执行10条用例,发现1个bug,已提单,回归验收已通过。 | + +#### 4.1.1.4 desc/describe指定schema的正反语法输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 分别执行 desc/describe schema.表名 命令与 desc/describe schema 表名 命令查询表结构 | 执行4条用例,执行结果符合预期 | + +#### 4.1.1.5 建表时指定字段的不同默认值输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段不同默认值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.1.6 建表时字段的额外约束值输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段额外约束值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.1.7 不支持语法explain和非兼容B库的验证 + +| 测试步骤: | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 反向验证,explain命令查询表结构以及非兼容B库中执行desc/describe命令查询表结构 | 执行3条用例,执行结果符合预期 | + +### 4.1.2 om安装库及插件执行测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| 1. om安装openGauss数据库
2. 拷贝dolphin插件文件到对应目录下
3. 创建兼容B库
4. 执行用例 | 安装库及插件成功,共执行45条用例,
执行结果同编译安装库及编译插件环境下执行结果相同 | + +#### 4.1.2.1 不同数据表类型输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对不同类型数据表,执行desc/describe 表名 命令查询表结构 | 执行22条用例,发现2个bug,非问题已取消 | + +#### 4.1.2.2 表字段不同数据类型输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同数据类型,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.2.3 表字段的不同类型键值约束输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------------------------------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同类型键值约束,执行desc/describe 表名 命令查询表结构 | 执行10条用例,发现1个bug,已提单,回归验收已通过。 | + +#### 4.1.2.4 desc/describe指定schema的正反语法输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 分别执行 desc/describe schema.表名 命令与 desc/describe schema 表名 命令查询表结构 | 执行4条用例,执行结果符合预期 | + +#### 4.1.2.5 建表时指定字段的不同默认值输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段不同默认值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.2.6 建表时字段的额外约束值输出结果测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段额外约束值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | + +#### 4.1.2.7 不支持语法explain和非兼容B库的验证 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | -------- | +| 1. 在兼容B库并安装dolphin插件的环境
2. 反向验证,explain命令查询表结构以及非兼容B库中执行desc/describe命令查询表结构 | | + +### 4.1.3 资料测试 + +| 测试步骤 | 测试结果 | +| -------------------------- | -------- | +| 资料叙述准确无误,示例正确 | 通过 | + +## 4.2 测试执行统计数据 + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| ------------------------------ | ---------- | ------------------------- | ------------ | +| openGauss 3.0.0 build c611b010 | 45 | Passed:39
Failed:6 | 3 | +| openGauss 3.0.0 build cd61c5a8 | 45 | Passed:45
Failed:0 | 0 | + +数据说明 + +1. openGauss 3.0.0 build c611b010版本测试过程中共发现3个bug,其中1个主要,2个不重要已取消,在openGauss 3.0.0 build cd61c5a8版本回归通过。缺陷密度为1(缺陷个数)/0.894k(代码行数)=1.2(个/kloc) + +## 4.3 后续测试建议 + +1. 1条用例中涉及OpenGauss中对表同义词的适配,经过与开发沟通,认为可作为后续优化项,不作为bug,后续测试时可考虑此项。 +2. 后续测试在测试设计评审时应仔细与开发确认具体的约束,执行测试用例执行时严格注意相关版本以及操作步骤,尽量避免出现非问题的bug。 + +# 5 附件 + +无 -- Gitee From 88854f8e24342f9641163cfe209e3a9ff4d5b19d Mon Sep 17 00:00:00 2001 From: chengjiaqi <2232163160@qq.com> Date: Wed, 24 Aug 2022 09:22:51 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E3=80=8AopenGauss?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=9C=A8=E7=BA=BFreindex=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chengjiaqi <2232163160@qq.com> --- ...13\350\257\225\346\212\245\345\221\212.md" | 172 ++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 "Test_Result/openGauss_3.1.0/openGauss\346\224\257\346\214\201\345\234\250\347\272\277reindex\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/Test_Result/openGauss_3.1.0/openGauss\346\224\257\346\214\201\345\234\250\347\272\277reindex\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openGauss_3.1.0/openGauss\346\224\257\346\214\201\345\234\250\347\272\277reindex\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000..b5ebb13 --- /dev/null +++ "b/Test_Result/openGauss_3.1.0/openGauss\346\224\257\346\214\201\345\234\250\347\272\277reindex\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,172 @@ + ![avatar](../../images/openGauss.png) + +版权所有 © 2022 openGauss社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC 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。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---------- | ----------- | -------------------- | ----------- | +| 2022-08-18 | 1.0 | 特性测试报告初稿完成 | chengjiaqi1 | + + 关键词: + +openGauss支持在线reindex索引 + +摘要: + +本文档主要介绍openGauss支持在线reindex索引的特性测试报告。 + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| 无 | | | + +# 1 特性概述 + +openGauss支持在线reindex重建索引,支持对索引,数据表以及数据库在线重建索引,重建过程中不阻塞业务。具体支持重建索引的索引类型可为普通索引,不可用索引,非法索引,local分区索引,臃肿索引等,支持重建索引的表类型可为行存表,分区表,segment表,根据执行结果返回的信息判断是否重建成功。 + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| ------------------------------ | ------------ | ------------ | +| openGauss 3.0.0 build 3d018a7e | 2022-08-15 | 2022-08-18 | +| openGauss 3.0.0 build 2c221dae | 2022-08-18 | 2022-08-24 | + +描述特性测试的环境信息 + +| 环境信息 | 配置信息 | 备注 | +| -------- | ------------------------------------------------------------ | ---- | +| 虚拟机 | CPU:Intel(R) Xeon(R) Gold 6266C CPU @ 3.00GHz
内存:16GB
硬盘:320G
OS:openEuler release 20.03 (LTS-SP1) | | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +openGauss支持在线reindex重建索引语法共计执行用例71条,主要覆盖功能测试,可靠性测试,资料测试。功能测试主要覆盖针对不同类型的数据表重建索引、针对不同类型的索引重建索引、针对数据库重建索引,事务中执行在线reindex以及在线/非在线reindex是否阻塞业务几个方面进行验证。可靠性测试主要验证发生死锁的几种场景与发生死锁后索引是否重建成功进行测试。资料测试主要确保描述合理,约束点覆盖全面以及示例正确。累计发现缺陷单2个,回归通过,无遗留风险。 + +| 测试活动 | 活动评价 | +| ---------- | ------------------------------------------------------------ | +| 功能测试 | 针对不同类型的数据表进行重建索引进行测试,通过 | +| 功能测试 | 针对不同类型的索引进行重建索引进行测试,通过 | +| 功能测试 | 针对数据库进行重建索引进行测试,通过 | +| 功能测试 | 针对在线/非在线reindex是否阻塞业务进行测试,通过 | +| 功能测试 | 针对事务中执行在线reindex进行测试,通过 | +| 可靠性测试 | 针对验证发生死锁的几种场景与发生死锁后索引能否重建成功进行验证测试,通过 | +| 资料测试 | 资料叙述准确无误,示例正确,通过 | + +## 3.2 约束说明 + +1. openGauss支持在线reindex重建索引不支持重建系统表,列存表,临时表,ustore表与全局分区索引。 + +2. openGauss支持在线reindex重建索引不支持在事务中执行。 + +3. 不可用索引和非法索引只能以重建索引的方式进行重建,通过重建表/数据库无法重建。 + +4. reindex system concurrently 不会做任何操作,因为不支持在线重建系统表索引。 + +5. 以下几种场景会引发死锁: + + ​ 5.1 两个会话对同一个表重建concurrently 索引,会引起死锁问题; + + ​ 5.2 两个会话,一个对表重建concurrently 索引,一个drop table,会引起死锁问题; + + ​ 5.3 将事务隔离级别设置成可重复读(默认为读已提交),起两个会话,会话1起事务对表a执行写入操作,不提交,会话2对表b重 建concurrently 索 引, 在会话1事务未提交之前,会话2会一直被阻塞; + + ​ 5.4 三个会话,会话1先起事务对表a加锁,不提交,会话2接着对表a执行写入操作,会话3接着对表b重建concurrently 索引,在会话1事务未提交之前,会 话3会一直被阻塞。 + + 产生死锁后,原本索引可重建成功,但有可能会生成一个失效索引,需用户手动删除。 + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题影响以及规避措施 + +| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | +| -------- | -------- | -------- | ------------------ | -------- | +| NA | | | | | + +### 3.3.2 问题统计 + +| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | +| ------ | -------- | ---- | ---- | ---- | ------ | +| 数目 | 2 | 0 | 1 | 1 | 0 | +| 百分比 | 100% | 0 | 50% | 50% | 0 | + +### 3.3.3 问题单汇总 + +| 序号 | issue号 | 问题级别 | 问题简述 | 问题状态 | +| ---- | ------------------------------------------------------------ | -------- | ----------------------------------- | -------- | +| 1 | [I5MWVX](https://gitee.com/opengauss/openGauss-server/issues/I5MWVX) | 主要 | 在线reindex无法重建不可用分区表索引 | 已验收 | +| 2 | [I5MWS5](https://gitee.com/opengauss/docs/issues/I5MWS5) | 次要 | REINEX资料对产生死锁场景描述不合理 | 已验收 | + + + +# 4 测试执行 + +## 4.1 功能测试 + +#### 4.1.1 针对不同类型的数据表进行重建索引测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ------------------------------ | +| 1.创建数据表并插入数据
2.为表创建索引
3.执行reindex table concurrently 表名 对表重建索引,
根据返回结果判断是否重建成功 | 执行19条用例,执行结果符合预期 | + +#### 4.1.2 针对不同类型的索引进行重建索引测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ------------------------------------------ | +| 1.创建数据表并插入数据
2.为表创建索引
3.执行reindex index concurrently 索引名 重建索引,根据返回结果判断是否重建成功 | 执行15条用例,发现1个bug,回归验收已通过。 | + +#### 4.1.3 针对数据库进行重建索引进行测试 + +| 测试步骤: | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1.新建数据库
2.新建数据库中创建不同类型数据表/索引
3.执行reindex database concurrently 数据库名
对数据库重建索引,根据返回结果判断是否重建成功 | 执行7条用例,执行结果符合预期 | + +#### 4.1.4 针对在线/非在线reindex是否阻塞业务进行测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ------------------------------ | +| 1.创建数据表并插入数据
2.为表创建索引
3.执行在线/非在线reindex命令,根据返回结果判断是否重建成功 | 执行16条用例,执行结果符合预期 | + +#### 4.1.5 针对事务中执行在线reindex进行测试 + +| 测试步骤 | 测试结果 | +| ------------------------------------------------------------ | ----------------------------- | +| 1.开启事务
2.执行在线reindex命令,根据返回结果判断是否重建成功 | 执行6条用例,执行结果符合预期 | + +### 4.2 可靠性测试 + +#### 4.2.1 针对验证发生死锁的几种场景与发生死锁后索引能否重建成功进行验证测试 + +| 测试步骤: | 测试结果 | +| ---------------------------------------------------------- | ----------------------------- | +| 1.分别验证发生死锁的几种场景,根据返回结果判断是否重建成功 | 执行8条用例,执行结果符合预期 | + +### 4.3 资料测试 + +| 测试步骤 | 测试结果 | +| -------------------------- | ---------------------------- | +| 资料描述准确无误,示例正确 | 发现1个bug,回归验收已通过。 | + +### 4.4 测试执行统计数据 + +| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| ------------------------------ | ---------- | ------------------------- | ------------ | +| openGauss 3.0.0 build 3d018a7e | 71 | Passed:69
Failed:2 | 2 | +| openGauss 3.0.0 build 2c221dae | 71 | Passed:71
Failed:0 | 0 | + +数据说明 + +1. openGauss 3.0.0 build 3d018a7e版本测试过程中共发现2个bug,其中1个主要,1个次要,在openGauss 3.0.0 build 2c221dae版本回归通过。缺陷密度为2(缺陷个数)/3.982k(代码行数)=0.5(个/kloc)。 + +### 4.5 后续测试建议 + +无 + +## 5 附件 + +无 -- Gitee From 9ca4d62824c9f5549976cc4c7ace370bd341dfca Mon Sep 17 00:00:00 2001 From: chengjiaqi <2232163160@qq.com> Date: Wed, 24 Aug 2022 09:27:24 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20Test?= =?UTF-8?q?=5FResult/openGauss=5F3.1.0/=E6=94=AF=E6=8C=81=20DESCRIBE=20tbl?= =?UTF-8?q?=5Fname=E3=80=81DESC=20tbl=5Fname=20DCL=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...13\350\257\225\346\212\245\345\221\212.md" | 233 ------------------ 1 file changed, 233 deletions(-) delete mode 100644 "Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" diff --git "a/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" deleted file mode 100644 index 1a8368d..0000000 --- "a/Test_Result/openGauss_3.1.0/\346\224\257\346\214\201 DESCRIBE tbl_name\343\200\201DESC tbl_name DCL\350\257\255\346\263\225\346\265\213\350\257\225\346\212\245\345\221\212.md" +++ /dev/null @@ -1,233 +0,0 @@ -​ ![avatar](../../images/openGauss.png) - -版权所有 © 2022 openGauss社区 - 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC 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。 - -修订记录 - -| 日期 | 修订 版本 | 修改描述 | 作者 | -| ---------- | ----------- | -------------------------- | ----------- | -| 2022-06-28 | 1.0 | 特性测试报告初稿完成 | chengjiaqi1 | -| 2022-08-08 | 2.0 | 根据评审意见,修改报告 | chengjiaqi1 | -| 2022-08-09 | 3.0 | 根据二轮评审意见,修改报告 | chengjiaqi1 | - - 关键词: - -dolphin插件,desc/describe语法,兼容B库,MySQL - -摘要: - -本文档主要介绍openGauss在兼容B库情形下安装dolphin插件,实现兼容MySQL中desc/describe语法查询表结构的特性测试报告。 - -缩略语清单: - -| 缩略语 | 英文全名 | 中文解释 | -| ------ | -------- | -------- | -| 无 | | | - -# 1 特性概述 - -openGauss在兼容B库情形下,安装dolphin插件,可以实现对MySQL中desc/describe命令的兼容,查询表所有字段以及字段对应数据类型,字段键值约束,字段默认值以及字段的额外约束值。其功能及执行结果同MySQL侧基本一致。由于Mysql和openGauss中数据类型以及系统表的不同,部分内容存在差异。 - -# 2 特性测试信息 - -本节描述被测对象的版本信息和测试的时间及测试轮次,包括依赖的硬件。 - -| 版本名称 | 测试起始时间 | 测试结束时间 | -| ------------------------------ | ------------ | ------------ | -| MySQL 5.7 | 2022-06-24 | 2022-06-30 | -| openGauss 3.0.0 build c611b010 | 2022-06-24 | 2022-06-27 | -| openGauss 3.0.0 build cd61c5a8 | 2022-06-27 | 2022-06-30 | -| Dolphin 1.0 | 2022-06-24 | 2022-06-30 | - -描述特性测试的硬件环境信息 - -| 硬件型号 | 硬件配置信息 | 备注 | -| ------------- | ------------------------------------------------------------ | ---- | -| x86+OpenEuler | CPU:Intel(R) Xeon(R) Gold 6266C CPU @ 3.00GHz
内存:16GB
硬盘:320G
OS:openEuler release 20.03 (LTS-SP1) | | - -软件信息 - -| 软件名称 | 软件版本 | -| --------- | --------------- | -| openGauss | openGauss 3.0.0 | - - - -# 3 测试结论概述 - -## 3.1 测试整体结论 - -​ openGauss兼容MySQL desc/describe语法共计执行用例45条,主要覆盖功能测试,资料测试。功能测试覆盖不同的数据表类型、表字段不同数据类型、表字段不同键约束类型、desc/describe指定schema时的正反向语法、建表时指定字段的不同默认值,建表时字段的额外约束值以及不支持语法explain和非兼容B库的验证来进行分析不同表结构并校验输出结果,与MySQL执行结果进行比对。发现问题均已提单,回归验收已通过。 - -| 测试活动 | 活动评价 | -| -------- | ----------------------------------------------------- | -| 功能测试 | 编译库、编译插件,执行结果符合预期,通过 | -| 功能测试 | om安装库、安装插件,执行结果符合预期,通过 | -| 功能测试 | 针对不同数据表类型进行输出结果测试,通过 | -| 功能测试 | 针对表字段不同数据类型进行输出结果测试,通过 | -| 功能测试 | 针对表字段的不同类型键值约束进行输出结果测试,通过 | -| 功能测试 | desc/describe指定schema时的语法进行输出结果测试,通过 | -| 功能测试 | 针对建表时指定字段的不同默认值进行输出结果测试,通过 | -| 功能测试 | 针对建表时字段的额外约束值进行输出结果测试,通过 | -| 功能测试 | 不支持语法explain和非兼容B库的验证,通过 | -| 资料测试 | 资料叙述准确无误,示例正确,通过 | - -## 3.2 约束说明 - -1. openGauss需使用兼容B库 -2. 安装插件dolphin -3. Mysql版本使用5.7 -4. desc/describe语法不支持查询表同义词 -5. mysql与openGauss的兼容性语法说明详见[openGauss-tools-sql-translator](https://gitee.com/opengauss/openGauss-tools-sql-translator) - -## 3.3 遗留问题分析 - -### 3.3.1 遗留问题影响以及规避措施 - -| 问题单号 | 问题描述 | 问题级别 | 问题影响和规避措施 | 当前状态 | -| -------- | -------- | -------- | ------------------ | -------- | -| NA | | | | | - -### 3.3.2 问题统计 - -| | 问题总数 | 严重 | 主要 | 次要 | 不重要 | -| ------ | -------- | ---- | ---- | ---- | ------ | -| 数目 | 3 | 0 | 1 | 0 | 2 | -| 百分比 | 100% | 0 | 50% | 0 | 50% | - -### 3.3.3 问题单汇总 - -| 序号 | issue号 | 问题级别 | 问题简述 | 问题状态 | -| ---- | ---------------------------------------------------------- | -------- | --------------------------------------- | -------- | -| 1 | [I5ECBL](https://gitee.com/opengauss/Plugin/issues/I5ECBL) | 主要 | 表字段有多个键约束时,desc分析表结构报错 | 已验收 | -| 2 | [I5EB0S](https://gitee.com/opengauss/Plugin/issues/I5EB0S) | 不重要 | desc查询表同义词返回表结构为空 | 已取消 | -| 3 | [I5E10O]() | 不重要 | 编译数据库中desc查询临时表结构报错 | 已取消 | - - - -# 4 测试执行 - -## 4.1 功能测试 - -### 4.1.1 编译库及插件执行测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| 1. 编译安装openGauss数据库
2. 编译dolphin插件
3. 创建兼容B库并安装dolphin插件
4. 执行用例 | 编译库及插件成功,共执行45条用例,
共发现3个bug,2条非问题已取消,1条回归验收已通过。缺陷密度为1(缺陷个数)/0.894k(代码行数)=1.2(个/kloc) | - -#### 4.1.1.1 不同数据表类型输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | -------------------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对不同类型数据表,执行desc/describe 表名 命令查询表结构 | 执行22条用例,发现2个bug,非问题已取消 | - -#### 4.1.1.2 表字段不同数据类型输出结果测试 - -| 测试步骤: | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同数据类型,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.1.3 表字段的不同类型键值约束输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | -------------------------------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同类型键值约束,执行desc/describe 表名 命令查询表结构 | 执行10条用例,发现1个bug,已提单,回归验收已通过。 | - -#### 4.1.1.4 desc/describe指定schema的正反语法输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 分别执行 desc/describe schema.表名 命令与 desc/describe schema 表名 命令查询表结构 | 执行4条用例,执行结果符合预期 | - -#### 4.1.1.5 建表时指定字段的不同默认值输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段不同默认值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.1.6 建表时字段的额外约束值输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段额外约束值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.1.7 不支持语法explain和非兼容B库的验证 - -| 测试步骤: | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 反向验证,explain命令查询表结构以及非兼容B库中执行desc/describe命令查询表结构 | 执行3条用例,执行结果符合预期 | - -### 4.1.2 om安装库及插件执行测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| 1. om安装openGauss数据库
2. 拷贝dolphin插件文件到对应目录下
3. 创建兼容B库
4. 执行用例 | 安装库及插件成功,共执行45条用例,
执行结果同编译安装库及编译插件环境下执行结果相同 | - -#### 4.1.2.1 不同数据表类型输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | -------------------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对不同类型数据表,执行desc/describe 表名 命令查询表结构 | 执行22条用例,发现2个bug,非问题已取消 | - -#### 4.1.2.2 表字段不同数据类型输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同数据类型,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.2.3 表字段的不同类型键值约束输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | -------------------------------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对表字段不同类型键值约束,执行desc/describe 表名 命令查询表结构 | 执行10条用例,发现1个bug,已提单,回归验收已通过。 | - -#### 4.1.2.4 desc/describe指定schema的正反语法输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 分别执行 desc/describe schema.表名 命令与 desc/describe schema 表名 命令查询表结构 | 执行4条用例,执行结果符合预期 | - -#### 4.1.2.5 建表时指定字段的不同默认值输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段不同默认值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.2.6 建表时字段的额外约束值输出结果测试 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | ----------------------------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 针对建表时指定字段额外约束值,执行desc/describe 表名 命令查询表结构 | 执行2条用例,执行结果符合预期 | - -#### 4.1.2.7 不支持语法explain和非兼容B库的验证 - -| 测试步骤 | 测试结果 | -| ------------------------------------------------------------ | -------- | -| 1. 在兼容B库并安装dolphin插件的环境
2. 反向验证,explain命令查询表结构以及非兼容B库中执行desc/describe命令查询表结构 | | - -### 4.1.3 资料测试 - -| 测试步骤 | 测试结果 | -| -------------------------- | -------- | -| 资料叙述准确无误,示例正确 | 通过 | - -## 4.2 测试执行统计数据 - -| 版本名称 | 测试用例数 | 用例执行结果 | 发现问题单数 | -| ------------------------------ | ---------- | ------------------------- | ------------ | -| openGauss 3.0.0 build c611b010 | 45 | Passed:39
Failed:6 | 3 | -| openGauss 3.0.0 build cd61c5a8 | 45 | Passed:45
Failed:0 | 0 | - -数据说明 - -1. openGauss 3.0.0 build c611b010版本测试过程中共发现3个bug,其中1个主要,2个不重要已取消,在openGauss 3.0.0 build cd61c5a8版本回归通过。缺陷密度为1(缺陷个数)/0.894k(代码行数)=1.2(个/kloc) - -## 4.3 后续测试建议 - -1. 1条用例中涉及OpenGauss中对表同义词的适配,经过与开发沟通,认为可作为后续优化项,不作为bug,后续测试时可考虑此项。 -2. 后续测试在测试设计评审时应仔细与开发确认具体的约束,执行测试用例执行时严格注意相关版本以及操作步骤,尽量避免出现非问题的bug。 - -# 5 附件 - -无 -- Gitee