mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
Improve some error wording with multirange type parsing
Braces were referred in some error messages as only brackets (not curly brackets or curly braces), which can be confusing as other types of brackets could be used. While on it, add one test to check after the case of junk characters detected after a right brace. Author: Kyotaro Horiguchi Discussion: https://postgr.es/m/20210514.153153.1814935914483287479.horikyota.ntt@gmail.com
This commit is contained in:
parent
ba356a397d
commit
12cc956664
@ -146,7 +146,7 @@ multirange_in(PG_FUNCTION_ARGS)
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("malformed multirange literal: \"%s\"",
|
||||
input_str),
|
||||
errdetail("Missing left bracket.")));
|
||||
errdetail("Missing left brace.")));
|
||||
|
||||
/* consume ranges */
|
||||
parse_state = MULTIRANGE_BEFORE_RANGE;
|
||||
@ -282,7 +282,7 @@ multirange_in(PG_FUNCTION_ARGS)
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("malformed multirange literal: \"%s\"",
|
||||
input_str),
|
||||
errdetail("Junk after right bracket.")));
|
||||
errdetail("Junk after right brace.")));
|
||||
|
||||
ret = make_multirange(mltrngtypoid, rangetyp, range_count, ranges);
|
||||
PG_RETURN_MULTIRANGE_P(ret);
|
||||
|
@ -7,12 +7,17 @@ select ''::textmultirange;
|
||||
ERROR: malformed multirange literal: ""
|
||||
LINE 1: select ''::textmultirange;
|
||||
^
|
||||
DETAIL: Missing left bracket.
|
||||
DETAIL: Missing left brace.
|
||||
select '{,}'::textmultirange;
|
||||
ERROR: malformed multirange literal: "{,}"
|
||||
LINE 1: select '{,}'::textmultirange;
|
||||
^
|
||||
DETAIL: Expected range start.
|
||||
select '{(,)}.'::textmultirange;
|
||||
ERROR: malformed multirange literal: "{(,)}."
|
||||
LINE 1: select '{(,)}.'::textmultirange;
|
||||
^
|
||||
DETAIL: Junk after right brace.
|
||||
select '{[a,c),}'::textmultirange;
|
||||
ERROR: malformed multirange literal: "{[a,c),}"
|
||||
LINE 1: select '{[a,c),}'::textmultirange;
|
||||
|
@ -7,6 +7,7 @@
|
||||
-- negative tests; should fail
|
||||
select ''::textmultirange;
|
||||
select '{,}'::textmultirange;
|
||||
select '{(,)}.'::textmultirange;
|
||||
select '{[a,c),}'::textmultirange;
|
||||
select '{,[a,c)}'::textmultirange;
|
||||
select '{-[a,z)}'::textmultirange;
|
||||
|
Loading…
x
Reference in New Issue
Block a user