On Sun, Feb 21, 2021 at 09:43:59AM -0600, Justin Pryzby wrote:
> If you apply this patch, will you want to actually revert those
> earlier changes?

That's not in the plan.

> Also (related), this still crashes if methods are omitted from the 
> initializer,
> like:
> 
> // .slot_callbacks = no_storage_slot_callbacks,
> 
> I'm not sure if there's any better way to enforce that's updated when 
> callbacks
> are added.
> 
> Most of the methods have Assert( != NULL), so maybe this one is missing?
> 
> src/backend/access/table/tableamapi.c
> GetTableAmRoutine(Oid amhandler)
> ...
>       Assert(routine->slot_callbacks != NULL);

Good point, that looks like an omission.  Even if the code tries to
look after the slot type for a view, foreign table or partitioned
table, this cannot be NULL.
--
Michael

Attachment: signature.asc
Description: PGP signature

Reply via email to