]> granicus.if.org Git - postgresql/blobdiff - src/test/regress/sql/polygon.sql
RESET SESSION, plus related new DDL commands. Patch from Marko Kreen,
[postgresql] / src / test / regress / sql / polygon.sql
index cb6c7b5b28c79a6e0a89cdf36b6fb6f5ef613a46..1f45de0a6d96914970e7baee1f77511a9439c8ae 100644 (file)
@@ -1,4 +1,5 @@
--- *************testing built-in type polygon ****************
+--
+-- POLYGON
 --
 -- polygon logic
 --
 CREATE TABLE POLYGON_TBL(f1 polygon);
 
 
-INSERT INTO POLYGON_TBL(f1) VALUES ('(2.0,2.0,0.0,0.0,4.0,0.0)');
+INSERT INTO POLYGON_TBL(f1) VALUES ('(2.0,0.0),(2.0,4.0),(0.0,0.0)');
 
-INSERT INTO POLYGON_TBL(f1) VALUES ('(3.0,3.0,1.0,1.0,3.0,0.0)');
+INSERT INTO POLYGON_TBL(f1) VALUES ('(3.0,1.0),(3.0,3.0),(1.0,0.0)');
 
 -- degenerate polygons 
 INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,0.0)');
 
-INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,0.0,1.0,1.0)');
+INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,1.0),(0.0,1.0)');
+
 -- bad polygon input strings 
 INSERT INTO POLYGON_TBL(f1) VALUES ('0.0');
 
@@ -36,47 +38,47 @@ INSERT INTO POLYGON_TBL(f1) VALUES ('(0,1,2,3');
 INSERT INTO POLYGON_TBL(f1) VALUES ('asdf');
 
 
-SELECT '' AS four, POLYGON_TBL.*;
+SELECT '' AS four, * FROM POLYGON_TBL;
 
 -- overlap 
 SELECT '' AS three, p.*
    FROM POLYGON_TBL p
-   WHERE p.f1 && '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 && '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- left overlap 
 SELECT '' AS four, p.* 
    FROM POLYGON_TBL p
-   WHERE p.f1 &< '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 &< '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- right overlap 
 SELECT '' AS two, p.* 
    FROM POLYGON_TBL p
-   WHERE p.f1 &> '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 &> '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- left of 
 SELECT '' AS one, p.*
    FROM POLYGON_TBL p
-   WHERE p.f1 << '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 << '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- right of 
 SELECT '' AS zero, p.*
    FROM POLYGON_TBL p
-   WHERE p.f1 >> '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 >> '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- contained 
 SELECT '' AS one, p.* 
    FROM POLYGON_TBL p
-   WHERE p.f1 @ '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 <@ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- same 
 SELECT '' AS one, p.*
    FROM POLYGON_TBL p
-   WHERE p.f1 ~= '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 ~= polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 -- contains 
 SELECT '' AS one, p.*
    FROM POLYGON_TBL p
-   WHERE p.f1 ~ '(3.0,3.0,1.0,1.0,3.0,0.0)';
+   WHERE p.f1 @> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';
 
 --
 -- polygon logic
@@ -92,27 +94,26 @@ SELECT '' AS one, p.*
 --     0 1 2 3 4
 --
 -- left of 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon << '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' << polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- left overlap 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon &< '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS true;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' << polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS true;
 
 -- right overlap 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon &> '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS true;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' &> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- right of 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon >> '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' >> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- contained in 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon @ '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' <@ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- contains 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon ~ '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' @> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- same 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon ~= '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS false;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' ~= polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;
 
 -- overlap 
-SELECT '(2.0,2.0,0.0,0.0,4.0,0.0)'::polygon && '(3.0,3.0,1.0,1.0,3.0,0.0)'::polygon AS true;
+SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' && polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS true;
 
-DROP TABLE  POLYGON_TBL;