Thread: Error message translation, with variable reason text

Error message translation, with variable reason text

From
Simon Riggs
Date:
I have an ereport() in the HS patch that looks like this                        ereport(trace_recovery(DEBUG1),
(errmsg("recoverycancels virtual transaction %u/%u pid %d because of          conflict with %s",  waitlist->backendId,
   waitlist->localTransactionId,  pid,  reason)));
 

The purpose of this is to give an LOG message with a variable reason
code. Should I worry about the translatability of something that exists
for DEBUG, and if so, what is the best/approved/recommended way of
making a message both translatable and variable?

Thanks,

-- Simon Riggs           www.2ndQuadrant.com



Re: Error message translation, with variable reason text

From
Tom Lane
Date:
Simon Riggs <simon@2ndQuadrant.com> writes:
> The purpose of this is to give an LOG message with a variable reason
> code. Should I worry about the translatability of something that exists
> for DEBUG,

Probably not.  I don't even think you should use ereport, just elog
--- or if there's a good functional reason to use ereport, use
errmsg_internal so that translators don't see this message.
        regards, tom lane