| From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Simplify the way of appending comma to stringInfo |
| Date: | 2025-12-08 08:41:10 |
| Message-ID: | CAFj8pRB7xn_enWAFsZaJ+L+c6xPLRJ-G2teG-S-=DXLZuA=Q3w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi
po 8. 12. 2025 v 9:37 odesílatel Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> napsal:
> Hi Hackers,
>
> In a lot places, there are logic of appending comma separators in a
> pattern like:
>
> ```
> for (int i = 0; i < len; i ++)
> {
> if (i > 0)
> appendStringInfoString(", ");
> appendStringInfo(some-item);
> }
>
> ```
> This pattern uses an "if" check and two appendStringInfoString() to build
> a comma-delimited string.
>
> This can be simplified as:
>
> ```
> const char *sep = "";
> for (int i = 0; i < len; i ++)
> {
> appendStringInfo("%s%s", sep, some-item);
> sep = ", ";
> }
> ```
> The new pattern avoids the "if" check, and combines two
> appendStringInfoString() into a single appendStringInfo(). I think the new
> pattern is neater and faster.
>
> The old patterns are used in a lot of places, and there are some usages of
> the new pattern as well. Instead of creating a big cleanup patch, I
> just applied the new pattern to a single file for now to see if the hacker
> group likes this change.
>
It doesn't look like a simplification.
Regards
Pavel
> Best regards,
> ==
> Chao Li (Evan)
> ---------------------
> HighGo Software Co., Ltd.
> https://www.highgo.com/
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2025-12-08 08:43:44 | Re: Simplify the way of appending comma to stringInfo |
| Previous Message | Chao Li | 2025-12-08 08:37:30 | Simplify the way of appending comma to stringInfo |