Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
c1d82a93
Commit
c1d82a93
authored
Apr 10, 2011
by
Andrew Dunstan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove CRLF line endings in new cube results file.
parent
1e16a810
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1128 additions
and
1128 deletions
+1128
-1128
contrib/cube/expected/cube_3.out
contrib/cube/expected/cube_3.out
+1128
-1128
No files found.
contrib/cube/expected/cube_3.out
View file @
c1d82a93
--
--
-- Test cube datatype
-- Test cube datatype
--
--
CREATE EXTENSION cube;
CREATE EXTENSION cube;
--
--
-- testing the input and output functions
-- testing the input and output functions
--
--
-- Any number (a one-dimensional point)
-- Any number (a one-dimensional point)
SELECT '1'::cube AS cube;
SELECT '1'::cube AS cube;
cube
cube
------
------
(1)
(1)
(1 row)
(1 row)
SELECT '-1'::cube AS cube;
SELECT '-1'::cube AS cube;
cube
cube
------
------
(-1)
(-1)
(1 row)
(1 row)
SELECT '1.'::cube AS cube;
SELECT '1.'::cube AS cube;
cube
cube
------
------
(1)
(1)
(1 row)
(1 row)
SELECT '-1.'::cube AS cube;
SELECT '-1.'::cube AS cube;
cube
cube
------
------
(-1)
(-1)
(1 row)
(1 row)
SELECT '.1'::cube AS cube;
SELECT '.1'::cube AS cube;
cube
cube
-------
-------
(0.1)
(0.1)
(1 row)
(1 row)
SELECT '-.1'::cube AS cube;
SELECT '-.1'::cube AS cube;
cube
cube
--------
--------
(-0.1)
(-0.1)
(1 row)
(1 row)
SELECT '1.0'::cube AS cube;
SELECT '1.0'::cube AS cube;
cube
cube
------
------
(1)
(1)
(1 row)
(1 row)
SELECT '-1.0'::cube AS cube;
SELECT '-1.0'::cube AS cube;
cube
cube
------
------
(-1)
(-1)
(1 row)
(1 row)
SELECT '1e27'::cube AS cube;
SELECT '1e27'::cube AS cube;
cube
cube
----------
----------
(1e+027)
(1e+027)
(1 row)
(1 row)
SELECT '-1e27'::cube AS cube;
SELECT '-1e27'::cube AS cube;
cube
cube
-----------
-----------
(-1e+027)
(-1e+027)
(1 row)
(1 row)
SELECT '1.0e27'::cube AS cube;
SELECT '1.0e27'::cube AS cube;
cube
cube
----------
----------
(1e+027)
(1e+027)
(1 row)
(1 row)
SELECT '-1.0e27'::cube AS cube;
SELECT '-1.0e27'::cube AS cube;
cube
cube
-----------
-----------
(-1e+027)
(-1e+027)
(1 row)
(1 row)
SELECT '1e+27'::cube AS cube;
SELECT '1e+27'::cube AS cube;
cube
cube
----------
----------
(1e+027)
(1e+027)
(1 row)
(1 row)
SELECT '-1e+27'::cube AS cube;
SELECT '-1e+27'::cube AS cube;
cube
cube
-----------
-----------
(-1e+027)
(-1e+027)
(1 row)
(1 row)
SELECT '1.0e+27'::cube AS cube;
SELECT '1.0e+27'::cube AS cube;
cube
cube
----------
----------
(1e+027)
(1e+027)
(1 row)
(1 row)
SELECT '-1.0e+27'::cube AS cube;
SELECT '-1.0e+27'::cube AS cube;
cube
cube
-----------
-----------
(-1e+027)
(-1e+027)
(1 row)
(1 row)
SELECT '1e-7'::cube AS cube;
SELECT '1e-7'::cube AS cube;
cube
cube
----------
----------
(1e-007)
(1e-007)
(1 row)
(1 row)
SELECT '-1e-7'::cube AS cube;
SELECT '-1e-7'::cube AS cube;
cube
cube
-----------
-----------
(-1e-007)
(-1e-007)
(1 row)
(1 row)
SELECT '1.0e-7'::cube AS cube;
SELECT '1.0e-7'::cube AS cube;
cube
cube
----------
----------
(1e-007)
(1e-007)
(1 row)
(1 row)
SELECT '-1.0e-7'::cube AS cube;
SELECT '-1.0e-7'::cube AS cube;
cube
cube
-----------
-----------
(-1e-007)
(-1e-007)
(1 row)
(1 row)
SELECT '1e-700'::cube AS cube;
SELECT '1e-700'::cube AS cube;
cube
cube
------
------
(0)
(0)
(1 row)
(1 row)
SELECT '-1e-700'::cube AS cube;
SELECT '-1e-700'::cube AS cube;
cube
cube
------
------
(-0)
(-0)
(1 row)
(1 row)
SELECT '1234567890123456'::cube AS cube;
SELECT '1234567890123456'::cube AS cube;
cube
cube
-------------------------
-------------------------
(1.23456789012346e+015)
(1.23456789012346e+015)
(1 row)
(1 row)
SELECT '+1234567890123456'::cube AS cube;
SELECT '+1234567890123456'::cube AS cube;
cube
cube
-------------------------
-------------------------
(1.23456789012346e+015)
(1.23456789012346e+015)
(1 row)
(1 row)
SELECT '-1234567890123456'::cube AS cube;
SELECT '-1234567890123456'::cube AS cube;
cube
cube
--------------------------
--------------------------
(-1.23456789012346e+015)
(-1.23456789012346e+015)
(1 row)
(1 row)
SELECT '.1234567890123456'::cube AS cube;
SELECT '.1234567890123456'::cube AS cube;
cube
cube
---------------------
---------------------
(0.123456789012346)
(0.123456789012346)
(1 row)
(1 row)
SELECT '+.1234567890123456'::cube AS cube;
SELECT '+.1234567890123456'::cube AS cube;
cube
cube
---------------------
---------------------
(0.123456789012346)
(0.123456789012346)
(1 row)
(1 row)
SELECT '-.1234567890123456'::cube AS cube;
SELECT '-.1234567890123456'::cube AS cube;
cube
cube
----------------------
----------------------
(-0.123456789012346)
(-0.123456789012346)
(1 row)
(1 row)
-- simple lists (points)
-- simple lists (points)
SELECT '1,2'::cube AS cube;
SELECT '1,2'::cube AS cube;
cube
cube
--------
--------
(1, 2)
(1, 2)
(1 row)
(1 row)
SELECT '(1,2)'::cube AS cube;
SELECT '(1,2)'::cube AS cube;
cube
cube
--------
--------
(1, 2)
(1, 2)
(1 row)
(1 row)
SELECT '1,2,3,4,5'::cube AS cube;
SELECT '1,2,3,4,5'::cube AS cube;
cube
cube
-----------------
-----------------
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
(1 row)
(1 row)
SELECT '(1,2,3,4,5)'::cube AS cube;
SELECT '(1,2,3,4,5)'::cube AS cube;
cube
cube
-----------------
-----------------
(1, 2, 3, 4, 5)
(1, 2, 3, 4, 5)
(1 row)
(1 row)
-- double lists (cubes)
-- double lists (cubes)
SELECT '(0),(0)'::cube AS cube;
SELECT '(0),(0)'::cube AS cube;
cube
cube
------
------
(0)
(0)
(1 row)
(1 row)
SELECT '(0),(1)'::cube AS cube;
SELECT '(0),(1)'::cube AS cube;
cube
cube
---------
---------
(0),(1)
(0),(1)
(1 row)
(1 row)
SELECT '[(0),(0)]'::cube AS cube;
SELECT '[(0),(0)]'::cube AS cube;
cube
cube
------
------
(0)
(0)
(1 row)
(1 row)
SELECT '[(0),(1)]'::cube AS cube;
SELECT '[(0),(1)]'::cube AS cube;
cube
cube
---------
---------
(0),(1)
(0),(1)
(1 row)
(1 row)
SELECT '(0,0,0,0),(0,0,0,0)'::cube AS cube;
SELECT '(0,0,0,0),(0,0,0,0)'::cube AS cube;
cube
cube
--------------
--------------
(0, 0, 0, 0)
(0, 0, 0, 0)
(1 row)
(1 row)
SELECT '(0,0,0,0),(1,0,0,0)'::cube AS cube;
SELECT '(0,0,0,0),(1,0,0,0)'::cube AS cube;
cube
cube
---------------------------
---------------------------
(0, 0, 0, 0),(1, 0, 0, 0)
(0, 0, 0, 0),(1, 0, 0, 0)
(1 row)
(1 row)
SELECT '[(0,0,0,0),(0,0,0,0)]'::cube AS cube;
SELECT '[(0,0,0,0),(0,0,0,0)]'::cube AS cube;
cube
cube
--------------
--------------
(0, 0, 0, 0)
(0, 0, 0, 0)
(1 row)
(1 row)
SELECT '[(0,0,0,0),(1,0,0,0)]'::cube AS cube;
SELECT '[(0,0,0,0),(1,0,0,0)]'::cube AS cube;
cube
cube
---------------------------
---------------------------
(0, 0, 0, 0),(1, 0, 0, 0)
(0, 0, 0, 0),(1, 0, 0, 0)
(1 row)
(1 row)
-- invalid input: parse errors
-- invalid input: parse errors
SELECT ''::cube AS cube;
SELECT ''::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT ''::cube AS cube;
LINE 1: SELECT ''::cube AS cube;
^
^
DETAIL: syntax error at end of input
DETAIL: syntax error at end of input
SELECT 'ABC'::cube AS cube;
SELECT 'ABC'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT 'ABC'::cube AS cube;
LINE 1: SELECT 'ABC'::cube AS cube;
^
^
DETAIL: syntax error at or near "A"
DETAIL: syntax error at or near "A"
SELECT '()'::cube AS cube;
SELECT '()'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '()'::cube AS cube;
LINE 1: SELECT '()'::cube AS cube;
^
^
DETAIL: syntax error at or near ")"
DETAIL: syntax error at or near ")"
SELECT '[]'::cube AS cube;
SELECT '[]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[]'::cube AS cube;
LINE 1: SELECT '[]'::cube AS cube;
^
^
DETAIL: syntax error at or near "]"
DETAIL: syntax error at or near "]"
SELECT '[()]'::cube AS cube;
SELECT '[()]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[()]'::cube AS cube;
LINE 1: SELECT '[()]'::cube AS cube;
^
^
DETAIL: syntax error at or near ")"
DETAIL: syntax error at or near ")"
SELECT '[(1)]'::cube AS cube;
SELECT '[(1)]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1)]'::cube AS cube;
LINE 1: SELECT '[(1)]'::cube AS cube;
^
^
DETAIL: syntax error at or near "]"
DETAIL: syntax error at or near "]"
SELECT '[(1),]'::cube AS cube;
SELECT '[(1),]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1),]'::cube AS cube;
LINE 1: SELECT '[(1),]'::cube AS cube;
^
^
DETAIL: syntax error at or near "]"
DETAIL: syntax error at or near "]"
SELECT '[(1),2]'::cube AS cube;
SELECT '[(1),2]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1),2]'::cube AS cube;
LINE 1: SELECT '[(1),2]'::cube AS cube;
^
^
DETAIL: syntax error at or near "2"
DETAIL: syntax error at or near "2"
SELECT '[(1),(2),(3)]'::cube AS cube;
SELECT '[(1),(2),(3)]'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1),(2),(3)]'::cube AS cube;
LINE 1: SELECT '[(1),(2),(3)]'::cube AS cube;
^
^
DETAIL: syntax error at or near ","
DETAIL: syntax error at or near ","
SELECT '1,'::cube AS cube;
SELECT '1,'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1,'::cube AS cube;
LINE 1: SELECT '1,'::cube AS cube;
^
^
DETAIL: syntax error at end of input
DETAIL: syntax error at end of input
SELECT '1,2,'::cube AS cube;
SELECT '1,2,'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1,2,'::cube AS cube;
LINE 1: SELECT '1,2,'::cube AS cube;
^
^
DETAIL: syntax error at end of input
DETAIL: syntax error at end of input
SELECT '1,,2'::cube AS cube;
SELECT '1,,2'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1,,2'::cube AS cube;
LINE 1: SELECT '1,,2'::cube AS cube;
^
^
DETAIL: syntax error at or near ","
DETAIL: syntax error at or near ","
SELECT '(1,)'::cube AS cube;
SELECT '(1,)'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,)'::cube AS cube;
LINE 1: SELECT '(1,)'::cube AS cube;
^
^
DETAIL: syntax error at or near ")"
DETAIL: syntax error at or near ")"
SELECT '(1,2,)'::cube AS cube;
SELECT '(1,2,)'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2,)'::cube AS cube;
LINE 1: SELECT '(1,2,)'::cube AS cube;
^
^
DETAIL: syntax error at or near ")"
DETAIL: syntax error at or near ")"
SELECT '(1,,2)'::cube AS cube;
SELECT '(1,,2)'::cube AS cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,,2)'::cube AS cube;
LINE 1: SELECT '(1,,2)'::cube AS cube;
^
^
DETAIL: syntax error at or near ","
DETAIL: syntax error at or near ","
-- invalid input: semantic errors and trailing garbage
-- invalid input: semantic errors and trailing garbage
SELECT '[(1),(2)],'::cube AS cube; -- 0
SELECT '[(1),(2)],'::cube AS cube; -- 0
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1),(2)],'::cube AS cube;
LINE 1: SELECT '[(1),(2)],'::cube AS cube;
^
^
DETAIL: syntax error at or near ","
DETAIL: syntax error at or near ","
SELECT '[(1,2,3),(2,3)]'::cube AS cube; -- 1
SELECT '[(1,2,3),(2,3)]'::cube AS cube; -- 1
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1,2,3),(2,3)]'::cube AS cube;
LINE 1: SELECT '[(1,2,3),(2,3)]'::cube AS cube;
^
^
DETAIL: Different point dimensions in (1,2,3) and (2,3).
DETAIL: Different point dimensions in (1,2,3) and (2,3).
SELECT '[(1,2),(1,2,3)]'::cube AS cube; -- 1
SELECT '[(1,2),(1,2,3)]'::cube AS cube; -- 1
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '[(1,2),(1,2,3)]'::cube AS cube;
LINE 1: SELECT '[(1,2),(1,2,3)]'::cube AS cube;
^
^
DETAIL: Different point dimensions in (1,2) and (1,2,3).
DETAIL: Different point dimensions in (1,2) and (1,2,3).
SELECT '(1),(2),'::cube AS cube; -- 2
SELECT '(1),(2),'::cube AS cube; -- 2
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1),(2),'::cube AS cube;
LINE 1: SELECT '(1),(2),'::cube AS cube;
^
^
DETAIL: syntax error at or near ","
DETAIL: syntax error at or near ","
SELECT '(1,2,3),(2,3)'::cube AS cube; -- 3
SELECT '(1,2,3),(2,3)'::cube AS cube; -- 3
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2,3),(2,3)'::cube AS cube;
LINE 1: SELECT '(1,2,3),(2,3)'::cube AS cube;
^
^
DETAIL: Different point dimensions in (1,2,3) and (2,3).
DETAIL: Different point dimensions in (1,2,3) and (2,3).
SELECT '(1,2),(1,2,3)'::cube AS cube; -- 3
SELECT '(1,2),(1,2,3)'::cube AS cube; -- 3
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2),(1,2,3)'::cube AS cube;
LINE 1: SELECT '(1,2),(1,2,3)'::cube AS cube;
^
^
DETAIL: Different point dimensions in (1,2) and (1,2,3).
DETAIL: Different point dimensions in (1,2) and (1,2,3).
SELECT '(1,2,3)ab'::cube AS cube; -- 4
SELECT '(1,2,3)ab'::cube AS cube; -- 4
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2,3)ab'::cube AS cube;
LINE 1: SELECT '(1,2,3)ab'::cube AS cube;
^
^
DETAIL: syntax error at or near "a"
DETAIL: syntax error at or near "a"
SELECT '(1,2,3)a'::cube AS cube; -- 5
SELECT '(1,2,3)a'::cube AS cube; -- 5
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2,3)a'::cube AS cube;
LINE 1: SELECT '(1,2,3)a'::cube AS cube;
^
^
DETAIL: syntax error at or near "a"
DETAIL: syntax error at or near "a"
SELECT '(1,2)('::cube AS cube; -- 5
SELECT '(1,2)('::cube AS cube; -- 5
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '(1,2)('::cube AS cube;
LINE 1: SELECT '(1,2)('::cube AS cube;
^
^
DETAIL: syntax error at or near "("
DETAIL: syntax error at or near "("
SELECT '1,2ab'::cube AS cube; -- 6
SELECT '1,2ab'::cube AS cube; -- 6
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1,2ab'::cube AS cube;
LINE 1: SELECT '1,2ab'::cube AS cube;
^
^
DETAIL: syntax error at or near "a"
DETAIL: syntax error at or near "a"
SELECT '1 e7'::cube AS cube; -- 6
SELECT '1 e7'::cube AS cube; -- 6
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1 e7'::cube AS cube;
LINE 1: SELECT '1 e7'::cube AS cube;
^
^
DETAIL: syntax error at or near "e"
DETAIL: syntax error at or near "e"
SELECT '1,2a'::cube AS cube; -- 7
SELECT '1,2a'::cube AS cube; -- 7
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1,2a'::cube AS cube;
LINE 1: SELECT '1,2a'::cube AS cube;
^
^
DETAIL: syntax error at or near "a"
DETAIL: syntax error at or near "a"
SELECT '1..2'::cube AS cube; -- 7
SELECT '1..2'::cube AS cube; -- 7
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: SELECT '1..2'::cube AS cube;
LINE 1: SELECT '1..2'::cube AS cube;
^
^
DETAIL: syntax error at or near ".2"
DETAIL: syntax error at or near ".2"
--
--
-- Testing building cubes from float8 values
-- Testing building cubes from float8 values
--
--
SELECT cube(0::float8);
SELECT cube(0::float8);
cube
cube
------
------
(0)
(0)
(1 row)
(1 row)
SELECT cube(1::float8);
SELECT cube(1::float8);
cube
cube
------
------
(1)
(1)
(1 row)
(1 row)
SELECT cube(1,2);
SELECT cube(1,2);
cube
cube
---------
---------
(1),(2)
(1),(2)
(1 row)
(1 row)
SELECT cube(cube(1,2),3);
SELECT cube(cube(1,2),3);
cube
cube
---------------
---------------
(1, 3),(2, 3)
(1, 3),(2, 3)
(1 row)
(1 row)
SELECT cube(cube(1,2),3,4);
SELECT cube(cube(1,2),3,4);
cube
cube
---------------
---------------
(1, 3),(2, 4)
(1, 3),(2, 4)
(1 row)
(1 row)
SELECT cube(cube(cube(1,2),3,4),5);
SELECT cube(cube(cube(1,2),3,4),5);
cube
cube
---------------------
---------------------
(1, 3, 5),(2, 4, 5)
(1, 3, 5),(2, 4, 5)
(1 row)
(1 row)
SELECT cube(cube(cube(1,2),3,4),5,6);
SELECT cube(cube(cube(1,2),3,4),5,6);
cube
cube
---------------------
---------------------
(1, 3, 5),(2, 4, 6)
(1, 3, 5),(2, 4, 6)
(1 row)
(1 row)
--
--
-- Test that the text -> cube cast was installed.
-- Test that the text -> cube cast was installed.
--
--
SELECT '(0)'::text::cube;
SELECT '(0)'::text::cube;
cube
cube
------
------
(0)
(0)
(1 row)
(1 row)
--
--
-- Test the float[] -> cube cast
-- Test the float[] -> cube cast
--
--
SELECT cube('{0,1,2}'::float[], '{3,4,5}'::float[]);
SELECT cube('{0,1,2}'::float[], '{3,4,5}'::float[]);
cube
cube
---------------------
---------------------
(0, 1, 2),(3, 4, 5)
(0, 1, 2),(3, 4, 5)
(1 row)
(1 row)
SELECT cube('{0,1,2}'::float[], '{3}'::float[]);
SELECT cube('{0,1,2}'::float[], '{3}'::float[]);
ERROR: UR and LL arrays must be of same length
ERROR: UR and LL arrays must be of same length
SELECT cube(NULL::float[], '{3}'::float[]);
SELECT cube(NULL::float[], '{3}'::float[]);
cube
cube
------
------
(1 row)
(1 row)
SELECT cube('{0,1,2}'::float[]);
SELECT cube('{0,1,2}'::float[]);
cube
cube
-----------
-----------
(0, 1, 2)
(0, 1, 2)
(1 row)
(1 row)
SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[3,2,1,1]);
SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[3,2,1,1]);
cube_subset
cube_subset
---------------------------
---------------------------
(5, 3, 1, 1),(8, 7, 6, 6)
(5, 3, 1, 1),(8, 7, 6, 6)
(1 row)
(1 row)
SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[4,0]);
SELECT cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[4,0]);
ERROR: Index out of bounds
ERROR: Index out of bounds
--
--
-- Testing limit of CUBE_MAX_DIM dimensions check in cube_in.
-- Testing limit of CUBE_MAX_DIM dimensions check in cube_in.
--
--
select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)'::cube;
select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)'::cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
LINE 1: select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
^
^
DETAIL: A cube cannot have more than 100 dimensions.
DETAIL: A cube cannot have more than 100 dimensions.
select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)'::cube;
select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)'::cube;
ERROR: bad cube representation
ERROR: bad cube representation
LINE 1: select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
LINE 1: select '(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
^
^
DETAIL: A cube cannot have more than 100 dimensions.
DETAIL: A cube cannot have more than 100 dimensions.
--
--
-- testing the operators
-- testing the operators
--
--
-- equality/inequality:
-- equality/inequality:
--
--
SELECT '24, 33.20'::cube = '24, 33.20'::cube AS bool;
SELECT '24, 33.20'::cube = '24, 33.20'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '24, 33.20'::cube != '24, 33.20'::cube AS bool;
SELECT '24, 33.20'::cube != '24, 33.20'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '24, 33.20'::cube = '24, 33.21'::cube AS bool;
SELECT '24, 33.20'::cube = '24, 33.21'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '24, 33.20'::cube != '24, 33.21'::cube AS bool;
SELECT '24, 33.20'::cube != '24, 33.21'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube = '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
-- "lower than" / "greater than"
-- "lower than" / "greater than"
-- (these operators are not useful for anything but ordering)
-- (these operators are not useful for anything but ordering)
--
--
SELECT '1'::cube > '2'::cube AS bool;
SELECT '1'::cube > '2'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '1'::cube < '2'::cube AS bool;
SELECT '1'::cube < '2'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '1,1'::cube > '1,2'::cube AS bool;
SELECT '1,1'::cube > '1,2'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '1,1'::cube < '1,2'::cube AS bool;
SELECT '1,1'::cube < '1,2'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,1),(3,1,0,0,0)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube > '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
SELECT '(2,0),(3,1)'::cube < '(2,0,0,0,0),(3,1,0,0,0)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube > '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube > '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube < '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,0),(3,1,0,0,1)'::cube < '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,1),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube > '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool;
SELECT '(2,0,0,0,0),(3,1,0,0,0)'::cube < '(2,0),(3,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
-- "overlap"
-- "overlap"
--
--
SELECT '1'::cube && '1'::cube AS bool;
SELECT '1'::cube && '1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '1'::cube && '2'::cube AS bool;
SELECT '1'::cube && '2'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '0'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1,1,1'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '1,1,1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1,1),(2,2,2)]'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1,1),(2,2,2)]'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1),(2,2)]'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(1,1),(2,2)]'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(2,1,1),(2,2,2)]'::cube AS bool;
SELECT '[(-1,-1,-1),(1,1,1)]'::cube && '[(2,1,1),(2,2,2)]'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
-- "contained in" (the left operand is the cube entirely enclosed by
-- "contained in" (the left operand is the cube entirely enclosed by
-- the right operand):
-- the right operand):
--
--
SELECT '0'::cube <@ '0'::cube AS bool;
SELECT '0'::cube <@ '0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0,0'::cube <@ '0,0,0'::cube AS bool;
SELECT '0,0,0'::cube <@ '0,0,0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0'::cube <@ '0,0,1'::cube AS bool;
SELECT '0,0'::cube <@ '0,0,1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0,0'::cube <@ '0,0,1'::cube AS bool;
SELECT '0,0,0'::cube <@ '0,0,1'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '1,0,0'::cube <@ '0,0,1'::cube AS bool;
SELECT '1,0,0'::cube <@ '0,0,1'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(1,0,0),(0,0,1)'::cube <@ '(1,0,0),(0,0,1)'::cube AS bool;
SELECT '(1,0,0),(0,0,1)'::cube <@ '(1,0,0),(0,0,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(1,0,0),(0,0,1)'::cube <@ '(-1,-1,-1),(1,1,1)'::cube AS bool;
SELECT '(1,0,0),(0,0,1)'::cube <@ '(-1,-1,-1),(1,1,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(1,0,0),(0,0,1)'::cube <@ '(-1,-1,-1,-1),(1,1,1,1)'::cube AS bool;
SELECT '(1,0,0),(0,0,1)'::cube <@ '(-1,-1,-1,-1),(1,1,1,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0'::cube <@ '(-1),(1)'::cube AS bool;
SELECT '0'::cube <@ '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '1'::cube <@ '(-1),(1)'::cube AS bool;
SELECT '1'::cube <@ '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '-1'::cube <@ '(-1),(1)'::cube AS bool;
SELECT '-1'::cube <@ '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube <@ '(-1),(1)'::cube AS bool;
SELECT '(-1),(1)'::cube <@ '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube <@ '(-1,-1),(1,1)'::cube AS bool;
SELECT '(-1),(1)'::cube <@ '(-1,-1),(1,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-2),(1)'::cube <@ '(-1),(1)'::cube AS bool;
SELECT '(-2),(1)'::cube <@ '(-1),(1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(-2),(1)'::cube <@ '(-1,-1),(1,1)'::cube AS bool;
SELECT '(-2),(1)'::cube <@ '(-1,-1),(1,1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
-- "contains" (the left operand is the cube that entirely encloses the
-- "contains" (the left operand is the cube that entirely encloses the
-- right operand)
-- right operand)
--
--
SELECT '0'::cube @> '0'::cube AS bool;
SELECT '0'::cube @> '0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0,0'::cube @> '0,0,0'::cube AS bool;
SELECT '0,0,0'::cube @> '0,0,0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0,1'::cube @> '0,0'::cube AS bool;
SELECT '0,0,1'::cube @> '0,0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '0,0,1'::cube @> '0,0,0'::cube AS bool;
SELECT '0,0,1'::cube @> '0,0,0'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '0,0,1'::cube @> '1,0,0'::cube AS bool;
SELECT '0,0,1'::cube @> '1,0,0'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(1,0,0),(0,0,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
SELECT '(1,0,0),(0,0,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1,-1,-1),(1,1,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
SELECT '(-1,-1,-1),(1,1,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1,-1,-1,-1),(1,1,1,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
SELECT '(-1,-1,-1,-1),(1,1,1,1)'::cube @> '(1,0,0),(0,0,1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube @> '0'::cube AS bool;
SELECT '(-1),(1)'::cube @> '0'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube @> '1'::cube AS bool;
SELECT '(-1),(1)'::cube @> '1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube @> '-1'::cube AS bool;
SELECT '(-1),(1)'::cube @> '-1'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube @> '(-1),(1)'::cube AS bool;
SELECT '(-1),(1)'::cube @> '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1,-1),(1,1)'::cube @> '(-1),(1)'::cube AS bool;
SELECT '(-1,-1),(1,1)'::cube @> '(-1),(1)'::cube AS bool;
bool
bool
------
------
t
t
(1 row)
(1 row)
SELECT '(-1),(1)'::cube @> '(-2),(1)'::cube AS bool;
SELECT '(-1),(1)'::cube @> '(-2),(1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
SELECT '(-1,-1),(1,1)'::cube @> '(-2),(1)'::cube AS bool;
SELECT '(-1,-1),(1,1)'::cube @> '(-2),(1)'::cube AS bool;
bool
bool
------
------
f
f
(1 row)
(1 row)
-- Test of distance function
-- Test of distance function
--
--
SELECT cube_distance('(0)'::cube,'(2,2,2,2)'::cube);
SELECT cube_distance('(0)'::cube,'(2,2,2,2)'::cube);
cube_distance
cube_distance
---------------
---------------
4
4
(1 row)
(1 row)
SELECT cube_distance('(0)'::cube,'(.3,.4)'::cube);
SELECT cube_distance('(0)'::cube,'(.3,.4)'::cube);
cube_distance
cube_distance
---------------
---------------
0.5
0.5
(1 row)
(1 row)
-- Test of cube function (text to cube)
-- Test of cube function (text to cube)
--
--
SELECT cube('(1,1.2)'::text);
SELECT cube('(1,1.2)'::text);
cube
cube
----------
----------
(1, 1.2)
(1, 1.2)
(1 row)
(1 row)
SELECT cube(NULL);
SELECT cube(NULL);
cube
cube
------
------
(1 row)
(1 row)
-- Test of cube_dim function (dimensions stored in cube)
-- Test of cube_dim function (dimensions stored in cube)
--
--
SELECT cube_dim('(0)'::cube);
SELECT cube_dim('(0)'::cube);
cube_dim
cube_dim
----------
----------
1
1
(1 row)
(1 row)
SELECT cube_dim('(0,0)'::cube);
SELECT cube_dim('(0,0)'::cube);
cube_dim
cube_dim
----------
----------
2
2
(1 row)
(1 row)
SELECT cube_dim('(0,0,0)'::cube);
SELECT cube_dim('(0,0,0)'::cube);
cube_dim
cube_dim
----------
----------
3
3
(1 row)
(1 row)
-- Test of cube_ll_coord function (retrieves LL coodinate values)
-- Test of cube_ll_coord function (retrieves LL coodinate values)
--
--
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 1);
cube_ll_coord
cube_ll_coord
---------------
---------------
-1
-1
(1 row)
(1 row)
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 2);
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 2);
cube_ll_coord
cube_ll_coord
---------------
---------------
-2
-2
(1 row)
(1 row)
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
SELECT cube_ll_coord('(-1,1),(2,-2)'::cube, 3);
cube_ll_coord
cube_ll_coord
---------------
---------------
0
0
(1 row)
(1 row)
-- Test of cube_ur_coord function (retrieves UR coodinate values)
-- Test of cube_ur_coord function (retrieves UR coodinate values)
--
--
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 1);
cube_ur_coord
cube_ur_coord
---------------
---------------
2
2
(1 row)
(1 row)
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 2);
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 2);
cube_ur_coord
cube_ur_coord
---------------
---------------
1
1
(1 row)
(1 row)
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 3);
SELECT cube_ur_coord('(-1,1),(2,-2)'::cube, 3);
cube_ur_coord
cube_ur_coord
---------------
---------------
0
0
(1 row)
(1 row)
-- Test of cube_is_point
-- Test of cube_is_point
--
--
SELECT cube_is_point('(0)'::cube);
SELECT cube_is_point('(0)'::cube);
cube_is_point
cube_is_point
---------------
---------------
t
t
(1 row)
(1 row)
SELECT cube_is_point('(0,1,2)'::cube);
SELECT cube_is_point('(0,1,2)'::cube);
cube_is_point
cube_is_point
---------------
---------------
t
t
(1 row)
(1 row)
SELECT cube_is_point('(0,1,2),(0,1,2)'::cube);
SELECT cube_is_point('(0,1,2),(0,1,2)'::cube);
cube_is_point
cube_is_point
---------------
---------------
t
t
(1 row)
(1 row)
SELECT cube_is_point('(0,1,2),(-1,1,2)'::cube);
SELECT cube_is_point('(0,1,2),(-1,1,2)'::cube);
cube_is_point
cube_is_point
---------------
---------------
f
f
(1 row)
(1 row)
SELECT cube_is_point('(0,1,2),(0,-1,2)'::cube);
SELECT cube_is_point('(0,1,2),(0,-1,2)'::cube);
cube_is_point
cube_is_point
---------------
---------------
f
f
(1 row)
(1 row)
SELECT cube_is_point('(0,1,2),(0,1,-2)'::cube);
SELECT cube_is_point('(0,1,2),(0,1,-2)'::cube);
cube_is_point
cube_is_point
---------------
---------------
f
f
(1 row)
(1 row)
-- Test of cube_enlarge (enlarging and shrinking cubes)
-- Test of cube_enlarge (enlarging and shrinking cubes)
--
--
SELECT cube_enlarge('(0)'::cube, 0, 0);
SELECT cube_enlarge('(0)'::cube, 0, 0);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, 0, 1);
SELECT cube_enlarge('(0)'::cube, 0, 1);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, 0, 2);
SELECT cube_enlarge('(0)'::cube, 0, 2);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(2),(-2)'::cube, 0, 4);
SELECT cube_enlarge('(2),(-2)'::cube, 0, 4);
cube_enlarge
cube_enlarge
--------------
--------------
(-2),(2)
(-2),(2)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, 1, 0);
SELECT cube_enlarge('(0)'::cube, 1, 0);
cube_enlarge
cube_enlarge
--------------
--------------
(-1),(1)
(-1),(1)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, 1, 1);
SELECT cube_enlarge('(0)'::cube, 1, 1);
cube_enlarge
cube_enlarge
--------------
--------------
(-1),(1)
(-1),(1)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, 1, 2);
SELECT cube_enlarge('(0)'::cube, 1, 2);
cube_enlarge
cube_enlarge
-----------------
-----------------
(-1, -1),(1, 1)
(-1, -1),(1, 1)
(1 row)
(1 row)
SELECT cube_enlarge('(2),(-2)'::cube, 1, 4);
SELECT cube_enlarge('(2),(-2)'::cube, 1, 4);
cube_enlarge
cube_enlarge
-------------------------------
-------------------------------
(-3, -1, -1, -1),(3, 1, 1, 1)
(-3, -1, -1, -1),(3, 1, 1, 1)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, -1, 0);
SELECT cube_enlarge('(0)'::cube, -1, 0);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, -1, 1);
SELECT cube_enlarge('(0)'::cube, -1, 1);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(0)'::cube, -1, 2);
SELECT cube_enlarge('(0)'::cube, -1, 2);
cube_enlarge
cube_enlarge
--------------
--------------
(0)
(0)
(1 row)
(1 row)
SELECT cube_enlarge('(2),(-2)'::cube, -1, 4);
SELECT cube_enlarge('(2),(-2)'::cube, -1, 4);
cube_enlarge
cube_enlarge
--------------
--------------
(-1),(1)
(-1),(1)
(1 row)
(1 row)
SELECT cube_enlarge('(0,0,0)'::cube, 1, 0);
SELECT cube_enlarge('(0,0,0)'::cube, 1, 0);
cube_enlarge
cube_enlarge
------------------------
------------------------
(-1, -1, -1),(1, 1, 1)
(-1, -1, -1),(1, 1, 1)
(1 row)
(1 row)
SELECT cube_enlarge('(0,0,0)'::cube, 1, 2);
SELECT cube_enlarge('(0,0,0)'::cube, 1, 2);
cube_enlarge
cube_enlarge
------------------------
------------------------
(-1, -1, -1),(1, 1, 1)
(-1, -1, -1),(1, 1, 1)
(1 row)
(1 row)
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, 1, 2);
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, 1, 2);
cube_enlarge
cube_enlarge
-----------------
-----------------
(-4, -3),(3, 8)
(-4, -3),(3, 8)
(1 row)
(1 row)
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, 3, 2);
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, 3, 2);
cube_enlarge
cube_enlarge
------------------
------------------
(-6, -5),(5, 10)
(-6, -5),(5, 10)
(1 row)
(1 row)
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, -1, 2);
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, -1, 2);
cube_enlarge
cube_enlarge
-----------------
-----------------
(-2, -1),(1, 6)
(-2, -1),(1, 6)
(1 row)
(1 row)
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, -3, 2);
SELECT cube_enlarge('(2,-2),(-3,7)'::cube, -3, 2);
cube_enlarge
cube_enlarge
---------------------
---------------------
(-0.5, 1),(-0.5, 4)
(-0.5, 1),(-0.5, 4)
(1 row)
(1 row)
-- Load some example data and build the index
-- Load some example data and build the index
--
--
CREATE TABLE test_cube (c cube);
CREATE TABLE test_cube (c cube);
\copy test_cube from 'data/test_cube.data'
\copy test_cube from 'data/test_cube.data'
CREATE INDEX test_cube_ix ON test_cube USING gist (c);
CREATE INDEX test_cube_ix ON test_cube USING gist (c);
SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' ORDER BY c;
SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' ORDER BY c;
c
c
--------------------------
--------------------------
(337, 455),(240, 359)
(337, 455),(240, 359)
(759, 187),(662, 163)
(759, 187),(662, 163)
(1444, 403),(1346, 344)
(1444, 403),(1346, 344)
(1594, 1043),(1517, 971)
(1594, 1043),(1517, 971)
(2424, 160),(2424, 81)
(2424, 160),(2424, 81)
(5 rows)
(5 rows)
-- Test sorting
-- Test sorting
SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c ORDER BY c;
SELECT * FROM test_cube WHERE c && '(3000,1000),(0,0)' GROUP BY c ORDER BY c;
c
c
--------------------------
--------------------------
(337, 455),(240, 359)
(337, 455),(240, 359)
(759, 187),(662, 163)
(759, 187),(662, 163)
(1444, 403),(1346, 344)
(1444, 403),(1346, 344)
(1594, 1043),(1517, 971)
(1594, 1043),(1517, 971)
(2424, 160),(2424, 81)
(2424, 160),(2424, 81)
(5 rows)
(5 rows)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment