On Thu, Aug 27, 2020 at 5:37 AM Ashutosh Sharma <ashu.coe...@gmail.com> wrote: > While reviewing the patch for pg_surgery contrib module - [1], Asim > Praveen suggested that it would be better to replace the check for > access method OID with handler OID. Otherwise, if someone creates a > new AM using the AM handler that is originally supported for e.g. > "heap_tableam_handler" and if this new AM is used to create a table, > then one cannot perform surgery on such tables because we have checks > for access method OID which would reject this new AM as we only allow > heap AM. For e.g. if we do this: > > create access method myam type table handler heap_tableam_handler; > create table mytable (…) using myam; > > And use an access method OID check, we won't be able to perform > surgery on mytable created above because it isn't the heap table > although its table structure is actually heap.
The only reason I can see why it would make sense to do this sort of thing is if you wanted to create a new AM for testing purposes which behaves like some existing AM but is technically a different AM. And if you did that, then I guess the change you are proposing would make it behave more like it's the same thing after all, which seems like it might be missing the point. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company