Re: Make StringInfo available to frontend code. - Mailing list pgsql-hackers
From | Kyotaro Horiguchi |
---|---|
Subject | Re: Make StringInfo available to frontend code. |
Date | |
Msg-id | 20191030.111856.954720503112089859.horikyota.ntt@gmail.com Whole thread Raw |
In response to | Re: Make StringInfo available to frontend code. (Andres Freund <andres@anarazel.de>) |
List | pgsql-hackers |
Hello. At Tue, 29 Oct 2019 19:06:38 -0700, Andres Freund <andres@anarazel.de> wrote in > Hi, > > On 2019-10-30 10:58:59 +0900, Kyotaro Horiguchi wrote: > > At Tue, 29 Oct 2019 17:10:01 -0700, Andres Freund <andres@anarazel.de> wrote in > > > Hi, > > > > > > This patch, in a slightly rougher form, was submitted as part of [1], > > > but it seems worth bringing up separately, rather than just committing > > > hearing no objections. > > .. > > > I'm still using stringinfo in the aforementioned thread, and I also want > > > to use it in a few more places. On the more ambitious side I really > > > would like to have a minimal version of elog.h available in the backend, > > > and that would really be a lot easier with stringinfo available. > > > > > > I also would like to submit a few patches expanding stringinfo's > > > capabilities and performance, and it seems to me it'd be better to do so > > > after moving (lest they introduce new FE vs BE compat issues). > > > > > > > > > This allows us to remove compat.c hackery providing some stringinfo > > > functionality for pg_waldump (which now actually needs to pass in a > > > StringInfo...). I briefly played with converting more code in > > > pg_waldump.c than just that one call to StringInfo, but it seems that'd > > > be best done separately. > > > > > > Comments? > > > > It uses different form for the same message for FE and BE. > > > common/stringinfo.c:289- > > > BE: ereport(ERROR, > > > (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), > > > errmsg("out of memory"), > > > errdetail("Cannot enlarge string buffer containing %d > > > bytes by %d more bytes.", > > > > > > FE: + _("out of memory\n\nCannot enlarge string buffer containing %d > > > bytes by %d more bytes.\n"), > > > > .po files will be smaller and more stable if we keep the same > > translation unit for the same messages. That being said it doesn't > > matter if it is tentative and the minimal elog.h for frontend comes > > soon. > > I'm inclined to think that the contortions necessary to allow reusing > the translation strings here would be more work than worthwhile. Also, Maybe so for doing that in this stage. So I expect that elog.h for FE comes. > the translation strings here would be more work than worthwhile. Also, > do we even try to share the translations between backend and frontend? No. I don't mean that. FE and BE have their own .po files, anyway. > > > /* It's possible we could use a different value for this in frontend code */ > > > #define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ > > > > The same symbol is defined for frontend in psprint.c. Isn't it better > > merge them and place it in postgres_fe.h? > > No, I don't think so. I'd rather have less than more code depend on it. Ok, understoold. Thanks for the reply. regards.
pgsql-hackers by date: