Hi,
attached you will find a new version of the patch containing more
comments.
On 22/01/14 12:00, Tom Lane wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> > This ngettext() call is repeated four times in the new code, which is a
> > bit annoying because it's not trivial. I think you could assign the
> > ngettext() to a char * at the bottom of the loop, and then in the
> > ereport() calls use it:
>
> Would that not break the compiler's ability to verify the format codes
> in the string? Not to mention make it harder for people to compare
> format to arguments, too?
I agree.
> However, the real problem here is that you shouldn't be calling ngettext
> manually in an ereport context in the first place. There is
> infrastructure in place for that, and this isn't using it.
Fixed in attached patch. I changed it from calling
errorcontext(ngettext()) to calling errdetail_plural().
Best regards,
--
Christian Kruse http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services