Re: Proposal: add new API to stringinfo

Tatsuo Ishii <ishii@postgresql.org>

From: Tatsuo Ishii <ishii@postgresql.org>
To: michael@paquier.xyz
Cc: dgrowleyml@gmail.com, pgsql-hackers@postgresql.org
Date: 2024-12-28T05:45:46Z
Lists: pgsql-hackers
Michael said:
> New APIs are materials for HEAD, so recompilation needs to happen
> anyway.  Using a macro makes things slightly simpler and it would not
> break unnecessarily the compilation of existing extensions.

Ok.

David said:
> I didn't review the patch in detail, but I think "initsize" would be a
> better parameter name than "size".

Ok, will change to "initsize".

With opinions from Michael and David , what about following additional APIs?

#define STRINGINFO_DEFAULT_SIZE	1024	/* default initial allocation size */
#define STRINGINFO_SMALL_SIZE	64	/* small initial allocation size */

#define makeStringInfo		makeStringInfoExtended(STRINGINFO_DEFAULT_SIZE)
#define	initStringInfo(str)	initStringInfoExtended(str, STRINGINFO_DEFAULT_SIZE)

extern StringInfo makeStringInfoExtended(int initsize);
extern void initStringInfoExtended(StringInfo str, int initsize);

Best reagards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add new StringInfo APIs to allow callers to specify the buffer size.