summaryrefslogtreecommitdiffstats
path: root/src/test/regress/sql/lseg.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/lseg.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 '')
-rw-r--r--src/test/regress/sql/lseg.sql28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/regress/sql/lseg.sql b/src/test/regress/sql/lseg.sql
new file mode 100644
index 0000000..d38a83e
--- /dev/null
+++ b/src/test/regress/sql/lseg.sql
@@ -0,0 +1,28 @@
+--
+-- LSEG
+-- Line segments
+--
+
+--DROP TABLE LSEG_TBL;
+CREATE TABLE LSEG_TBL (s lseg);
+
+INSERT INTO LSEG_TBL VALUES ('[(1,2),(3,4)]');
+INSERT INTO LSEG_TBL VALUES ('(0,0),(6,6)');
+INSERT INTO LSEG_TBL VALUES ('10,-10 ,-3,-4');
+INSERT INTO LSEG_TBL VALUES ('[-1e6,2e2,3e5, -4e1]');
+INSERT INTO LSEG_TBL VALUES (lseg(point(11, 22), point(33,44)));
+INSERT INTO LSEG_TBL VALUES ('[(-10,2),(-10,3)]'); -- vertical
+INSERT INTO LSEG_TBL VALUES ('[(0,-20),(30,-20)]'); -- horizontal
+INSERT INTO LSEG_TBL VALUES ('[(NaN,1),(NaN,90)]'); -- NaN
+
+-- bad values for parser testing
+INSERT INTO LSEG_TBL VALUES ('(3asdf,2 ,3,4r2)');
+INSERT INTO LSEG_TBL VALUES ('[1,2,3, 4');
+INSERT INTO LSEG_TBL VALUES ('[(,2),(3,4)]');
+INSERT INTO LSEG_TBL VALUES ('[(1,2),(3,4)');
+
+select * from LSEG_TBL;
+
+-- test non-error-throwing API for some core types
+SELECT pg_input_is_valid('[(1,2),(3)]', 'lseg');
+SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'lseg');