Re: Minor refactorings to eliminate some static buffers

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Minor refactorings to eliminate some static buffers
Дата
Msg-id 37331ad2-8349-461e-bd47-bbb5d34073fa@iki.fi
обсуждение исходный текст
Ответ на Re: Minor refactorings to eliminate some static buffers  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
On 06/08/2024 18:52, Andres Freund wrote:
> On 2024-08-06 18:13:56 +0300, Heikki Linnakangas wrote:
>> diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
>> index 702a6c3a0b..2732d6bfc9 100644
>> --- a/src/backend/tcop/utility.c
>> +++ b/src/backend/tcop/utility.c
>> @@ -1155,7 +1155,7 @@ ProcessUtilitySlow(ParseState *pstate,
>>                           {
>>                               CreateStmt *cstmt = (CreateStmt *) stmt;
>>                               Datum        toast_options;
>> -                            static char *validnsps[] = HEAP_RELOPT_NAMESPACES;
>> +                            const char *validnsps[] = HEAP_RELOPT_NAMESPACES;
>>   
>>                               /* Remember transformed RangeVar for LIKE */
>>                               table_rv = cstmt->relation;
> 
> In the other places you used "const char * const", here just "const char *" - it
> doesn't look like that's a required difference?

Just an oversight.

I went back and forth on whether to use plain "char *validnps[]", "const 
char *validnsps[]" or "const char *const validnsps[]". The first form 
doesn't convey the fact it's read-only, like the "static" used to. The 
second form hints that, but only for the strings, not for the pointers 
in the array. The last form is what we want, but it's a bit verbose and 
ugly. I chose the last form in the end, but missed this one.

Fixed that and pushed. Thanks!

-- 
Heikki Linnakangas
Neon (https://neon.tech)




В списке pgsql-hackers по дате отправления: