Re: Fix hints on CREATE PROCEDURE errors - Mailing list pgsql-hackers

From Jonathan S. Katz
Subject Re: Fix hints on CREATE PROCEDURE errors
Date
Msg-id 31A8D0BD-52E2-4D47-8E66-E29D9020AEC6@excoventures.com
Whole thread Raw
In response to Re: Fix hints on CREATE PROCEDURE errors  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Fix hints on CREATE PROCEDURE errors
List pgsql-hackers
> On Aug 8, 2018, at 3:18 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> 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.

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

pgsql-hackers by date:

Previous
From: "Jonathan S. Katz"
Date:
Subject: Re: Pre-v11 appearances of the word "procedure" in v11 docs
Next
From: Hongyuan Ma
Date:
Subject: [GSoC] Summery of pg performance farm