Re: log_min_messages per backend type
| От | Alvaro Herrera |
|---|---|
| Тема | Re: log_min_messages per backend type |
| Дата | |
| Msg-id | 202601201708.p3kmnsdyqdhq@alvherre.pgsql обсуждение исходный текст |
| Ответ на | Re: log_min_messages per backend type ("Euler Taveira" <euler@eulerto.com>) |
| Список | pgsql-hackers |
On 2026-Jan-15, Euler Taveira wrote:
> @@ -1275,10 +1279,16 @@ check_log_min_messages(char **newval, void **extra, GucSource source)
> char *rawstring;
> List *elemlist;
> ListCell *l;
> + char *result;
> + bool first = true;
> int newlevel[BACKEND_NUM_TYPES];
> bool assigned[BACKEND_NUM_TYPES];
> int genericlevel = -1; /* -1 means not assigned */
>
> + result = (char *) guc_malloc(LOG, MAX_LMM_STR_LEN);
> + if (!result)
> + return false;
...
> + foreach(l, elemlist)
> + {
> + char *tok = (char *) lfirst(l);
> +
> + if (first)
> + {
> + strncpy(result, tok, MAX_LMM_STR_LEN);
> + first = false;
> + }
> + else
> + {
> + strlcat(result, ", ", MAX_LMM_STR_LEN);
> + strlcat(result, tok, MAX_LMM_STR_LEN);
> + }
> + }
BTW I think this whole MAX_LMM_STR_LEN thing is unnecessary. It is
probably easy enough to use a StringInfo to create the value
iteratively, then once you know its final length do a guc_malloc() and
strcpy the value there.
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"The Gord often wonders why people threaten never to come back after they've
been told never to return" (www.actsofgord.com)
В списке pgsql-hackers по дате отправления: