Thread: Increase footprint of %m and reduce strerror()
Hi all, Since commit d6c55de1, we support %m in the in-core port for printf and such. And it seems to me that we could do better for the frontend code by reducing the dependency to strerror(). One advantage of doing a switch, or at least reduce the use of strerror(), would be to ease the work of translators with more error messages unified between the frontend and the backend. A possible drawback is that this could be a cause of minor conflicts when back-patching. Always easy enough to fix, still that can be annoying. Thoughts? -- Michael
Attachment
At Fri, 29 Nov 2019 15:51:15 +0900, Michael Paquier <michael@paquier.xyz> wrote in > Hi all, > > Since commit d6c55de1, we support %m in the in-core port for printf > and such. And it seems to me that we could do better for the frontend > code by reducing the dependency to strerror(). > > One advantage of doing a switch, or at least reduce the use of > strerror(), would be to ease the work of translators with more error > messages unified between the frontend and the backend. A possible > drawback is that this could be a cause of minor conflicts when > back-patching. Always easy enough to fix, still that can be > annoying. > > Thoughts? It sounds good to me. Message unification (including printf) needs somehow treating trailing new lines, though. About translation burden, I'm not sure how the message unification eases translators' work. Identical messages of different commands appear having different neighbours in different po files. By the way aren't we going to have ereport on frontend? regards. -- Kyotaro Horiguchi NTT Open Source Software Center
On Wed, Dec 04, 2019 at 03:32:11PM +0900, Kyotaro Horiguchi wrote: > It sounds good to me. Message unification (including printf) needs > somehow treating trailing new lines, though. About translation > burden, I'm not sure how the message unification eases translators' > work. Identical messages of different commands appear having different > neighbours in different po files. Newlines are a problem. Still there are cases where we don't use them. See for example pg_waldump.c. It seems like it would be first interesting to fix the code paths where we know we can reduce the duplicates. > By the way aren't we going to have ereport on frontend? Not sure that this will happen, there are quite a few things to consider related to what error hints and such should be for frontends. That's quite a different discussion.. -- Michael
Attachment
At Thu, 5 Dec 2019 11:36:48 +0900, Michael Paquier <michael@paquier.xyz> wrote in > On Wed, Dec 04, 2019 at 03:32:11PM +0900, Kyotaro Horiguchi wrote: > > It sounds good to me. Message unification (including printf) needs > > somehow treating trailing new lines, though. About translation > > burden, I'm not sure how the message unification eases translators' > > work. Identical messages of different commands appear having different > > neighbours in different po files. > > Newlines are a problem. Still there are cases where we don't use > them. See for example pg_waldump.c. It seems like it would be first > interesting to fix the code paths where we know we can reduce the > duplicates. So, (IIUC) do we replace fprintf()s for error reporting together (but maybe in a separate patch)? > > By the way aren't we going to have ereport on frontend? > > Not sure that this will happen, there are quite a few things to > consider related to what error hints and such should be for frontends. > That's quite a different discussion.. Agreed. +1 for going that way after having above considerations. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
(Just to clarifying the last mail..) At Thu, 05 Dec 2019 12:06:54 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in > At Thu, 5 Dec 2019 11:36:48 +0900, Michael Paquier <michael@paquier.xyz> wrote in > > On Wed, Dec 04, 2019 at 03:32:11PM +0900, Kyotaro Horiguchi wrote: > > > It sounds good to me. Message unification (including printf) needs > > > somehow treating trailing new lines, though. About translation > > > burden, I'm not sure how the message unification eases translators' > > > work. Identical messages of different commands appear having different > > > neighbours in different po files. > > > > Newlines are a problem. Still there are cases where we don't use > > them. See for example pg_waldump.c. It seems like it would be first > > interesting to fix the code paths where we know we can reduce the > > duplicates. > > So, (IIUC) do we replace fprintf()s for error reporting together (but > maybe in a separate patch)? > > > > By the way aren't we going to have ereport on frontend? > > > > Not sure that this will happen, there are quite a few things to > > consider related to what error hints and such should be for frontends. > > That's quite a different discussion.. > > Agreed. > > +1 for going that way after having above considerations. (This might be took wrongly. The following would be clearer.) Since I see the above considertaions, I put +1 for this. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
On Thu, Dec 05, 2019 at 12:29:29PM +0900, Kyotaro Horiguchi wrote: > At Thu, 05 Dec 2019 12:06:54 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in >> So, (IIUC) do we replace fprintf()s for error reporting together (but >> maybe in a separate patch)? I guess that we should do that at the end of the day. A lookup at the in-core tools I see three areas which stand out compared to the rest: - pg_waldump, and attached is a patch for it. - pgbench. However for this one we also have some status messages showing up in stderr output, and the TAP tests have dependencies with the output generated. This part is not plugged into the generic logging facility yet, and we have 162 places where fprintf/stderr is used, so that's kind of messy. - pg_standby. For this one, we may actually be closer to just remove it from the tree :) -- Michael
Attachment
On Fri, Dec 06, 2019 at 02:09:05PM +0900, Michael Paquier wrote: > I guess that we should do that at the end of the day. A lookup at the > in-core tools I see three areas which stand out compared to the rest: > - pg_waldump, and attached is a patch for it. Okay, I have committed this one. -- Michael