blob: 5e0d6d878cfa8bf07e06bd3a4ea14bd0f7a99d67 [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 TEXT AS $$
declare
an float[] := '{1,2,3}';
b float[] := '{4,5,7}';
result_num1 float := 0;
result_num2 float := 0;
result_num3 float := 0;
result TEXT;
begin
SELECT INTO result_num1 MADLIB_SCHEMA.array_dot(MADLIB_SCHEMA.array_mult(MADLIB_SCHEMA.array_add(an,b), MADLIB_SCHEMA.array_sub(an,b)),MADLIB_SCHEMA.array_div(an,b));
b[4] = NULL;
SELECT INTO result_num2 (MADLIB_SCHEMA.array_max(b)+MADLIB_SCHEMA.array_min(b)+MADLIB_SCHEMA.array_sum(b)+MADLIB_SCHEMA.array_sum_big(b)+
MADLIB_SCHEMA.array_mean(b)+MADLIB_SCHEMA.array_stddev(b));
SELECT INTO result_num3 MADLIB_SCHEMA.array_sum(MADLIB_SCHEMA.array_scalar_mult(MADLIB_SCHEMA.array_fill(MADLIB_SCHEMA.array_of_float(20), 234.343::FLOAT8),3.7::FLOAT));
result_num1 = result_num1+result_num2+result_num3-17361.6696953194;
SELECT INTO result CASE WHEN((result_num1 < .01)AND(result_num1 > -.01)) THEN 'PASS' ELSE 'FAIL' END;
IF result = 'FAIL' THEN
RAISE EXCEPTION 'Failed install check';
END IF;
RETURN result;
end $$ language plpgsql;
---------------------------------------------------------------------------
-- Test
---------------------------------------------------------------------------
SELECT install_test();