|
|
|
@ -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,18 +1051,18 @@ 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) |
|
|
|
|
(337, 455),(240, 359) |
|
|
|
|
(759, 187),(662, 163) |
|
|
|
|
(1444, 403),(1346, 344) |
|
|
|
|
(337, 455),(240, 359) |
|
|
|
|
(1594, 1043),(1517, 971) |
|
|
|
|
(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 |
|
|
|
|
-------------------------- |
|
|
|
|
(337, 455),(240, 359) |
|
|
|
|