HREF="../../backend/executor">executor for execution, and the result
-is returned to the client.
+returned to the client.
-There are many other modules that support this basic functionality.
+There are many other modules that support this basic functionality.
They can be accessed by clicking on the flowchart.
Another area of interest is the shared memory area, containing
table data/index blocks, locks, and backend information:
-
ShmemIndex - contains an index of all other shared memory
-structures, allowing quick lookup of other structure locations in shared
-memory
+
ShmemIndex - lookup of shared memory addresses using structure names
-Descriptors - control header for shared memory buffer block
-
-- block of table/index data shared by all backends
-
Shared Buf Lookup Table - lookup to see if a requested buffer
-is already in the shared memory area
-- lock table structure, specifiying table, lock types, and
-backends holding or waiting on lock
-
LockTable (lock hash) - lookup of LockTable structures using
-table name
+Descriptors - control header for buffer cache block
+data/index buffer cache block
+
Shared Buf Lookup Table - lookup of buffer cache block address using
+table name and block number(
+BufferTag)
+structure, specifiying table, lock types, and backends holding or
+waiting on lock
+
LockTable (lock hash) - lookup of LockTable structures using relation
+and database object ids
LockTable (xid hash) - lookup of LockTable structures using
transaction id
about each backend, including locks held/waiting, indexed by process id