зависящие от других типов
【Заголовок описания】:
【Тип тестирования: функциональность инструмента】【Тестовая версия: 7.0.0-RC1】 gs_dump не экспортирует типы, на которые есть зависимости других типов
【Информация об операционной системе и аппаратном обеспечении】(команда запроса: cat /etc/system-release, uname -a):
【Тестовая среда】:
Одиночная машина
【Тестируемая функция】: gs_dump
gs_dump
【Тип тестирования】:
Функциональность инструмента
【Версия базы данных】(команда запроса: gaussdb -V):
【Предварительные условия】:
Отсутствуют
【Шаги выполнения】(пожалуйста, заполните подробные шаги выполнения):
db1
и в db1
создайте пакет и функцию.drop database if exists db1;
create database db1;
\c db1
create or replace package pkg_for_test as
type r1 is record(id int, col text);
type t1 is table of int;
type a1 is table of varchar2(20) index by varchar2(20);
type v1 is varray(10) of varchar2(20);
var1 r1 := (2023,'vbase');
var2 t1 := t1(3,1,3,4);
var3 a1;
var4 v1 := v1('vbase','opengauss','pg');
end pkg_for_test;
/
create or replace function func_for_test() return void
as
type rec1 is record(attr1 pkg_for_test.r1, attr2 pkg_for_test.t1, attr3 pkg_for_test.a1, attr4 pkg_for_test.v1);
var1 rec1 := ((2025,'for_test'), pkg_for_test.t1(1,2,3,4), NULL, pkg_for_test.v1(4,5,6,7) );
begin
raise info 'func_for_test var1:%',var1;
end;
/
gs_dump db1 -h 127.0.0.1 -p 5432 -W 'xxx' -U uuu -f bck.sql
для экспорта db1
.【Ожидаемый вывод】:
Поскольку func_for_test.rec1
зависит от pkg_for_test.r1
, ожидается, что определение pkg_for_test.r1
также будет экспортировано, как показано ниже:
CREATE TYPE "16524.r1" AS (
id integer,
col text
);
CREATE TYPE "16531.rec1" AS (
attr1 "16524.r1",
attr2 integer[],
attr3 character varying[],
attr4 character varying[]
);
【Фактический вывод】:
Определение 16524.r1
отсутствует, присутствует только определение 16531.rec1
.
【Анализ причины】:
getTypes
-->selectDumpableType
-->IsPackageObject
16524.r1
удовлетворяет условию для непереносимости:【Информация о журналах】(пожалуйста, приложите файлы журналов, скриншоты, coredump информацию):
【Тестовый код】:
Вход Перед тем как оставить комментарий