| From: | Michael Paquier <michael(at)paquier(dot)xyz> |
|---|---|
| To: | Tatsuo Ishii <ishii(at)postgresql(dot)org> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Proposal: add new API to stringinfo |
| Date: | 2024-12-25 05:28:55 |
| Message-ID: | Z2uYFxmlaTfoKgNS@paquier.xyz |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Dec 25, 2024 at 12:37:04PM +0900, Tatsuo Ishii wrote:
> Attached is a patch to implement it. In the patch I add two new APIs.
>
> extern StringInfo makeStringInfoWithSize(int size);
> extern void initStringInfoWithSize(StringInfo str, int size);
>
> Maybe I could re-invent the wheel by copying stringinfo.c, but I think
> there are some uses cases like me, and it could justify in adding more
> code to stringinfo.c.
Not sure how other feel about that, but I am not really convinced that
we need two APIs. Saying that, having more control over the initial
size used for a StringInfo could provide better practices in some
cases. This reminds me of the ALLOCSET_SMALL_* fields in memutils.h,
hence an idea would be an initStringInfoExtended() that you could
combine with two #define two: one for the "default" of 1024 and a
second one for "small", like 32 or 64 (?), that can be used at will
with the new API call. Then you could switch initStringInfo() to
become a macro of the new "extended" call. Just an idea.
--
Michael
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2024-12-25 05:30:33 | Re: Short-living Memory Context in the optimiser |
| Previous Message | Michael Paquier | 2024-12-25 05:19:21 | Re: Revisiting {CREATE INDEX, REINDEX} CONCURRENTLY improvements |