On 2018-Jul-09, Andres Freund wrote: > On 2018-07-09 15:44:36 -0400, Alvaro Herrera wrote: > > > + ereport(errlevel, > > > (errcode(ERRCODE_TOO_MANY_ROWS), > > > errmsg("query returned more > > > than one row"), > > > - errdetail ? > > > errdetail_internal("parameters: %s", errdetail) : 0)); > > > + errdetail ? > > > errdetail_internal("parameters: %s", errdetail) : 0, > > > + use_errhint ? > > > errhint("too_many_rows check of extra_%s is active.", > > > + > > > too_many_rows_level == ERROR ? "errors" : "warnings") : 0)); > > > > Please write this in a way that results in less translatable messages, > > and don't build setting names at runtime. Concretely I suggest this: > > > > errhint(too_many_rows_level == ERROR ? > > gettext_noop("%s check of extra_errors is active.") : > > gettext_noop("%s check of extra_warnings is active."), > > "too_many_rows"); > > Why not put extra_errors/extra_warnings into a variable as well?
Yeah, what he said. (Then you *really* need a /* translator: */ comment to explain.) -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services