diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2022-12-14 18:03:11 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2022-12-14 18:03:11 -0500 |
commit | 90161dad4dd719f44255474f4471af916f2a28f0 (patch) | |
tree | 3133eabda50dd4b11f4d02aecefe875b7961547d /src/test | |
parent | 47f3f97fcdee28e3eb70cd2ebfd7b4899570b018 (diff) | |
download | postgresql-90161dad4dd719f44255474f4471af916f2a28f0.tar.gz postgresql-90161dad4dd719f44255474f4471af916f2a28f0.zip |
Convert a few more datatype input functions to report errors softly.
Convert cash_in and uuid_in to the new style.
Amul Sul, minor mods by me
Discussion: https://postgr.es/m/CAAJ_b97KeDWUdpTKGOaFYPv0OicjOu6EW+QYWj-Ywrgj_aEy1g@mail.gmail.com
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/regress/expected/money.out | 25 | ||||
-rw-r--r-- | src/test/regress/expected/uuid.out | 13 | ||||
-rw-r--r-- | src/test/regress/sql/money.sql | 6 | ||||
-rw-r--r-- | src/test/regress/sql/uuid.sql | 4 |
4 files changed, 48 insertions, 0 deletions
diff --git a/src/test/regress/expected/money.out b/src/test/regress/expected/money.out index fc71a72fed3..46b2eab51ab 100644 --- a/src/test/regress/expected/money.out +++ b/src/test/regress/expected/money.out @@ -331,6 +331,31 @@ SELECT '($123,456.78)'::money; -$123,456.78 (1 row) +-- test non-error-throwing API +SELECT pg_input_is_valid('\x0001', 'money'); + pg_input_is_valid +------------------- + f +(1 row) + +SELECT pg_input_error_message('\x0001', 'money'); + pg_input_error_message +----------------------------------------------- + invalid input syntax for type money: "\x0001" +(1 row) + +SELECT pg_input_is_valid('192233720368547758.07', 'money'); + pg_input_is_valid +------------------- + f +(1 row) + +SELECT pg_input_error_message('192233720368547758.07', 'money'); + pg_input_error_message +-------------------------------------------------------------- + value "192233720368547758.07" is out of range for type money +(1 row) + -- documented minimums and maximums SELECT '-92233720368547758.08'::money; money diff --git a/src/test/regress/expected/uuid.out b/src/test/regress/expected/uuid.out index 090103df48a..0f472320096 100644 --- a/src/test/regress/expected/uuid.out +++ b/src/test/regress/expected/uuid.out @@ -39,6 +39,19 @@ INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111'); ERROR: invalid input syntax for type uuid: "11+11111-1111-1111-1111-111111111111" LINE 1: INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-111... ^ +-- test non-error-throwing API +SELECT pg_input_is_valid('11', 'uuid'); + pg_input_is_valid +------------------- + f +(1 row) + +SELECT pg_input_error_message('11', 'uuid'); + pg_input_error_message +------------------------------------------ + invalid input syntax for type uuid: "11" +(1 row) + --inserting three input formats INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111'); INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}'); diff --git a/src/test/regress/sql/money.sql b/src/test/regress/sql/money.sql index 5e746286c90..cd9a089e012 100644 --- a/src/test/regress/sql/money.sql +++ b/src/test/regress/sql/money.sql @@ -88,6 +88,12 @@ SELECT '-9223372036854775808'::money; SELECT '(1)'::money; SELECT '($123,456.78)'::money; +-- test non-error-throwing API +SELECT pg_input_is_valid('\x0001', 'money'); +SELECT pg_input_error_message('\x0001', 'money'); +SELECT pg_input_is_valid('192233720368547758.07', 'money'); +SELECT pg_input_error_message('192233720368547758.07', 'money'); + -- documented minimums and maximums SELECT '-92233720368547758.08'::money; SELECT '92233720368547758.07'::money; diff --git a/src/test/regress/sql/uuid.sql b/src/test/regress/sql/uuid.sql index 3bd3b357c77..37d954eda10 100644 --- a/src/test/regress/sql/uuid.sql +++ b/src/test/regress/sql/uuid.sql @@ -23,6 +23,10 @@ INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222 '); INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-G111-111111111111'); INSERT INTO guid1(guid_field) VALUES('11+11111-1111-1111-1111-111111111111'); +-- test non-error-throwing API +SELECT pg_input_is_valid('11', 'uuid'); +SELECT pg_input_error_message('11', 'uuid'); + --inserting three input formats INSERT INTO guid1(guid_field) VALUES('11111111-1111-1111-1111-111111111111'); INSERT INTO guid1(guid_field) VALUES('{22222222-2222-2222-2222-222222222222}'); |