Peter Eisentraut <peter_e@gmx.net> writes:
> There are a few error messages like this in the code:
> /*
> * We rely on being able to get the specific enum type from the calling
> * expression tree. The generic type mechanism should have ensured that
> * both are of the same type.
> */
> enumtypoid = get_fn_expr_argtype(fcinfo->flinfo, 0);
> if (enumtypoid == InvalidOid)
> ereport(ERROR,
> (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> errmsg("could not determine actual enum type")));
> First, isn't this an internal error?
Not necessarily; there are many code paths by which a function could get
called without argument-type info. Thus the FEATURE_NOT_SUPPORTED
classification.
> What is an actual enum type? And how should a user react if he got this
> message? I would ask, "why not?".
Yeah, I would too, but without a concrete example to look at it's hard
to say if the situation could be improved.
regards, tom lane