From 596b858fcbc40256c5ee5c855f1a238ab51ab962 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan <andrew@dunslane.net> Date: Thu, 27 Jul 2006 16:12:36 +0000 Subject: [PATCH] fix most regression tests for new cube code. --- contrib/cube/expected/cube.out | 7 +-- contrib/cube/expected/cube_1.out | 52 +++++++++++++++---- contrib/cube/sql/cube.sql | 2 + .../earthdistance/expected/earthdistance.out | 5 +- contrib/earthdistance/sql/earthdistance.sql | 2 + 5 files changed, 49 insertions(+), 19 deletions(-) diff --git a/contrib/cube/expected/cube.out b/contrib/cube/expected/cube.out index 57dbc56c711..4b20b400bdf 100644 --- a/contrib/cube/expected/cube.out +++ b/contrib/cube/expected/cube.out @@ -5,12 +5,9 @@ -- first, define the datatype. Turn off echoing so that expected file -- does not depend on contents of cube.sql. -- +SET client_min_messages = warning; \set ECHO none -psql:cube.sql:10: NOTICE: type "cube" is not yet defined -DETAIL: Creating a shell type definition. -psql:cube.sql:14: NOTICE: return type cube is only a shell -psql:cube.sql:18: NOTICE: return type cube is only a shell -psql:cube.sql:23: NOTICE: argument type cube is only a shell +RESET client_min_messages; -- -- testing the input and output functions -- diff --git a/contrib/cube/expected/cube_1.out b/contrib/cube/expected/cube_1.out index 0f92f58be22..e935fd281b7 100644 --- a/contrib/cube/expected/cube_1.out +++ b/contrib/cube/expected/cube_1.out @@ -5,10 +5,9 @@ -- first, define the datatype. Turn off echoing so that expected file -- does not depend on contents of cube.sql. -- +SET client_min_messages = warning; \set ECHO none -psql:cube.sql:10: NOTICE: type "cube" is not yet defined -DETAIL: Creating a shell type definition. -psql:cube.sql:15: NOTICE: argument type cube is only a shell +RESET client_min_messages; -- -- testing the input and output functions -- @@ -395,6 +394,37 @@ SELECT '(0)'::text::cube; (0) (1 row) +-- +-- Test the float[] -> cube cast +-- +SELECT cube('{0,1,2}'::float[], '{3,4,5}'::float[]); + cube +--------------------- + (0, 1, 2),(3, 4, 5) +(1 row) + +SELECT cube('{0,1,2}'::float[], '{3}'::float[]); +ERROR: UR and LL arrays must be of same length +SELECT cube(NULL::float[], '{3}'::float[]); + cube +------ + +(1 row) + +SELECT cube('{0,1,2}'::float[]); + cube +----------- + (0, 1, 2) +(1 row) + +SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[3,2,1,1]); + cube_subset +--------------------------- + (5, 3, 1, 1),(8, 7, 6, 6) +(1 row) + +SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[4,0]); +ERROR: Index out of bounds -- -- Testing limit of CUBE_MAX_DIM dimensions check in cube_in. -- @@ -1021,24 +1051,24 @@ SELECT cube_enlarge('(2,-2),(-3,7)'::cube, -3, 2); CREATE TABLE test_cube (c cube); \copy test_cube from 'data/test_cube.data' CREATE INDEX test_cube_ix ON test_cube USING gist (c); -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)'; +SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' ORDER BY c; c -------------------------- - (2424, 160),(2424, 81) - (759, 187),(662, 163) - (1444, 403),(1346, 344) - (337, 455),(240, 359) (1594, 1043),(1517, 971) + (337, 455),(240, 359) + (1444, 403),(1346, 344) + (759, 187),(662, 163) + (2424, 160),(2424, 81) (5 rows) -- Test sorting -SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c; +SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c ORDER BY c; c -------------------------- + (1594, 1043),(1517, 971) (337, 455),(240, 359) - (759, 187),(662, 163) (1444, 403),(1346, 344) - (1594, 1043),(1517, 971) + (759, 187),(662, 163) (2424, 160),(2424, 81) (5 rows) diff --git a/contrib/cube/sql/cube.sql b/contrib/cube/sql/cube.sql index fbfb11ed390..2c0e814d80e 100644 --- a/contrib/cube/sql/cube.sql +++ b/contrib/cube/sql/cube.sql @@ -6,9 +6,11 @@ -- first, define the datatype. Turn off echoing so that expected file -- does not depend on contents of cube.sql. -- +SET client_min_messages = warning; \set ECHO none \i cube.sql \set ECHO all +RESET client_min_messages; -- -- testing the input and output functions diff --git a/contrib/earthdistance/expected/earthdistance.out b/contrib/earthdistance/expected/earthdistance.out index 6857384154b..186f6178837 100644 --- a/contrib/earthdistance/expected/earthdistance.out +++ b/contrib/earthdistance/expected/earthdistance.out @@ -5,10 +5,9 @@ -- first, define the datatype. Turn off echoing so that expected file -- does not depend on contents of earthdistance.sql or cube.sql. -- +SET client_min_messages = warning; \set ECHO none -psql:../cube/cube.sql:10: NOTICE: type "cube" is not yet defined -DETAIL: Creating a shell type definition. -psql:../cube/cube.sql:15: NOTICE: argument type cube is only a shell +RESET client_min_messages; -- -- The radius of the Earth we are using. -- diff --git a/contrib/earthdistance/sql/earthdistance.sql b/contrib/earthdistance/sql/earthdistance.sql index 6ea1ed25933..f36f1a8bdbe 100644 --- a/contrib/earthdistance/sql/earthdistance.sql +++ b/contrib/earthdistance/sql/earthdistance.sql @@ -6,10 +6,12 @@ -- first, define the datatype. Turn off echoing so that expected file -- does not depend on contents of earthdistance.sql or cube.sql. -- +SET client_min_messages = warning; \set ECHO none \i ../cube/cube.sql \i earthdistance.sql \set ECHO all +RESET client_min_messages; -- -- The radius of the Earth we are using. -- GitLab