函数无法在QE slice上执行,因为它访问greenplum数据库中的“ public.table_name”关系

如果我从表中选择一些数据并在此选择中执行自定义功能,则会收到此错误。在postgres中,它运作良好。 ?有人可以解释为什么这会在greenplum中发生以及如何解决?

        WITH
        filtered_instances AS (
            SELECT r_instance_id AS instance_id,r_name AS name
            FROM --->get_filtered_instances(p_1,p_2,p_3,p_campaign_4,p_5,p_6,p_7,p_8,p_9)<---
        )

另一个例子

            SELECT csh.id,csh.status              AS status,csh.reason              AS reason,csh.time_stamp           AS time_stamp,FROM customer_state_history csh
                JOIN campaign_versions cv
                    ON cv.id = csh.campaign_ref_id
                JOIN input_statuses istatuses
                    ON istatuses.status = csh.status
                LEFT JOIN campaign_runs cr
                    ON cr.id = csh.run_ref_id
            WHERE NOT --->is_customer_allowed(csh.customer_id,p_campaign_id,cv.version_id,p_run_id)<---
                AND cv.campaign_id = p_campaign_id
                AND CASE WHEN p_run_id IS NOT NULL
                    THEN cr.id = p_run_id
                        AND CASE WHEN --->is_run_type_test(p_run_id)<---
                            THEN csh.time_stamp BETWEEN --->get_run_start_date(p_run_id)<---
                                AND --->get_run_end_date(p_run_id)<---
                            ELSE csh.time_stamp BETWEEN d_start_date AND end_date
                            END
                    ELSE (cr.type IS NULL OR cr.type != ALL(test_run_types))
                        AND CASE WHEN array_length(p_campaign_versions,1) IS NOT NULL
                            THEN cv.version_id = ANY(p_campaign_versions)
                            ELSE TRUE
                            END
                        AND csh.time_stamp BETWEEN d_start_date AND end_date
                    END
        ),
wangyin2003 回答:函数无法在QE slice上执行,因为它访问greenplum数据库中的“ public.table_name”关系

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3160610.html

大家都在问