postgresql/src/backend
Andres Freund 4b21acf522 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
2019-01-21 10:51:36 -08:00
..
access Introduce access/{table.h, relation.h}, for generic functions from heapam.h. 2019-01-21 10:51:36 -08:00
bootstrap Don't include genam.h from execnodes.h and relscan.h anymore. 2019-01-14 17:02:12 -08:00
catalog Sort the dependent objects before recursing in findDependentObjects(). 2019-01-21 13:48:14 -05:00
commands Fix ALTER TRIGGER ... RENAME, broken in WITH OIDS removal. 2019-01-21 09:13:43 -08:00
executor Fix outdated comment 2019-01-19 09:34:24 +01:00
foreign Update copyright for 2019 2019-01-02 12:44:25 -05:00
jit Make naming of tupdesc related structs more consistent with the rest of PG. 2019-01-14 16:25:50 -08:00
lib Update copyright for 2019 2019-01-02 12:44:25 -05:00
libpq Update copyright for 2019 2019-01-02 12:44:25 -05:00
main Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
nodes Allow COPY FROM to filter data using WHERE conditions 2019-01-20 00:22:14 +01:00
optimizer Postpone generating tlists and EC members for inheritance dummy children. 2019-01-21 17:12:40 +09:00
parser Allow COPY FROM to filter data using WHERE conditions 2019-01-20 00:22:14 +01:00
partitioning Don't include heapam.h from others headers. 2019-01-14 16:24:41 -08:00
po Translation updates 2018-06-25 12:37:18 +02:00
port Update copyright for 2019 2019-01-02 12:44:25 -05:00
postmaster Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
regex Update copyright for 2019 2019-01-02 12:44:25 -05:00
replication Don't include heapam.h from others headers. 2019-01-14 16:24:41 -08:00
rewrite Don't include heapam.h from others headers. 2019-01-14 16:24:41 -08:00
snowball Update copyright for 2019 2019-01-02 12:44:25 -05:00
statistics Update copyright for 2019 2019-01-02 12:44:25 -05:00
storage Fix grammar mistakes in md.c 2019-01-10 09:36:25 +09:00
tcop Update copyright for 2019 2019-01-02 12:44:25 -05:00
tsearch Update copyright for 2019 2019-01-02 12:44:25 -05:00
utils Replace @postgresql.org with @lists.postgresql.org for mailinglists 2019-01-19 19:06:35 +01:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Ensure link commands list *.o files before LDFLAGS. 2019-01-02 13:57:54 -05:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Translation updates 2018-06-25 12:37:18 +02:00