Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: > 3. In the callback function, call a new function to set the domain to be > used for the errcontext() calls in that callback:
> /* use the right domain to translate the errcontext() calls */ > set_errtextdomain(); > errcontext("PL/Perl anonymous code block"); > Attached is a patch using this approach, I like it the most. I don't like it at all. It seems horridly error-prone to me: there *will* be sins of omission all over the place. I really think we need to change errcontext itself to pass the correct domain. If we are going to require a domain to be provided (and this does require that, for correct operation), then we need to break any code that doesn't provide it in a visible fashion. A possibly more attractive alternative is to redefine errcontext with a macro that allows TEXTDOMAIN to be passed in behind-the-scenes, thus keeping source-level compatibility. We can do this with the same type of hack we've used for many years for elog(): #define errcontext set_errcontext_domain(TEXTDOMAIN), errcontext_msg where the actual message-passing function is now called errcontext_msg. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers