4
CREATE TABLE CIRCLE_TBL (f1 circle);
5
INSERT INTO CIRCLE_TBL VALUES ('<(5,1),3>');
6
INSERT INTO CIRCLE_TBL VALUES ('<(1,2),100>');
7
INSERT INTO CIRCLE_TBL VALUES ('1,3,5');
8
INSERT INTO CIRCLE_TBL VALUES ('((1,2),3)');
9
INSERT INTO CIRCLE_TBL VALUES ('<(100,200),10>');
10
INSERT INTO CIRCLE_TBL VALUES ('<(100,1),115>');
12
INSERT INTO CIRCLE_TBL VALUES ('<(-100,0),-100>');
13
ERROR: invalid input syntax for type circle: "<(-100,0),-100>"
14
INSERT INTO CIRCLE_TBL VALUES ('1abc,3,5');
15
ERROR: invalid input syntax for type circle: "1abc,3,5"
16
INSERT INTO CIRCLE_TBL VALUES ('(3,(1,2),3)');
17
ERROR: invalid input syntax for type circle: "(3,(1,2),3)"
18
SELECT * FROM CIRCLE_TBL;
29
SELECT '' AS six, center(f1) AS center
41
SELECT '' AS six, radius(f1) AS radius
53
SELECT '' AS six, diameter(f1) AS diameter
65
SELECT '' AS two, f1 FROM CIRCLE_TBL WHERE radius(f1) < 5;
72
SELECT '' AS four, f1 FROM CIRCLE_TBL WHERE diameter(f1) >= 10;
74
------+----------------
81
SELECT '' as five, c1.f1 AS one, c2.f1 AS two, (c1.f1 <-> c2.f1) AS distance
82
FROM CIRCLE_TBL c1, CIRCLE_TBL c2
83
WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0)
84
ORDER BY distance, one USING < , two USING < ;
85
five | one | two | distance
86
------+----------------+----------------+------------------
87
| <(100,200),10> | <(100,1),115> | 74
88
| <(100,200),10> | <(1,2),100> | 111.370729772479
89
| <(1,3),5> | <(100,200),10> | 205.476756144497
90
| <(5,1),3> | <(100,200),10> | 207.51303816328
91
| <(1,2),3> | <(100,200),10> | 208.370729772479