blob: bc42af0c41c6b2780767a4e32db1fc3156b17612 [file] [log] [blame]
LOAD '@abs_builddir@/query_info_hook_test/query_info_hook_test@DLSUFFIX@';
SET client_min_messages='warning';
SET optimizer=off;
-- Test Normal case
SELECT * FROM generate_series(1, 3);
-- Test Error case: Error out in executor.
CREATE FUNCTION error_in_execution() RETURNS setof int VOLATILE LANGUAGE plpgsql AS $$
BEGIN
RAISE EXCEPTION 'error in function execution';
END;
$$;
SELECT * FROM error_in_execution();
-- Test Error case: Error out in planner.
SELECT * FROM generate_series(1, 3/0);
-- Test query abort
select pg_cancel_backend(pg_backend_pid());
-- Test alter table set distributed by
CREATE TABLE queryInfoHookTable1 (id int, name text) DISTRIBUTED BY(id);
ALTER TABLE queryInfoHookTable1 SET DISTRIBUTED BY (name);
-- Test Hash node
CREATE TABLE tb_a(a int);
SELECT a FROM tb_a WHERE a IN (SELECT max(a) FROM tb_a);
DROP TABLE tb_a;
-- Test SPI
-- start_ignore
CREATE TABLE tb_b(b int);
INSERT INTO tb_b SELECT generate_series(1, 10);
-- end_ignore
CREATE OR REPLACE FUNCTION spi_func() RETURNS setof record
LANGUAGE plpgsql AS $$
DECLARE
obj1 record;
BEGIN
FOR obj1 IN SELECT * FROM tb_b
LOOP
RETURN next obj1;
END LOOP;
RETURN;
END
$$;
SELECT * FROM spi_func() AS (a int) order by 1;
-- Test function
SELECT CASE WHEN information_schema._pg_truetypmod(a.*, b.*) > 0 THEN 0 ELSE 0 END
FROM
(SELECT * FROM pg_catalog.pg_attribute LIMIT 1) a,
(SELECT * FROM pg_catalog.pg_type LIMIT 1) b
;