summaryrefslogtreecommitdiffstats
path: root/src/test/regress/sql/path.sql
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:44:03 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-13 13:44:03 +0000
commit293913568e6a7a86fd1479e1cff8e2ecb58d6568 (patch)
treefc3b469a3ec5ab71b36ea97cc7aaddb838423a0c /src/test/regress/sql/path.sql
parentInitial commit. (diff)
downloadpostgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.tar.xz
postgresql-16-293913568e6a7a86fd1479e1cff8e2ecb58d6568.zip
Adding upstream version 16.2.upstream/16.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/regress/sql/path.sql')
-rw-r--r--src/test/regress/sql/path.sql50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/regress/sql/path.sql b/src/test/regress/sql/path.sql
new file mode 100644
index 0000000..8422ba9
--- /dev/null
+++ b/src/test/regress/sql/path.sql
@@ -0,0 +1,50 @@
+--
+-- PATH
+--
+
+--DROP TABLE PATH_TBL;
+
+CREATE TABLE PATH_TBL (f1 path);
+
+INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)]');
+
+INSERT INTO PATH_TBL VALUES (' ( ( 1 , 2 ) , ( 3 , 4 ) ) ');
+
+INSERT INTO PATH_TBL VALUES ('[ (0,0),(3,0),(4,5),(1,6) ]');
+
+INSERT INTO PATH_TBL VALUES ('((1,2) ,(3,4 ))');
+
+INSERT INTO PATH_TBL VALUES ('1,2 ,3,4 ');
+
+INSERT INTO PATH_TBL VALUES (' [1,2,3, 4] ');
+
+INSERT INTO PATH_TBL VALUES ('((10,20))'); -- Only one point
+
+INSERT INTO PATH_TBL VALUES ('[ 11,12,13,14 ]');
+
+INSERT INTO PATH_TBL VALUES ('( 11,12,13,14) ');
+
+-- bad values for parser testing
+INSERT INTO PATH_TBL VALUES ('[]');
+
+INSERT INTO PATH_TBL VALUES ('[(,2),(3,4)]');
+
+INSERT INTO PATH_TBL VALUES ('[(1,2),(3,4)');
+
+INSERT INTO PATH_TBL VALUES ('(1,2,3,4');
+
+INSERT INTO PATH_TBL VALUES ('(1,2),(3,4)]');
+
+SELECT f1 AS open_path FROM PATH_TBL WHERE isopen(f1);
+
+SELECT f1 AS closed_path FROM PATH_TBL WHERE isclosed(f1);
+
+SELECT pclose(f1) AS closed_path FROM PATH_TBL;
+
+SELECT popen(f1) AS open_path FROM PATH_TBL;
+
+-- test non-error-throwing API for some core types
+SELECT pg_input_is_valid('[(1,2),(3)]', 'path');
+SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'path');
+SELECT pg_input_is_valid('[(1,2,6),(3,4,6)]', 'path');
+SELECT * FROM pg_input_error_info('[(1,2,6),(3,4,6)]', 'path');