Message style improvements
This commit is contained in:
parent
7890a42347
commit
f46dc96fcc
@ -498,7 +498,7 @@ DefineType(ParseState *pstate, List *names, List *parameters)
|
||||
analyzeOid = findTypeAnalyzeFunction(analyzeName, typoid);
|
||||
|
||||
/*
|
||||
* Likewise look up the subscripting procedure if any. If it is not
|
||||
* Likewise look up the subscripting function if any. If it is not
|
||||
* specified, but a typelem is specified, allow that if
|
||||
* raw_array_subscript_handler can be used. (This is for backwards
|
||||
* compatibility; maybe someday we should throw an error instead.)
|
||||
@ -512,7 +512,7 @@ DefineType(ParseState *pstate, List *names, List *parameters)
|
||||
else
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
||||
errmsg("element type cannot be specified without a valid subscripting procedure")));
|
||||
errmsg("element type cannot be specified without a subscripting function")));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -840,7 +840,7 @@ DefineDomain(CreateDomainStmt *stmt)
|
||||
analyzeProcedure = baseType->typanalyze;
|
||||
|
||||
/*
|
||||
* Domains don't need a subscript procedure, since they are not
|
||||
* Domains don't need a subscript function, since they are not
|
||||
* subscriptable on their own. If the base type is subscriptable, the
|
||||
* parser will reduce the type to the base type before subscripting.
|
||||
*/
|
||||
|
@ -368,8 +368,8 @@ set_authn_id(Port *port, const char *id)
|
||||
* connection continue, either.
|
||||
*/
|
||||
ereport(FATAL,
|
||||
(errmsg("connection was re-authenticated"),
|
||||
errdetail_log("previous ID: \"%s\"; new ID: \"%s\"",
|
||||
(errmsg("authentication identifier set more than once"),
|
||||
errdetail_log("previous identifier: \"%s\"; new identifier: \"%s\"",
|
||||
port->authn_id, id)));
|
||||
}
|
||||
|
||||
|
@ -1392,7 +1392,7 @@ X509_NAME_to_cstring(X509_NAME *name)
|
||||
if (membuf == NULL)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_OUT_OF_MEMORY),
|
||||
errmsg("failed to create BIO")));
|
||||
errmsg("could not create BIO")));
|
||||
|
||||
(void) BIO_set_close(membuf, BIO_CLOSE);
|
||||
for (i = 0; i < count; i++)
|
||||
|
@ -100,9 +100,8 @@ jsonb_subscript_transform(SubscriptingRef *sbsref,
|
||||
if (targetType != UNKNOWNOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATATYPE_MISMATCH),
|
||||
errmsg("subscript type is not supported"),
|
||||
errhint("Jsonb subscript must be coerced "
|
||||
"only to one type, integer or text."),
|
||||
errmsg("subscript type %s is not supported", format_type_be(subExprType)),
|
||||
errhint("jsonb subscript must be coercible to only one type, integer or text."),
|
||||
parser_errposition(pstate, exprLocation(subExpr))));
|
||||
|
||||
targetType = targets[i];
|
||||
@ -115,8 +114,8 @@ jsonb_subscript_transform(SubscriptingRef *sbsref,
|
||||
if (targetType == UNKNOWNOID)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATATYPE_MISMATCH),
|
||||
errmsg("subscript type is not supported"),
|
||||
errhint("Jsonb subscript must be coerced to either integer or text"),
|
||||
errmsg("subscript type %s is not supported", format_type_be(subExprType)),
|
||||
errhint("jsonb subscript must be coercible to either integer or text."),
|
||||
parser_errposition(pstate, exprLocation(subExpr))));
|
||||
}
|
||||
else
|
||||
|
@ -961,7 +961,7 @@ multirange_constructor2(PG_FUNCTION_ARGS)
|
||||
|
||||
if (PG_ARGISNULL(0))
|
||||
elog(ERROR,
|
||||
"multirange values cannot contain NULL members");
|
||||
"multirange values cannot contain null members");
|
||||
|
||||
rangeArray = PG_GETARG_ARRAYTYPE_P(0);
|
||||
|
||||
@ -973,9 +973,7 @@ multirange_constructor2(PG_FUNCTION_ARGS)
|
||||
|
||||
rngtypid = ARR_ELEMTYPE(rangeArray);
|
||||
if (rngtypid != rangetyp->type_id)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATATYPE_MISMATCH),
|
||||
errmsg("type %u does not match constructor type", rngtypid)));
|
||||
elog(ERROR, "type %u does not match constructor type", rngtypid);
|
||||
|
||||
/*
|
||||
* Be careful: we can still be called with zero ranges, like this:
|
||||
@ -997,7 +995,7 @@ multirange_constructor2(PG_FUNCTION_ARGS)
|
||||
if (nulls[i])
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
|
||||
errmsg("multirange values cannot contain NULL members")));
|
||||
errmsg("multirange values cannot contain null members")));
|
||||
|
||||
/* make_multirange will do its own copy */
|
||||
ranges[i] = DatumGetRangeTypeP(elements[i]);
|
||||
@ -1031,16 +1029,14 @@ multirange_constructor1(PG_FUNCTION_ARGS)
|
||||
|
||||
if (PG_ARGISNULL(0))
|
||||
elog(ERROR,
|
||||
"multirange values cannot contain NULL members");
|
||||
"multirange values cannot contain null members");
|
||||
|
||||
range = PG_GETARG_RANGE_P(0);
|
||||
|
||||
/* Make sure the range type matches. */
|
||||
rngtypid = RangeTypeGetOid(range);
|
||||
if (rngtypid != rangetyp->type_id)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_DATATYPE_MISMATCH),
|
||||
errmsg("type %u does not match constructor type", rngtypid)));
|
||||
elog(ERROR, "type %u does not match constructor type", rngtypid);
|
||||
|
||||
PG_RETURN_MULTIRANGE_P(make_multirange(mltrngtypid, rangetyp, 1, &range));
|
||||
}
|
||||
|
@ -4822,10 +4822,10 @@ select ('[1, "2", null]'::jsonb)['1'];
|
||||
(1 row)
|
||||
|
||||
select ('[1, "2", null]'::jsonb)[1.0];
|
||||
ERROR: subscript type is not supported
|
||||
ERROR: subscript type numeric is not supported
|
||||
LINE 1: select ('[1, "2", null]'::jsonb)[1.0];
|
||||
^
|
||||
HINT: Jsonb subscript must be coerced to either integer or text
|
||||
HINT: jsonb subscript must be coercible to either integer or text.
|
||||
select ('[1, "2", null]'::jsonb)[2];
|
||||
jsonb
|
||||
-------
|
||||
|
Loading…
x
Reference in New Issue
Block a user