Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> Yes, the hint should be changed. But I also think the error message
> should be changed to be more appropriate to the procedure situation
> (where is the return type?). Attached patch does both. Unlike your
> patch, I kept the "DROP FUNCTION" message for the function case. It
> might be too confusing otherwise. Thoughts?
I'm not a translator, but if I were, stuff like "Use DROP %s %s first."
would probably confuse me. IMO it's too close to assembling a message
out of parts, even if it's true that neither %s needs translation.
I think you'd be better off with
isprocedure ? errhint("Use DROP PROCEDURE %s first.", ...)
: errhint("Use DROP FUNCTION %s first.", ...)
Or if that seems too carpal-tunnel-inducing, maybe a workable compromise
is
dropcmd = (prokind == PROKIND_PROCEDURE ? "DROP PROCEDURE" : "DROP FUNCTION");
/* translator: first %s is DROP FUNCTION or DROP PROCEDURE */
errhint("Use %s %s first.", dropcmd, ...)
Looks reasonable other than that quibble.
regards, tom lane