diff --git a/src/backend/storage/ipc/shmem.c b/src/backend/storage/ipc/shmem.c index 0a29a19c0f..247a2bc62a 100644 --- a/src/backend/storage/ipc/shmem.c +++ b/src/backend/storage/ipc/shmem.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmem.c,v 1.25 1998/06/27 15:47:44 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/shmem.c,v 1.26 1998/06/28 06:17:13 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -487,7 +487,7 @@ ShmemInitStruct(char *name, unsigned long size, bool *foundPtr) item.location = BAD_LOCATION; SpinAcquire(ShmemIndexLock); - + if (!ShmemIndex) { #ifdef USE_ASSERT_CHECKING diff --git a/src/tools/backend/backend_dirs.html b/src/tools/backend/backend_dirs.html index c5bd3a52fe..63b4a3421a 100644 --- a/src/tools/backend/backend_dirs.html +++ b/src/tools/backend/backend_dirs.html @@ -8,15 +8,16 @@ PostgreSQL Backend Directories
+
@@ -29,8 +30,8 @@ This code jams the data directly into tables using a special syntax used only by the bootstrap procedure.
@@ -38,8 +39,8 @@ This checks the process name(argv[0]) and various flags, and passes control to the postmaster or postgres backend code.
@@ -49,16 +50,16 @@ When a connection request arrives, a postgres backend is started, and the connection is passed to it.
This handles communication to the client processes.
@@ -67,8 +68,8 @@ code that makes calls to the parser, optimizer, executor, and /commands functions.
@@ -84,19 +85,19 @@ The command-specific structures are then broken apart, checked, and passed to Nodes to be handled by the optimizer and executor.
This uses the parser output to generate an optimal plan for the executor.
-This takes the parser query output, and generates all possible methods of executing the request. @@ -104,11 +105,11 @@ It examines table join order, where clause restrictions, and optimizer table statistics to evaluate each possible execution method, and assigns a cost to each.
-optimizer/path evaluates all possible ways to join the requested tables. When the number of tables becomes great, the number of tests made @@ -119,34 +120,34 @@ For a few tables, this method takes longer, but for a large number of tables, it is faster. There is an option to control when this feature is used.
-This takes the optimizer/path output, chooses the path with the least cost, and creates a plan for the executor.
-This does special plan processing.
-This contains support routines used by other parts of the optimizer.
@@ -156,8 +157,8 @@ heap scans, index scans, sorting, joining tables, grouping, aggregates, and uniqueness.
@@ -169,8 +170,8 @@ Most of the routines do some processing, then call lower-level functions in the catalog directory to do the actual work.
@@ -181,47 +182,47 @@ These are low-level routines, and are usually called by upper routines that pre-format user requests into a predefined format.
These allow uniform resource access by the backend.
-
-storage/buffer
+
+storage/buffer
- shared buffer pool manager
-
-storage/file
+
+storage/file
- file manager
-
-storage/ipc
+
+storage/ipc
- semaphores and shared memory
-
-storage/large_object
+
+storage/large_object
- large objects
-
-storage/lmgr
+
+storage/lmgr
- lock manager
-
-storage/page
+
+storage/page
- page manager
-
-storage/smgr
+
+storage/smgr
- storage/disk manager
@@ -229,43 +230,43 @@ These control the way data is accessed in heap, indexes, and
transactions.
-
-access/common
+
+access/common
- common access routines
-
-access/gist
+
+access/gist
- easy-to-define access method system
-
-access/hash
+
+access/hash
- hash
-
-access/heap
+
+access/heap
- heap is use to store data rows
-
-access/index
+
+access/index
- used by all index types
-
-access/nbtree
+
+access/nbtree
- Lehman and Yao's btree management algorithm
-
-access/rtree
+
+access/rtree
- used for indexing of 2-dimensional data
-
-access/transam
+
+access/transam
- transaction manager (BEGIN/ABORT/COMMIT)
@@ -283,23 +284,23 @@ These are used extensively in the parser, optimizer, and executor to store requests and data.
This contains all the PostgreSQL builtin data types.
-PostgreSQL supports arbitrary data types, so no data types are hard-coded into the core backend routines. @@ -312,48 +313,48 @@ information cache. This last cache maintains information about all recently-accessed tables, not just system ones.
-Reports backend errors to the front end.
-This handles the calling of dynamically-loaded functions, and the calling of functions defined in the system tables.
-These hash routines are used by the cache and memory-manager routines to do quick lookups of dynamic data storage structures maintained by the backend.
-When PostgreSQL allocates memory, it does so in an explicit context. Contexts can be statement-specific, transaction-specific, or @@ -361,65 +362,70 @@ persistent/global. By doing this, the backend can easily free memory once a statement or transaction completes.
-When statement output must be sorted as part of a backend operation, this code sorts the tuples, either in memory or using disk files.
-These routines do checking of tuple internal columns to determine if the current row is still valid, or is part of a non-committed transaction or superseded by a new row.
There are include directories for each subsystem.
This houses several generic routines.
This is used for regular expression handling in the backend, i.e. '~'.
This does processing for the rules system.