Hi, The current pluggable table storage patchset [1] introduces the ability to specify the access method of a table (CREATE TABLE ... USING "ident"). The patchset currently names the current storage method (i.e. heapam.c et al) "heap" (whereas e.g. zheap's in named, drumroll, zheap).
I'm concerned that naming it heap, and the corresponding functions fitting with that name, will be confusing. There's a lot of functions that have a heap_ prefix (or similar) that aren't really dependent on how the storage works, but much more general infrastructure (consider e.g. heap_create_with_catalog()). One solution is to just live with the confusion, add a few header comments to files like src/backend/catalog/heap.c, explaining that they're more general than heapam.c (and in the patch heapam_handler.c, which mostly dispatches to heapam.c). Another approach would be to come up with a different, potentially witty, name for the current postgres table access method. Then either rename a few of the heapam.c et functions, or live with the slightly more confusing names. Another would be to be aggressive in renaming, and deconflict by renaming functions like heap_create[_with_catalog] etc to sound more accurate. I think that has some appeal, because a lot of those names aren't describing their tasks particularly well. Greetings, Andres Freund [1] https://postgr.es/m/20180703070645.wchpu5muyto5n647%40alap3.anarazel.de