Thread

Commits

  1. Replace use of strerror() with %s by %m in pg_waldump

  2. Implement %m in src/port/snprintf.c, and teach elog.c to rely on that.

  1. Increase footprint of %m and reduce strerror()

    Michael Paquier <michael@paquier.xyz> — 2019-11-29T06:51:15Z

    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
    
  2. Re: Increase footprint of %m and reduce strerror()

    Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2019-12-04T06:32:11Z

    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
    
    
    
    
  3. Re: Increase footprint of %m and reduce strerror()

    Michael Paquier <michael@paquier.xyz> — 2019-12-05T02:36:48Z

    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
    
  4. Re: Increase footprint of %m and reduce strerror()

    Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2019-12-05T03:06:54Z

    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
    
    
    
    
  5. Re: Increase footprint of %m and reduce strerror()

    Kyotaro Horiguchi <horikyota.ntt@gmail.com> — 2019-12-05T03:29:29Z

    (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
    
    
    
    
  6. Re: Increase footprint of %m and reduce strerror()

    Michael Paquier <michael@paquier.xyz> — 2019-12-06T05:09:05Z

    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
    
  7. Re: Increase footprint of %m and reduce strerror()

    Michael Paquier <michael@paquier.xyz> — 2019-12-24T03:22:13Z

    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