pgsql: Introduce access/{table.h, relation.h},for generic functions fr
От | Andres Freund |
---|---|
Тема | pgsql: Introduce access/{table.h, relation.h},for generic functions fr |
Дата | |
Msg-id | E1gletL-0007jz-RM@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Introduce access/{table.h, relation.h}, for generic functions from heapam.h. access/heapam contains functions that are very storage specific (say heap_insert() and a lot of lower level functions), and fairly generic infrastructure like relation_open(), heap_open() etc. In the upcoming pluggable storage work we're introducing a layer between table accesses in general and heapam, to allow for different storage methods. For a bit cleaner separation it thus seems advantageous to move generic functions like the aforementioned to their own headers. access/relation.h will contain relation_open() etc, and access/table.h will contain table_open() (formerly known as heap_open()). I've decided for table.h not to include relation.h, but we might change that at a later stage. relation.h already exists in another directory, but the other plausible name (rel.h) also conflicts. It'd be nice if there were a non-conflicting name, but nobody came up with a suggestion. It's possible that the appropriate way to address the naming conflict would be to rename nodes/relation.h, which isn't particularly well named. To avoid breaking a lot of extensions that just use heap_open() etc, table.h has macros mapping the old names to the new ones, and heapam.h includes relation, table.h. That also allows to keep the bulk renaming of existing callers in a separate commit. Author: Andres Freund Discussion: https://postgr.es/m/20190111000539.xbv7s6w7ilcvm7dp@alap3.anarazel.de Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/4b21acf522d751ba5b6679df391d5121b6c4a35f Modified Files -------------- src/backend/access/Makefile | 2 +- src/backend/access/common/Makefile | 2 +- src/backend/access/common/relation.c | 217 ++++++++++++++++++++++++++ src/backend/access/heap/heapam.c | 289 ----------------------------------- src/backend/access/table/Makefile | 17 +++ src/backend/access/table/table.c | 136 +++++++++++++++++ src/include/access/heapam.h | 16 +- src/include/access/relation.h | 29 ++++ src/include/access/table.h | 38 +++++ 9 files changed, 441 insertions(+), 305 deletions(-)
В списке pgsql-committers по дате отправления: