diff --git a/src/backend/utils/adt/multirangetypes.c b/src/backend/utils/adt/multirangetypes.c index 0b81649779..fbcc27d072 100644 --- a/src/backend/utils/adt/multirangetypes.c +++ b/src/backend/utils/adt/multirangetypes.c @@ -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); diff --git a/src/test/regress/expected/multirangetypes.out b/src/test/regress/expected/multirangetypes.out index 04953a5990..98ac592127 100644 --- a/src/test/regress/expected/multirangetypes.out +++ b/src/test/regress/expected/multirangetypes.out @@ -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; diff --git a/src/test/regress/sql/multirangetypes.sql b/src/test/regress/sql/multirangetypes.sql index 692f2416d9..3cbebedcd4 100644 --- a/src/test/regress/sql/multirangetypes.sql +++ b/src/test/regress/sql/multirangetypes.sql @@ -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;