aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/json.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2014-08-05 12:26:25 -0400
committerRobert Haas <rhaas@postgresql.org>2014-08-05 12:28:57 -0400
commit0ef99bdce3a6cd3195d7df12093042c16328c71c (patch)
treef0f1913889488df4a8dff1448a512a360bf95105 /src/backend/utils/adt/json.c
parentee646df59ae76d14f76e6fd305c1f9f2eeafd682 (diff)
downloadpostgresql-0ef99bdce3a6cd3195d7df12093042c16328c71c.tar.gz
postgresql-0ef99bdce3a6cd3195d7df12093042c16328c71c.zip
Improve some JSON error messages.
These messages are new in 9.4, which hasn't been released yet, so back-patch to REL9_4_STABLE. Daniele Varrazzo
Diffstat (limited to 'src/backend/utils/adt/json.c')
-rw-r--r--src/backend/utils/adt/json.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c
index 2f99908fd3f..0c55e9a1a2f 100644
--- a/src/backend/utils/adt/json.c
+++ b/src/backend/utils/adt/json.c
@@ -1910,7 +1910,7 @@ json_object_agg_transfn(PG_FUNCTION_ARGS)
if (val_type == InvalidOid || val_type == UNKNOWNOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg 1: could not determine data type")));
+ errmsg("could not determine data type for argument %d", 1)));
add_json(arg, false, state, val_type, true);
@@ -1934,7 +1934,7 @@ json_object_agg_transfn(PG_FUNCTION_ARGS)
if (val_type == InvalidOid || val_type == UNKNOWNOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg 2: could not determine data type")));
+ errmsg("could not determine data type for argument %d", 2)));
add_json(arg, PG_ARGISNULL(2), state, val_type, false);
@@ -1980,7 +1980,8 @@ json_build_object(PG_FUNCTION_ARGS)
if (nargs % 2 != 0)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("invalid number or arguments: object must be matched key value pairs")));
+ errmsg("invalid number or arguments"),
+ errhint("Object must be matched key value pairs.")));
result = makeStringInfo();
@@ -1994,7 +1995,8 @@ json_build_object(PG_FUNCTION_ARGS)
if (PG_ARGISNULL(i))
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg %d: key cannot be null", i + 1)));
+ errmsg("argument %d cannot be null", i + 1),
+ errhint("Object keys should be text.")));
val_type = get_fn_expr_argtype(fcinfo->flinfo, i);
/*
@@ -2016,7 +2018,8 @@ json_build_object(PG_FUNCTION_ARGS)
if (val_type == InvalidOid || val_type == UNKNOWNOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg %d: could not determine data type", i + 1)));
+ errmsg("could not determine data type for argument %d",
+ i + 1)));
appendStringInfoString(result, sep);
sep = ", ";
add_json(arg, false, result, val_type, true);
@@ -2042,7 +2045,8 @@ json_build_object(PG_FUNCTION_ARGS)
if (val_type == InvalidOid || val_type == UNKNOWNOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg %d: could not determine data type", i + 2)));
+ errmsg("could not determine data type for argument %d",
+ i + 2)));
add_json(arg, PG_ARGISNULL(i + 1), result, val_type, false);
}
@@ -2099,7 +2103,8 @@ json_build_array(PG_FUNCTION_ARGS)
if (val_type == InvalidOid || val_type == UNKNOWNOID)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
- errmsg("arg %d: could not determine data type", i + 1)));
+ errmsg("could not determine data type for argument %d",
+ i + 1)));
appendStringInfoString(result, sep);
sep = ", ";
add_json(arg, PG_ARGISNULL(i), result, val_type, false);