diff options
author | Alexander Korotkov <akorotkov@postgresql.org> | 2021-04-23 12:57:33 +0300 |
---|---|---|
committer | Alexander Korotkov <akorotkov@postgresql.org> | 2021-04-23 13:25:45 +0300 |
commit | 6bbcff096f932a1fe43ac3208c5c8b0acac29cda (patch) | |
tree | f73800aea68771aa4cdfa7b19163146906744d1e /src/backend/utils/adt | |
parent | 3f20d5f37086e548c32ddb9d6ae09c2e1ce300ce (diff) | |
download | postgresql-6bbcff096f932a1fe43ac3208c5c8b0acac29cda.tar.gz postgresql-6bbcff096f932a1fe43ac3208c5c8b0acac29cda.zip |
Mark multirange_constructor0() and multirange_constructor2() strict
These functions shouldn't receive null arguments: multirange_constructor0()
doesn't have any arguments while multirange_constructor2() has a single array
argument, which is never null.
But mark them strict anyway for the sake of uniformity.
Also, make checks for null arguments use elog() instead of ereport() as these
errors should normally be never thrown. And adjust corresponding comments.
Catversion is bumped.
Reported-by: Peter Eisentraut
Discussion: https://postgr.es/m/0f783a96-8d67-9e71-996b-f34a7352eeef%40enterprisedb.com
Diffstat (limited to 'src/backend/utils/adt')
-rw-r--r-- | src/backend/utils/adt/multirangetypes.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/backend/utils/adt/multirangetypes.c b/src/backend/utils/adt/multirangetypes.c index 7ba6ff98604..0b81649779a 100644 --- a/src/backend/utils/adt/multirangetypes.c +++ b/src/backend/utils/adt/multirangetypes.c @@ -216,6 +216,7 @@ multirange_in(PG_FUNCTION_ARGS) parse_state = MULTIRANGE_IN_RANGE_QUOTED; else if (ch == '\\') parse_state = MULTIRANGE_IN_RANGE_ESCAPED; + /* * We will include this character into range_str once we * find the end of the range value. @@ -223,6 +224,7 @@ multirange_in(PG_FUNCTION_ARGS) } break; case MULTIRANGE_IN_RANGE_ESCAPED: + /* * We will include this character into range_str once we find * the end of the range value. @@ -242,8 +244,8 @@ multirange_in(PG_FUNCTION_ARGS) parse_state = MULTIRANGE_IN_RANGE_QUOTED_ESCAPED; /* - * We will include this character into range_str once we - * find the end of the range value. + * We will include this character into range_str once we find + * the end of the range value. */ break; case MULTIRANGE_AFTER_RANGE: @@ -259,6 +261,7 @@ multirange_in(PG_FUNCTION_ARGS) errdetail("Expected comma or end of multirange."))); break; case MULTIRANGE_IN_RANGE_QUOTED_ESCAPED: + /* * We will include this character into range_str once we find * the end of the range value. @@ -951,14 +954,13 @@ multirange_constructor2(PG_FUNCTION_ARGS) PG_RETURN_MULTIRANGE_P(make_multirange(mltrngtypid, rangetyp, 0, NULL)); /* - * These checks should be guaranteed by our signature, but let's do them - * just in case. + * This check should be guaranteed by our signature, but let's do it just + * in case. */ if (PG_ARGISNULL(0)) - ereport(ERROR, - (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), - errmsg("multirange values cannot contain NULL members"))); + elog(ERROR, + "multirange values cannot contain NULL members"); rangeArray = PG_GETARG_ARRAYTYPE_P(0); @@ -1022,14 +1024,13 @@ multirange_constructor1(PG_FUNCTION_ARGS) rangetyp = typcache->rngtype; /* - * These checks should be guaranteed by our signature, but let's do them - * just in case. + * This check should be guaranteed by our signature, but let's do it just + * in case. */ if (PG_ARGISNULL(0)) - ereport(ERROR, - (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED), - errmsg("multirange values cannot contain NULL members"))); + elog(ERROR, + "multirange values cannot contain NULL members"); range = PG_GETARG_RANGE_P(0); |