From d02ef65bce6575e10ac0b4e7b8552ff67687c944 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 10 Dec 2022 18:26:43 -0500 Subject: Standardize error reports in unimplemented I/O functions. We chose a specific wording of the not-implemented errors for pseudotype I/O functions and other cases where there's little value in implementing input and/or output. gtsvectorin never got that memo though, nor did most of contrib. Make these all fall in line, mostly because I'm a neatnik but also to remove unnecessary translatable strings. gbtreekey_in needs a bit of extra love since it supports multiple SQL types. Sadly, gbtreekey_out doesn't have the ability to do that, but I think it's unreachable anyway. Noted while surveying datatype input functions to see what we have left to fix. --- contrib/btree_gist/btree_gist.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'contrib/btree_gist/btree_gist.c') diff --git a/contrib/btree_gist/btree_gist.c b/contrib/btree_gist/btree_gist.c index e1dc253c96e..92520aedae1 100644 --- a/contrib/btree_gist/btree_gist.c +++ b/contrib/btree_gist/btree_gist.c @@ -3,7 +3,7 @@ */ #include "postgres.h" -#include "btree_gist.h" +#include "utils/builtins.h" PG_MODULE_MAGIC; @@ -19,22 +19,26 @@ PG_FUNCTION_INFO_V1(gbtreekey_out); Datum gbtreekey_in(PG_FUNCTION_ARGS) { + Oid typioparam = PG_GETARG_OID(1); + ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("key_in() not implemented"))); + errmsg("cannot accept a value of type %s", + format_type_extended(typioparam, -1, + FORMAT_TYPE_ALLOW_INVALID)))); - PG_RETURN_POINTER(NULL); + PG_RETURN_VOID(); /* keep compiler quiet */ } -#include "btree_utils_var.h" -#include "utils/builtins.h" Datum gbtreekey_out(PG_FUNCTION_ARGS) { + /* Sadly, we do not receive any indication of the specific type */ ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("key_out() not implemented"))); - PG_RETURN_POINTER(NULL); + errmsg("cannot display a value of type %s", "gbtreekey?"))); + + PG_RETURN_VOID(); /* keep compiler quiet */ } -- cgit v1.2.3