From 085e759e9da77b7f5e859d23f72653f36277a053 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 22 Mar 2024 12:00:14 +0900 Subject: [PATCH] Avoid splitting errmsg string to span multiple lines The error message being fixed was added in 6185c9737c. While at it, add an "a" to the sentence. Reported-by: Kyotaro Horiguchi Discussion: https://postgr.es/m/20240322.095149.895185546948714852.horikyota.ntt%40gmail.com --- src/backend/parser/parse_expr.c | 4 +--- src/test/regress/expected/sqljson_queryfuncs.out | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 7166138bf76..73c83cea4ac 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -4586,9 +4586,7 @@ transformJsonBehavior(ParseState *pstate, JsonBehavior *behavior, !IsA(expr, OpExpr)) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("can only specify constant, non-aggregate" - " function, or operator expression for" - " DEFAULT"), + errmsg("can only specify a constant, non-aggregate function, or operator expression for DEFAULT"), parser_errposition(pstate, exprLocation(expr)))); if (contain_var_clause(expr)) ereport(ERROR, diff --git a/src/test/regress/expected/sqljson_queryfuncs.out b/src/test/regress/expected/sqljson_queryfuncs.out index 5a537d06551..873cbac9606 100644 --- a/src/test/regress/expected/sqljson_queryfuncs.out +++ b/src/test/regress/expected/sqljson_queryfuncs.out @@ -1203,11 +1203,11 @@ ERROR: DEFAULT expression must not contain column references LINE 1: SELECT JSON_QUERY(js, '$' RETURNING int DEFAULT b + 1 ON ER... ^ SELECT JSON_QUERY(js, '$' RETURNING int DEFAULT sum(1) over() ON ERROR) FROM test_jsonb_mutability; -ERROR: can only specify constant, non-aggregate function, or operator expression for DEFAULT +ERROR: can only specify a constant, non-aggregate function, or operator expression for DEFAULT LINE 1: SELECT JSON_QUERY(js, '$' RETURNING int DEFAULT sum(1) over... ^ SELECT JSON_QUERY(js, '$' RETURNING int DEFAULT (SELECT 1) ON ERROR) FROM test_jsonb_mutability; -ERROR: can only specify constant, non-aggregate function, or operator expression for DEFAULT +ERROR: can only specify a constant, non-aggregate function, or operator expression for DEFAULT LINE 1: SELECT JSON_QUERY(js, '$' RETURNING int DEFAULT (SELECT 1) ... ^ DROP TABLE test_jsonb_mutability;