Re: recovery modules

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: recovery modules
Дата
Msg-id 20230201115426.6japkd3rfs36hbhk@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: recovery modules  (Nathan Bossart <nathandbossart@gmail.com>)
Ответы Re: recovery modules  (Nathan Bossart <nathandbossart@gmail.com>)
Список pgsql-hackers
Hi,

On 2023-01-31 15:30:13 -0800, Nathan Bossart wrote:


> +/*
> + * basic_archive_startup
> + *
> + * Creates the module's memory context.
> + */
> +void *
> +basic_archive_startup(void)
> +{
> +    return (void *) AllocSetContextCreate(TopMemoryContext,
> +                                          "basic_archive",
> +                                          ALLOCSET_DEFAULT_SIZES);
>  }

I'd make basic_archive's private data a struct, with a member for the
context, but it's not that important.

I'd also be inclined to do the same for the private_state you're passing
around for each module. Even if it's just to reduce the number of
functions accepting void * - loosing compiler type checking isn't great.

So maybe an ArchiveModuleState { void *private_data } that's passed to
basic_archive_startup() and all the other callbacks.

Greetings,

Andres Freund



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

Предыдущее
От: Antonin Houska
Дата:
Сообщение: RLS makes COPY TO process child tables
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: transition tables and UPDATE