postgresql/src/include
Andres Freund b8d71745ea Store table oid and tuple's tid in tuple slots directly.
After the introduction of tuple table slots all table AMs need to
support returning the table oid of the tuple stored in a slot created
by said AM. It does not make sense to re-implement that in every AM,
therefore move handling of table OIDs into the TupleTableSlot
structure itself.  It's possible that we, at a later date, might want
to get rid of HeapTupleData.t_tableOid entirely, but doing so before
the abstractions for table AMs are integrated turns out to be too
hard, so delay that for now.

Similarly, every AM needs to support the concept of a tuple
identifier (tid / item pointer) for its tuples. It's quite possible
that we'll generalize the exact form of a tid at a future point (to
allow for things like index organized tables), but for now many parts
of the code know about tids, so there's not much point in abstracting
tids away. Therefore also move into slot (rather than providing API to
set/get the tid associated with the tuple in a slot).

Once table AM includes insert/updating/deleting tuples, the
responsibility to set the correct tid after such an action will move
into that. After that change, code doing such modifications, should
not have to deal with HeapTuples directly anymore.

Author: Andres Freund, Haribabu Kommi and Ashutosh Bapat
Discussion: https://postgr.es/m/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
2019-02-26 20:31:16 -08:00
..
access Remove unneeded argument from _bt_getstackbuf(). 2019-02-25 17:47:43 -08:00
bootstrap Update copyright for 2019 2019-01-02 12:44:25 -05:00
catalog Move code for managing PartitionDescs into a new file, partdesc.c 2019-02-21 11:45:02 -05:00
commands Move vacuumlazy.c into access/heap. 2019-01-15 12:06:19 -08:00
common Change floating-point output format for improved performance. 2019-02-13 15:20:33 +00:00
datatype Update copyright for 2019 2019-01-02 12:44:25 -05:00
executor Store table oid and tuple's tid in tuple slots directly. 2019-02-26 20:31:16 -08:00
fe_utils pgbench: add \cset and \gset commands 2019-01-10 13:42:20 -03:00
foreign Rename nodes/relation.h to nodes/pathnodes.h. 2019-01-29 16:49:25 -05:00
jit Renaming for new subscripting mechanism 2019-02-01 12:50:32 -03:00
lib simplehash: Add support for resetting a hashtable's contents. 2019-02-09 01:05:49 -08:00
libpq Get rid of another unconstify through API changes 2019-02-14 20:44:47 +01:00
mb Update copyright for 2019 2019-01-02 12:44:25 -05:00
nodes Remove unnecessary use of PROCEDURAL 2019-02-25 08:38:59 +01:00
optimizer Allow extensions to generate lossy index conditions. 2019-02-11 21:26:14 -05:00
parser Create the infrastructure for planner support functions. 2019-02-09 18:08:48 -05:00
partitioning Move code for managing PartitionDescs into a new file, partdesc.c 2019-02-21 11:45:02 -05:00
port Fix previous MinGW fix. 2019-02-16 15:23:02 +00:00
portability Update copyright for 2019 2019-01-02 12:44:25 -05:00
postmaster Update copyright for 2019 2019-01-02 12:44:25 -05:00
regex Update copyright for 2019 2019-01-02 12:44:25 -05:00
replication Update copyright for 2019 2019-01-02 12:44:25 -05:00
rewrite Update copyright for 2019 2019-01-02 12:44:25 -05:00
snowball Update copyright for 2019 2019-01-02 12:44:25 -05:00
statistics Rename nodes/relation.h to nodes/pathnodes.h. 2019-01-29 16:49:25 -05:00
storage Move max_wal_senders out of max_connections for connection slot handling 2019-02-12 10:07:56 +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 Move estimate_hashagg_tablesize to selfuncs.c, and widen result to double. 2019-02-21 14:59:12 -05:00
.gitignore
c.h Use an unsigned char for bool if we don't use the native bool. 2019-02-20 21:31:02 +00:00
fmgr.h Change function call information to be variable length. 2019-01-26 14:17:52 -08:00
funcapi.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
getaddrinfo.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
getopt_long.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
Makefile Install JIT related headers. 2019-01-28 13:51:12 -08:00
miscadmin.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_config_ext.h.in
pg_config_ext.h.win32
pg_config_manual.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pg_config.h.in Make use of compiler builtins and/or assembly for CLZ, CTZ, POPCNT. 2019-02-15 23:22:33 -05:00
pg_config.h.win32 Make use of compiler builtins and/or assembly for CLZ, CTZ, POPCNT. 2019-02-15 23:22:33 -05:00
pg_getopt.h Use our own getopt() on OpenBSD. 2019-01-18 15:06:26 -05:00
pg_trace.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pgstat.h Add more columns to pg_stat_ssl 2019-02-01 00:33:47 +01:00
pgtar.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
pgtime.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
port.h Cygwin and Mingw floating-point fixes. 2019-02-16 01:50:16 +00:00
postgres_ext.h
postgres_fe.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
postgres.h Change function call information to be variable length. 2019-01-26 14:17:52 -08:00
rusagestub.h Update copyright for 2019 2019-01-02 12:44:25 -05:00
windowapi.h Update copyright for 2019 2019-01-02 12:44:25 -05:00