> On Aug 8, 2018, at 3:18 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> 
> Peter Eisentraut <peter.eisentr...@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.

To help move this along, I went ahead and applied Tom’s first suggestion
to the patch. I tested the various scenarios and it seemed to work.

Jonathan

Attachment: 0001-Improve-error-messages-for-CREATE-OR-REPLACE-PROCEDU-v2.patch
Description: Binary data

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to