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