From 02a5786df24b12c6379ef1b0375b70b8a9fb4925 Mon Sep 17 00:00:00 2001 From: Alexander Korotkov Date: Tue, 31 Mar 2020 17:51:57 +0300 Subject: [PATCH] Improve error reporting in opclasscmds.c This commit improves error reporting introduced by 911e702077. It puts argument of errmsg() to the single line for easier grepping source for error text. Also it improves wording of errhint(). --- src/backend/commands/opclasscmds.c | 9 ++++----- src/test/regress/expected/alter_generic.out | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/backend/commands/opclasscmds.c b/src/backend/commands/opclasscmds.c index f1026de7565..7322cbc154e 100644 --- a/src/backend/commands/opclasscmds.c +++ b/src/backend/commands/opclasscmds.c @@ -1156,16 +1156,14 @@ assignProcTypes(OpFamilyMember *member, Oid amoid, Oid typeoid, (OidIsValid(member->righttype) && member->righttype != typeoid)) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("associated data types for opclass options " - "parsing functions must match opclass input type"))); + errmsg("associated data types for opclass options parsing functions must match opclass input type"))); } else { if (member->lefttype != member->righttype) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("left and right associated data types for " - "opclass options parsing functions must match"))); + errmsg("left and right associated data types for opclass options parsing functions must match"))); } if (procform->prorettype != VOIDOID || @@ -1174,9 +1172,10 @@ assignProcTypes(OpFamilyMember *member, Oid amoid, Oid typeoid, ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("invalid opclass options parsing function"), - errhint("opclass options parsing function must have signature '%s'", + errhint("Valid signature of opclass options parsing function is '%s'.", "(internal) RETURNS void"))); } + /* * btree comparison procs must be 2-arg procs returning int4. btree * sortsupport procs must take internal and return void. btree in_range diff --git a/src/test/regress/expected/alter_generic.out b/src/test/regress/expected/alter_generic.out index b2a451a83f3..1e50b69ea50 100644 --- a/src/test/regress/expected/alter_generic.out +++ b/src/test/regress/expected/alter_generic.out @@ -506,7 +506,7 @@ ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 test_opclass_options_ ERROR: function test_opclass_options_func(internal, text[], boolean) does not exist ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4) btint42cmp(int4, int2); ERROR: invalid opclass options parsing function -HINT: opclass options parsing function must have signature '(internal) RETURNS void' +HINT: Valid signature of opclass options parsing function is '(internal) RETURNS void'. ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4, int2) btint42cmp(int4, int2); ERROR: left and right associated data types for opclass options parsing functions must match ALTER OPERATOR FAMILY alt_opf19 USING btree ADD FUNCTION 5 (int4) test_opclass_options_func(internal); -- Ok