mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-30 13:41:20 +02:00
Make SQL/JSON error code names match SQL standard
There were some minor differences that didn't seem necessary. Discussion: https://www.postgresql.org/message-id/flat/86b67eef-bb26-c97d-3e35-64f1fbd4f9fe%402ndquadrant.com
This commit is contained in:
parent
37093766b2
commit
a00c53b0cb
@ -337,7 +337,7 @@ jsonb_path_match(PG_FUNCTION_ARGS)
|
||||
|
||||
if (!silent)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SINGLETON_JSON_ITEM_REQUIRED),
|
||||
(errcode(ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED),
|
||||
errmsg("single boolean result is expected")));
|
||||
|
||||
PG_RETURN_NULL();
|
||||
@ -602,7 +602,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
return jperError;
|
||||
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_MEMBER_NOT_FOUND), \
|
||||
(errcode(ERRCODE_SQL_JSON_MEMBER_NOT_FOUND), \
|
||||
errmsg("JSON object does not contain key \"%s\"",
|
||||
pnstrdup(key.val.string.val,
|
||||
key.val.string.len))));
|
||||
@ -614,7 +614,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
{
|
||||
Assert(found);
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_MEMBER_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_MEMBER_NOT_FOUND),
|
||||
errmsg("jsonpath member accessor can only be applied to an object"))));
|
||||
}
|
||||
break;
|
||||
@ -643,7 +643,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
res = executeNextItem(cxt, jsp, NULL, jb, found, true);
|
||||
else if (!jspIgnoreStructuralErrors(cxt))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_ARRAY_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_ARRAY_NOT_FOUND),
|
||||
errmsg("jsonpath wildcard array accessor can only be applied to an array"))));
|
||||
break;
|
||||
|
||||
@ -691,7 +691,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
index_from > index_to ||
|
||||
index_to >= size))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_JSON_SUBSCRIPT),
|
||||
(errcode(ERRCODE_INVALID_SQL_JSON_SUBSCRIPT),
|
||||
errmsg("jsonpath array subscript is out of bounds"))));
|
||||
|
||||
if (index_from < 0)
|
||||
@ -748,7 +748,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
else if (!jspIgnoreStructuralErrors(cxt))
|
||||
{
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_ARRAY_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_ARRAY_NOT_FOUND),
|
||||
errmsg("jsonpath array accessor can only be applied to an array"))));
|
||||
}
|
||||
break;
|
||||
@ -802,7 +802,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
{
|
||||
Assert(found);
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_OBJECT_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_OBJECT_NOT_FOUND),
|
||||
errmsg("jsonpath wildcard member accessor can only be applied to an object"))));
|
||||
}
|
||||
break;
|
||||
@ -932,7 +932,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
{
|
||||
if (!jspIgnoreStructuralErrors(cxt))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_ARRAY_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_ARRAY_NOT_FOUND),
|
||||
errmsg("jsonpath item method .%s() can only be applied to an array",
|
||||
jspOperationName(jsp->type)))));
|
||||
break;
|
||||
@ -986,7 +986,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
|
||||
if (have_error)
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_NON_NUMERIC_JSON_ITEM),
|
||||
(errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM),
|
||||
errmsg("jsonpath item method .%s() can only be applied to a numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
res = jperOk;
|
||||
@ -1007,7 +1007,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
|
||||
if (have_error || isinf(val))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_NON_NUMERIC_JSON_ITEM),
|
||||
(errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM),
|
||||
errmsg("jsonpath item method .%s() can only be applied to a numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
@ -1020,7 +1020,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
|
||||
if (res == jperNotFound)
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_NON_NUMERIC_JSON_ITEM),
|
||||
(errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM),
|
||||
errmsg("jsonpath item method .%s() can only be applied to a string or numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
@ -1504,14 +1504,14 @@ executeBinaryArithmExpr(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
if (JsonValueListLength(&lseq) != 1 ||
|
||||
!(lval = getScalar(JsonValueListHead(&lseq), jbvNumeric)))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_SINGLETON_JSON_ITEM_REQUIRED),
|
||||
(errcode(ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED),
|
||||
errmsg("left operand of jsonpath operator %s is not a single numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
if (JsonValueListLength(&rseq) != 1 ||
|
||||
!(rval = getScalar(JsonValueListHead(&rseq), jbvNumeric)))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_SINGLETON_JSON_ITEM_REQUIRED),
|
||||
(errcode(ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED),
|
||||
errmsg("right operand of jsonpath operator %s is not a single numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
@ -1579,7 +1579,7 @@ executeUnaryArithmExpr(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
continue; /* skip non-numerics processing */
|
||||
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_NUMBER_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_NUMBER_NOT_FOUND),
|
||||
errmsg("operand of unary jsonpath operator %s is not a numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
}
|
||||
@ -1701,7 +1701,7 @@ executeNumericItemMethod(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
|
||||
if (!(jb = getScalar(jb, jbvNumeric)))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_NON_NUMERIC_JSON_ITEM),
|
||||
(errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM),
|
||||
errmsg("jsonpath item method .%s() can only be applied to a numeric value",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
@ -1760,7 +1760,7 @@ executeKeyValueMethod(JsonPathExecContext *cxt, JsonPathItem *jsp,
|
||||
|
||||
if (JsonbType(jb) != jbvObject || jb->type != jbvBinary)
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_JSON_OBJECT_NOT_FOUND),
|
||||
(errcode(ERRCODE_SQL_JSON_OBJECT_NOT_FOUND),
|
||||
errmsg("jsonpath item method .%s() can only be applied to an object",
|
||||
jspOperationName(jsp->type)))));
|
||||
|
||||
@ -2190,7 +2190,7 @@ getArrayIndex(JsonPathExecContext *cxt, JsonPathItem *jsp, JsonbValue *jb,
|
||||
if (JsonValueListLength(&found) != 1 ||
|
||||
!(jbv = getScalar(JsonValueListHead(&found), jbvNumeric)))
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_JSON_SUBSCRIPT),
|
||||
(errcode(ERRCODE_INVALID_SQL_JSON_SUBSCRIPT),
|
||||
errmsg("jsonpath array subscript is not a single numeric value"))));
|
||||
|
||||
numeric_index = DirectFunctionCall2(numeric_trunc,
|
||||
@ -2202,7 +2202,7 @@ getArrayIndex(JsonPathExecContext *cxt, JsonPathItem *jsp, JsonbValue *jb,
|
||||
|
||||
if (have_error)
|
||||
RETURN_ERROR(ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_JSON_SUBSCRIPT),
|
||||
(errcode(ERRCODE_INVALID_SQL_JSON_SUBSCRIPT),
|
||||
errmsg("jsonpath array subscript is out of integer range"))));
|
||||
|
||||
return jperOk;
|
||||
|
@ -208,19 +208,19 @@ Section: Class 22 - Data Exception
|
||||
2200T E ERRCODE_INVALID_XML_PROCESSING_INSTRUCTION invalid_xml_processing_instruction
|
||||
22030 E ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE duplicate_json_object_key_value
|
||||
22032 E ERRCODE_INVALID_JSON_TEXT invalid_json_text
|
||||
22033 E ERRCODE_INVALID_JSON_SUBSCRIPT invalid_json_subscript
|
||||
22034 E ERRCODE_MORE_THAN_ONE_JSON_ITEM more_than_one_json_item
|
||||
22035 E ERRCODE_NO_JSON_ITEM no_json_item
|
||||
22036 E ERRCODE_NON_NUMERIC_JSON_ITEM non_numeric_json_item
|
||||
22037 E ERRCODE_NON_UNIQUE_KEYS_IN_JSON_OBJECT non_unique_keys_in_json_object
|
||||
22038 E ERRCODE_SINGLETON_JSON_ITEM_REQUIRED singleton_json_item_required
|
||||
22039 E ERRCODE_JSON_ARRAY_NOT_FOUND json_array_not_found
|
||||
2203A E ERRCODE_JSON_MEMBER_NOT_FOUND json_member_not_found
|
||||
2203B E ERRCODE_JSON_NUMBER_NOT_FOUND json_number_not_found
|
||||
2203C E ERRCODE_JSON_OBJECT_NOT_FOUND object_not_found
|
||||
2203F E ERRCODE_JSON_SCALAR_REQUIRED json_scalar_required
|
||||
22033 E ERRCODE_INVALID_SQL_JSON_SUBSCRIPT invalid_sql_json_subscript
|
||||
22034 E ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM more_than_one_sql_json_item
|
||||
22035 E ERRCODE_NO_SQL_JSON_ITEM no_sql_json_item
|
||||
22036 E ERRCODE_NON_NUMERIC_SQL_JSON_ITEM non_numeric_sql_json_item
|
||||
22037 E ERRCODE_NON_UNIQUE_KEYS_IN_A_JSON_OBJECT non_unique_keys_in_a_json_object
|
||||
22038 E ERRCODE_SINGLETON_SQL_JSON_ITEM_REQUIRED singleton_sql_json_item_required
|
||||
22039 E ERRCODE_SQL_JSON_ARRAY_NOT_FOUND sql_json_array_not_found
|
||||
2203A E ERRCODE_SQL_JSON_MEMBER_NOT_FOUND sql_json_member_not_found
|
||||
2203B E ERRCODE_SQL_JSON_NUMBER_NOT_FOUND sql_json_number_not_found
|
||||
2203C E ERRCODE_SQL_JSON_OBJECT_NOT_FOUND sql_json_object_not_found
|
||||
2203D E ERRCODE_TOO_MANY_JSON_ARRAY_ELEMENTS too_many_json_array_elements
|
||||
2203E E ERRCODE_TOO_MANY_JSON_OBJECT_MEMBERS too_many_json_object_members
|
||||
2203F E ERRCODE_SQL_JSON_SCALAR_REQUIRED sql_json_scalar_required
|
||||
|
||||
Section: Class 23 - Integrity Constraint Violation
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user