如何解决选择 * 从完成; PgTab 不适用于从嵌套循环 PostGresSQL 返回值的函数
下面的函数有一个嵌套循环,并试图为 finish()
返回 pgtap
函数的值,如下所示
CREATE or REPLACE FUNCTION public.udf_unit_test_output() RETURNS SetoF text AS
$$
DECLARE
v_expected_occurence int;
v_actual_occurence int;
record_list record;
distinct_unit_test_uuid record;
BEGIN
for distinct_unit_test_uuid in
SELECT disTINCT unit_test_uuid FROM public.unit_test_expected_results
loop
for record_list in select record_id
from public.unit_test_expected_results
WHERE unit_test_uuid = (distinct_unit_test_uuid.unit_test_uuid :: uuid)
loop
SELECT proc_name,log_severity,log_text,occurence
FROM public.unit_test_expected_results
WHERE record_id = record_list.record_id
INTO v_expected_log_severity;
SELECT COUNT(*)
FROM public.unit_test_output uto
WHERE unit_test_uuid = (distinct_unit_test_uuid.unit_test_uuid :: uuid)
INTO v_actual_occurence;
RETURN QUERY SELECT is(v_expected_occurence,v_actual_occurence,'Should match the expected occurrence and actual occurrence');
end loop;
end loop;
RETURN;
END;
$$
LANGUAGE plpgsql;
当我尝试执行以下命令时
BEGIN;
SELECT plan( COUNT(*) :: int) from unit_test_expected_results;
SELECT udf_unit_test_output();
SELECT * FROM finish();
ROLLBACK;
END
输出控件上的完成点为空白
输出控制台有下面的记录
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。