1--
2-- PATH
3--
4--DROP TABLE PATH_TBL;
5CREATE TABLE PATH_TBL (f1 path);
6INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)]');
7INSERT INTO PATH_TBL VALUES ('((1,2),(3,4))');
8INSERT INTO PATH_TBL VALUES ('[(0,0),(3,0),(4,5),(1,6)]');
9INSERT INTO PATH_TBL VALUES ('((1,2),(3,4))');
10INSERT INTO PATH_TBL VALUES ('1,2 ,3,4');
11INSERT INTO PATH_TBL VALUES ('[1,2,3, 4]');
12INSERT INTO PATH_TBL VALUES ('[11,12,13,14]');
13INSERT INTO PATH_TBL VALUES ('(11,12,13,14)');
14-- bad values for parser testing
15INSERT INTO PATH_TBL VALUES ('[(,2),(3,4)]');
16ERROR:  invalid input syntax for type path: "[(,2),(3,4)]"
17LINE 1: INSERT INTO PATH_TBL VALUES ('[(,2),(3,4)]');
18                                     ^
19INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)');
20ERROR:  invalid input syntax for type path: "[(1,2),(3,4)"
21LINE 1: INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)');
22                                     ^
23SELECT f1 FROM PATH_TBL;
24            f1
25---------------------------
26 [(1,2),(3,4)]
27 ((1,2),(3,4))
28 [(0,0),(3,0),(4,5),(1,6)]
29 ((1,2),(3,4))
30 ((1,2),(3,4))
31 [(1,2),(3,4)]
32 [(11,12),(13,14)]
33 ((11,12),(13,14))
34(8 rows)
35
36SELECT '' AS count, f1 AS open_path FROM PATH_TBL WHERE isopen(f1);
37 count |         open_path
38-------+---------------------------
39       | [(1,2),(3,4)]
40       | [(0,0),(3,0),(4,5),(1,6)]
41       | [(1,2),(3,4)]
42       | [(11,12),(13,14)]
43(4 rows)
44
45SELECT '' AS count, f1 AS closed_path FROM PATH_TBL WHERE isclosed(f1);
46 count |    closed_path
47-------+-------------------
48       | ((1,2),(3,4))
49       | ((1,2),(3,4))
50       | ((1,2),(3,4))
51       | ((11,12),(13,14))
52(4 rows)
53
54SELECT '' AS count, pclose(f1) AS closed_path FROM PATH_TBL;
55 count |        closed_path
56-------+---------------------------
57       | ((1,2),(3,4))
58       | ((1,2),(3,4))
59       | ((0,0),(3,0),(4,5),(1,6))
60       | ((1,2),(3,4))
61       | ((1,2),(3,4))
62       | ((1,2),(3,4))
63       | ((11,12),(13,14))
64       | ((11,12),(13,14))
65(8 rows)
66
67SELECT '' AS count, popen(f1) AS open_path FROM PATH_TBL;
68 count |         open_path
69-------+---------------------------
70       | [(1,2),(3,4)]
71       | [(1,2),(3,4)]
72       | [(0,0),(3,0),(4,5),(1,6)]
73       | [(1,2),(3,4)]
74       | [(1,2),(3,4)]
75       | [(1,2),(3,4)]
76       | [(11,12),(13,14)]
77       | [(11,12),(13,14)]
78(8 rows)
79
80