mirror of
https://github.com/postgres/postgres.git
synced 2026-02-15 00:33:54 -05:00
pg_input_error_info() is now a SQL function able to return a row with more than just the error message generated for incorrect data type inputs when these are able to handle soft failures, returning more contents of ErrorData, as of: - The error message (same as before). - The error detail, if set. - The error hint, if set. - SQL error code. All the regression tests that relied on pg_input_error_message() are updated to reflect the effects of the rename. Per discussion with Tom Lane and Andrew Dunstan. Author: Nathan Bossart Discussion: https://postgr.es/m/139a68e1-bd1f-a9a7-b5fe-0be9845c6311@dunslane.net
28 lines
937 B
SQL
28 lines
937 B
SQL
--
|
|
-- 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');
|