postgresql/src/test/regress/expected/lseg.out

58 lines
2.0 KiB
Plaintext

--
-- 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)');
ERROR: invalid input syntax for type lseg: "(3asdf,2 ,3,4r2)"
LINE 1: INSERT INTO LSEG_TBL VALUES ('(3asdf,2 ,3,4r2)');
^
INSERT INTO LSEG_TBL VALUES ('[1,2,3, 4');
ERROR: invalid input syntax for type lseg: "[1,2,3, 4"
LINE 1: INSERT INTO LSEG_TBL VALUES ('[1,2,3, 4');
^
INSERT INTO LSEG_TBL VALUES ('[(,2),(3,4)]');
ERROR: invalid input syntax for type lseg: "[(,2),(3,4)]"
LINE 1: INSERT INTO LSEG_TBL VALUES ('[(,2),(3,4)]');
^
INSERT INTO LSEG_TBL VALUES ('[(1,2),(3,4)');
ERROR: invalid input syntax for type lseg: "[(1,2),(3,4)"
LINE 1: INSERT INTO LSEG_TBL VALUES ('[(1,2),(3,4)');
^
select * from LSEG_TBL;
s
-------------------------------
[(1,2),(3,4)]
[(0,0),(6,6)]
[(10,-10),(-3,-4)]
[(-1000000,200),(300000,-40)]
[(11,22),(33,44)]
[(-10,2),(-10,3)]
[(0,-20),(30,-20)]
[(NaN,1),(NaN,90)]
(8 rows)
-- test non-error-throwing API for some core types
SELECT pg_input_is_valid('[(1,2),(3)]', 'lseg');
pg_input_is_valid
-------------------
f
(1 row)
SELECT * FROM pg_input_error_info('[(1,2),(3)]', 'lseg');
message | detail | hint | sql_error_code
---------------------------------------------------+--------+------+----------------
invalid input syntax for type lseg: "[(1,2),(3)]" | | | 22P02
(1 row)