Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit12cc956

Browse files
committed
Improve some error wording with multirange type parsing
Braces were referred in some error messages as only brackets (not curlybrackets or curly braces), which can be confusing as other types ofbrackets could be used.While on it, add one test to check after the case of junk charactersdetected after a right brace.Author: Kyotaro HoriguchiDiscussion:https://postgr.es/m/20210514.153153.1814935914483287479.horikyota.ntt@gmail.com
1 parentba356a3 commit12cc956

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

‎src/backend/utils/adt/multirangetypes.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ multirange_in(PG_FUNCTION_ARGS)
146146
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
147147
errmsg("malformed multirange literal: \"%s\"",
148148
input_str),
149-
errdetail("Missing leftbracket.")));
149+
errdetail("Missing leftbrace.")));
150150

151151
/* consume ranges */
152152
parse_state=MULTIRANGE_BEFORE_RANGE;
@@ -282,7 +282,7 @@ multirange_in(PG_FUNCTION_ARGS)
282282
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
283283
errmsg("malformed multirange literal: \"%s\"",
284284
input_str),
285-
errdetail("Junk after rightbracket.")));
285+
errdetail("Junk after rightbrace.")));
286286

287287
ret=make_multirange(mltrngtypoid,rangetyp,range_count,ranges);
288288
PG_RETURN_MULTIRANGE_P(ret);

‎src/test/regress/expected/multirangetypes.out

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@ select ''::textmultirange;
77
ERROR: malformed multirange literal: ""
88
LINE 1: select ''::textmultirange;
99
^
10-
DETAIL: Missing leftbracket.
10+
DETAIL: Missing leftbrace.
1111
select '{,}'::textmultirange;
1212
ERROR: malformed multirange literal: "{,}"
1313
LINE 1: select '{,}'::textmultirange;
1414
^
1515
DETAIL: Expected range start.
16+
select '{(,)}.'::textmultirange;
17+
ERROR: malformed multirange literal: "{(,)}."
18+
LINE 1: select '{(,)}.'::textmultirange;
19+
^
20+
DETAIL: Junk after right brace.
1621
select '{[a,c),}'::textmultirange;
1722
ERROR: malformed multirange literal: "{[a,c),}"
1823
LINE 1: select '{[a,c),}'::textmultirange;

‎src/test/regress/sql/multirangetypes.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
-- negative tests; should fail
88
select''::textmultirange;
99
select'{,}'::textmultirange;
10+
select'{(,)}.'::textmultirange;
1011
select'{[a,c),}'::textmultirange;
1112
select'{,[a,c)}'::textmultirange;
1213
select'{-[a,z)}'::textmultirange;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp