blob: 9c81e9614753251436b418d4d28017fb64f74362 [file] [log] [blame]
---------------------------------------------------------------------------
-- Rules:
-- ------
-- 1) Any DB objects should be created w/o schema prefix,
-- since this file is executed in a separate schema context.
-- 2) There should be no DROP statements in this script, since
-- all objects created in the default schema will be cleaned-up outside.
---------------------------------------------------------------------------
---------------------------------------------------------------------------
-- Setup:
---------------------------------------------------------------------------
CREATE FUNCTION install_test() RETURNS VOID AS $$
declare
result TEXT;
q FLOAT;
begin
-- DROP TABLE IF EXISTS T;
CREATE TABLE T (
val FLOAT
);
INSERT INTO T SELECT i % 100 FROM generate_series(1,1000) i;
SELECT INTO q MADLIB_SCHEMA.quantile('T', 'val', .5);
SELECT INTO result CASE WHEN( q > 45 and q < 55) THEN 'PASS' ELSE 'FAIL' END;
IF result = 'FAIL' THEN
RAISE EXCEPTION 'Quantile install check failed: returned=%, expected=[45;55]', q;
END IF;
SELECT INTO q MADLIB_SCHEMA.quantile_big('T', 'val', .5);
SELECT INTO result CASE WHEN( q > 45 and q < 55) THEN 'PASS' ELSE 'FAIL' END;
DROP TABLE IF EXISTS T;
IF result = 'FAIL' THEN
RAISE EXCEPTION 'Quantile_big install check failed: returned=%, expected=[45;55]', q;
END IF;
RAISE INFO 'Quantile install check passed: returned=%, expected=[45;55]', q;
RETURN;
end $$ language plpgsql;
---------------------------------------------------------------------------
-- Test
---------------------------------------------------------------------------
SELECT install_test();