Brendan Jurd <blakjak(at)blakjak(dot)sytes(dot)net> writes:
> ERROR: query-specified return row and actual function return row do not
> match
> With that in mind, I'd like to submit a request, that the verbosity of
> this error message be increased to explain which ordinal column position
> the error occurred at, and, if possible, the details of the mismatch.
This is a fairly trivial change, but unfortunately it's too late for
8.0, because we froze error message texts some time ago (for the benefit
of translators).
If you want to start working on a patch for 8.1, look in
src/backend/executor/nodeFunctionscan.c. I'd be inclined to forget the
bool return convention for tupledesc_match() and just have it ereport
directly when it sees a problem. The rowtype matching code in
check_sql_fn_retval (in src/backend/executor/functions.c) would be
useful as a reference.
regards, tom lane