mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
New backend_dir html source.
This commit is contained in:
parent
5071d3124a
commit
97b1bb2281
3
src/tools/backend/README
Normal file
3
src/tools/backend/README
Normal file
@ -0,0 +1,3 @@
|
||||
Just point your browser at the index.html file, and click on the
|
||||
flowchart to see the description and source code.
|
||||
|
@ -10,7 +10,9 @@ PostgreSQL Backend Directories
|
||||
by Bruce Momjian
|
||||
</H2 ALIGN=CENTER>
|
||||
<H2>
|
||||
<A HREF="../backend//bootstrap">bootstrap</A> - creates initial template database via initdb
|
||||
<A NAME="bootstrap">
|
||||
<A HREF="../../backend/bootstrap">bootstrap</A></A>
|
||||
- creates initial template database via initdb
|
||||
</H2>
|
||||
<P>
|
||||
Because PostgreSQL requires access to system tables for almost every
|
||||
@ -22,14 +24,18 @@ This code <I>jams</I> the data directly into tables using a
|
||||
special syntax used only by the bootstrap procedure.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//main">main</A> - passes control to postmaster or postgres
|
||||
<A NAME="main">
|
||||
<A HREF="../../backend/main">main</A></A>
|
||||
- passes control to postmaster or postgres
|
||||
</H2>
|
||||
<P>
|
||||
This checks the process name(argv[0]) and various flags, and passes
|
||||
control to the postmaster or postgres backend code.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//postmaster">postmaster</A> - controls postgres server startup/termination
|
||||
<A NAME="postmaster">
|
||||
<A HREF="../../backend/postmaster">postmaster</A></A>
|
||||
- controls postgres server startup/termination
|
||||
</H2>
|
||||
<P>
|
||||
This creates shared memory, and then goes into a loop waiting for
|
||||
@ -38,13 +44,17 @@ When a connection request arrives, a <I>postgres</I> backend is started,
|
||||
and the connection is passed to it.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//libpq">libpq</A> - backend libpq library routines
|
||||
<A NAME="libpq">
|
||||
<A HREF="../../backend/libpq">libpq</A></A>
|
||||
- backend libpq library routines
|
||||
</H2>
|
||||
<P>
|
||||
This handles communication to the client processes.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//tcop">tcop</A> - traffic cop, dispatches request to proper module
|
||||
<A NAME="tcop">
|
||||
<A HREF="../../backend/tcop">tcop</A></A>
|
||||
- traffic cop, dispatches request to proper module
|
||||
</H2>
|
||||
<P>
|
||||
This contains the <I>postgres</I> backend main handler, as well as the
|
||||
@ -52,7 +62,9 @@ code that makes calls to the parser, optimizer, executor, and
|
||||
<I>/commands</I> functions.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//parser">parser</A> - converts SQL query to query tree
|
||||
<A NAME="parser">
|
||||
<A HREF="../../backend/parser">parser</A></A>
|
||||
- converts SQL query to query tree
|
||||
</H2>
|
||||
<P>
|
||||
This converts SQL queries coming from <I>libpq</I> into command-specific
|
||||
@ -67,14 +79,18 @@ The command-specific structures are then broken apart, checked, and passed to
|
||||
<I>Nodes</I> to be handled by the optimizer and executor.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//optimizer">optimizer</A> - creates path and plan
|
||||
<A NAME="optimizer">
|
||||
<A HREF="../../backend/optimizer">optimizer</A></A>
|
||||
- creates path and plan
|
||||
</H2>
|
||||
<P>
|
||||
This uses the parser output to generate an optimal plan for the
|
||||
executor.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//optimizer/path">optimizer/path</A> - creates path from parser output
|
||||
<A NAME="optimizer/path">
|
||||
<A HREF="../../backend/optimizer/path">optimizer/path</A></A>
|
||||
- creates path from parser output
|
||||
</H4>
|
||||
<P>
|
||||
This takes the parser query output, and generates all possible methods of
|
||||
@ -84,7 +100,9 @@ and optimizer table statistics to evaluate each possible execution
|
||||
method, and assigns a cost to each.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//optimizer/geqo">optimizer/geqo</A> - genetic query optimizer
|
||||
<A NAME="optimizer/geqo">
|
||||
<A HREF="../../backend/optimizer/geqo">optimizer/geqo</A></A>
|
||||
- genetic query optimizer
|
||||
</H4>
|
||||
<P>
|
||||
<I>optimizer/path</I> evaluates all possible ways to join the requested tables.
|
||||
@ -97,26 +115,34 @@ tables, it is faster.
|
||||
There is an option to control when this feature is used.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//optimizer/plan">optimizer/plan</A> - optimizes path output
|
||||
<A NAME="optimizer/plan">
|
||||
<A HREF="../../backend/optimizer/plan">optimizer/plan</A></A>
|
||||
- optimizes path output
|
||||
</H4>
|
||||
<P>
|
||||
This takes the <I>optimizer/path</I> output, chooses the path with the
|
||||
least cost, and creates a plan for the executor.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//optimizer/prep">optimizer/prep</A> - handle special plan cases
|
||||
<A NAME="optimizer/prep">
|
||||
<A HREF="../../backend/optimizer/prep">optimizer/prep</A></A>
|
||||
- handle special plan cases
|
||||
</H4>
|
||||
<P>
|
||||
This does special plan processing.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//optimizer/util">optimizer/util</A> - optimizer support routines
|
||||
<A NAME="optimizer/util">
|
||||
<A HREF="../../backend/optimizer/util">optimizer/util</A></A>
|
||||
- optimizer support routines
|
||||
</H4>
|
||||
<P>
|
||||
This contains support routines used by other parts of the optimizer.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//executor">executor</A> - executes complex node plans from optimizer
|
||||
<A NAME="executor">
|
||||
<A HREF="../../backend/executor">executor</A></A>
|
||||
- executes complex node plans from optimizer
|
||||
</H2>
|
||||
<P>
|
||||
This handles <I>select, insert, update,</I> and <I>delete</I> statements.
|
||||
@ -125,7 +151,9 @@ heap scans, index scans, sorting, joining tables, grouping, aggregates,
|
||||
and uniqueness.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//commands">commands</A> - commands that do not require the executor
|
||||
<A NAME="commands">
|
||||
<A HREF="../../backend/commands">commands</A></A>
|
||||
- commands that do not require the executor
|
||||
</H2>
|
||||
<P>
|
||||
These process SQL commands that do not require complex handling.
|
||||
@ -136,7 +164,9 @@ Most of the routines do some processing, then call lower-level functions
|
||||
in the catalog directory to do the actual work.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//catalog">catalog</A> - system catalog manipulation
|
||||
<A NAME="catalog">
|
||||
<A HREF="../../backend/catalog">catalog</A></A>
|
||||
- system catalog manipulation
|
||||
</H2>
|
||||
<P>
|
||||
This contains functions that manipulate the system tables or catalogs.
|
||||
@ -146,56 +176,92 @@ These are low-level routines, and are usually called by upper routines
|
||||
that pre-format user requests into a predefined format.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//storage">storage</A> - manages various storage systems
|
||||
<A NAME="storage">
|
||||
<A HREF="../../backend/storage">storage</A></A>
|
||||
- manages various storage systems
|
||||
</H2>
|
||||
<P>
|
||||
These allow uniform resource access by the backend.
|
||||
<BR>
|
||||
<BR>
|
||||
<A HREF="../backend//storage/buffer">storage/buffer</A> - shared buffer pool manager
|
||||
<A NAME="storage/buffer">
|
||||
<A HREF="../../backend/storage/buffer">storage/buffer</A></A>
|
||||
- shared buffer pool manager
|
||||
<BR>
|
||||
<A HREF="../backend//storage/file">storage/file</A> - file manager
|
||||
<A NAME="storage/file">
|
||||
<A HREF="../../backend/storage/file">storage/file</A></A>
|
||||
- file manager
|
||||
<BR>
|
||||
<A HREF="../backend//storage/ipc">storage/ipc</A> - semaphores and shared memory
|
||||
<A NAME="storage/ipc">
|
||||
<A HREF="../../backend/storage/ipc">storage/ipc</A></A>
|
||||
- semaphores and shared memory
|
||||
<BR>
|
||||
<A HREF="../backend//storage/large_object">storage/large_object</A> - large objects
|
||||
<A NAME="storage/large_object">
|
||||
<A HREF="../../backend/storage/large_object">storage/large_object</A></A>
|
||||
- large objects
|
||||
<BR>
|
||||
<A HREF="../backend//storage/lmgr">storage/lmgr</A> - lock manager
|
||||
<A NAME="storage/lmgr">
|
||||
<A HREF="../../backend/storage/lmgr">storage/lmgr</A></A>
|
||||
- lock manager
|
||||
<BR>
|
||||
<A HREF="../backend//storage/page">storage/page</A> - page manager
|
||||
<A NAME="storage/page">
|
||||
<A HREF="../../backend/storage/page">storage/page</A></A>
|
||||
- page manager
|
||||
<BR>
|
||||
<A HREF="../backend//storage/smgr">storage/smgr</A> - storage/disk manager
|
||||
<A NAME="storage/smgr">
|
||||
<A HREF="../../backend/storage/smgr">storage/smgr</A></A>
|
||||
- storage/disk manager
|
||||
<BR>
|
||||
<BR>
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//access">access</A> - various data access methods
|
||||
<A NAME="access">
|
||||
<A HREF="../../backend/access">access</A></A>
|
||||
- various data access methods
|
||||
</H2>
|
||||
<P>
|
||||
These control the way data is accessed in heap, indexes, and
|
||||
transactions.
|
||||
<BR>
|
||||
<BR>
|
||||
<A HREF="../backend//access/common">access/common</A> - common access routines
|
||||
<A NAME="access/common">
|
||||
<A HREF="../../backend/access/common">access/common</A></A>
|
||||
- common access routines
|
||||
<BR>
|
||||
<A HREF="../backend//access/gist">access/gist</A> - easy-to-define access method system
|
||||
<A NAME="access/gist">
|
||||
<A HREF="../../backend/access/gist">access/gist</A></A>
|
||||
- easy-to-define access method system
|
||||
<BR>
|
||||
<A HREF="../backend//access/hash">access/hash</A> - hash
|
||||
<A NAME="access/hash">
|
||||
<A HREF="../../backend/access/hash">access/hash</A></A>
|
||||
- hash
|
||||
<BR>
|
||||
<A HREF="../backend//access/heap">access/heap</A> - heap is use to store data rows
|
||||
<A NAME="access/heap">
|
||||
<A HREF="../../backend/access/heap">access/heap</A></A>
|
||||
- heap is use to store data rows
|
||||
<BR>
|
||||
<A HREF="../backend//access/index">access/index</A> - used by all index types
|
||||
<A NAME="access/index">
|
||||
<A HREF="../../backend/access/index">access/index</A></A>
|
||||
- used by all index types
|
||||
<BR>
|
||||
<A HREF="../backend//access/nbtree">access/nbtree</A> - Lehman and Yao's btree management algorithm
|
||||
<A NAME="access/nbtree">
|
||||
<A HREF="../../backend/access/nbtree">access/nbtree</A></A>
|
||||
- Lehman and Yao's btree management algorithm
|
||||
<BR>
|
||||
<A HREF="../backend//access/rtree">access/rtree</A> - used for indexing of 2-dimensional data
|
||||
<A NAME="access/rtree">
|
||||
<A HREF="../../backend/access/rtree">access/rtree</A></A>
|
||||
- used for indexing of 2-dimensional data
|
||||
<BR>
|
||||
<A HREF="../backend//access/transam">access/transam</A> - transaction manager (BEGIN/ABORT/COMMIT)
|
||||
<A NAME="access/transam">
|
||||
<A HREF="../../backend/access/transam">access/transam</A></A>
|
||||
- transaction manager (BEGIN/ABORT/COMMIT)
|
||||
<BR>
|
||||
<BR>
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//nodes">nodes</A> - creation/manipulation of nodes and lists
|
||||
<A NAME="nodes">
|
||||
<A HREF="../../backend/nodes">nodes</A></A>
|
||||
- creation/manipulation of nodes and lists
|
||||
</H2>
|
||||
<P>
|
||||
PostgreSQL stores information about SQL queries in structures called
|
||||
@ -212,16 +278,22 @@ These are used extensively in the parser, optimizer, and executor to
|
||||
store requests and data.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//utils">utils</A> - support routines
|
||||
<A NAME="utils">
|
||||
<A HREF="../../backend/utils">utils</A></A>
|
||||
- support routines
|
||||
</H2>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/adt">utils/adt</A> - built-in data type routines
|
||||
<A NAME="utils/adt">
|
||||
<A HREF="../../backend/utils/adt">utils/adt</A></A>
|
||||
- built-in data type routines
|
||||
</H4>
|
||||
<P>
|
||||
This contains all the PostgreSQL builtin data types.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/cache">utils/cache</A> - system/relation/function cache routines
|
||||
<A NAME="utils/cache">
|
||||
<A HREF="../../backend/utils/cache">utils/cache</A></A>
|
||||
- system/relation/function cache routines
|
||||
</H4>
|
||||
<P>
|
||||
PostgreSQL supports arbitrary data types, so no data types are hard-coded
|
||||
@ -236,20 +308,26 @@ This last cache maintains information about all recently-accessed
|
||||
tables, not just system ones.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/error">utils/error</A> - error reporting routines
|
||||
<A NAME="utils/error">
|
||||
<A HREF="../../backend/utils/error">utils/error</A></A>
|
||||
- error reporting routines
|
||||
</H4>
|
||||
<P>
|
||||
Reports backend errors to the front end.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/fmgr">utils/fmgr</A> - function manager
|
||||
<A NAME="utils/fmgr">
|
||||
<A HREF="../../backend/utils/fmgr">utils/fmgr</A></A>
|
||||
- function manager
|
||||
</H4>
|
||||
<P>
|
||||
This handles the calling of dynamically-loaded functions, and the calling
|
||||
of functions defined in the system tables.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/hash">utils/hash</A> - hash routines for internal algorithms
|
||||
<A NAME="utils/hash">
|
||||
<A HREF="../../backend/utils/hash">utils/hash</A></A>
|
||||
- hash routines for internal algorithms
|
||||
</H4>
|
||||
<P>
|
||||
These hash routines are used by the cache and memory-manager routines to
|
||||
@ -257,13 +335,19 @@ do quick lookups of dynamic data storage structures maintained by the
|
||||
backend.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/init">utils/init</A> - various initialization stuff
|
||||
<A NAME="utils/init">
|
||||
<A HREF="../../backend/utils/init">utils/init</A></A>
|
||||
- various initialization stuff
|
||||
</H4>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/misc">utils/misc</A> - miscellaneous stuff
|
||||
<A NAME="utils/misc">
|
||||
<A HREF="../../backend/utils/misc">utils/misc</A></A>
|
||||
- miscellaneous stuff
|
||||
</H4>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/mmgr">utils/mmgr</A> - memory manager(process-local memory)
|
||||
<A NAME="utils/mmgr">
|
||||
<A HREF="../../backend/utils/mmgr">utils/mmgr</A></A>
|
||||
- memory manager(process-local memory)
|
||||
</H4>
|
||||
<P>
|
||||
When PostgreSQL allocates memory, it does so in an explicit context.
|
||||
@ -273,14 +357,18 @@ By doing this, the backend can easily free memory once a statement or
|
||||
transaction completes.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/sort">utils/sort</A> - sort routines for internal algorithms
|
||||
<A NAME="utils/sort">
|
||||
<A HREF="../../backend/utils/sort">utils/sort</A></A>
|
||||
- sort routines for internal algorithms
|
||||
</H4>
|
||||
<P>
|
||||
When statement output must be sorted as part of a backend operation,
|
||||
this code sorts the tuples, either in memory or using disk files.
|
||||
</P>
|
||||
<H4>
|
||||
<A HREF="../backend//utils/time">utils/time</A> - transaction time qualification routines
|
||||
<A NAME="utils/time">
|
||||
<A HREF="../../backend/utils/time">utils/time</A></A>
|
||||
- transaction time qualification routines
|
||||
</H4>
|
||||
<P>
|
||||
These routines do checking of tuple internal columns to determine if the
|
||||
@ -288,31 +376,41 @@ current row is still valid, or is part of a non-committed transaction or
|
||||
superseded by a new row.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//include">include</A> - include files
|
||||
<A NAME="include">
|
||||
<A HREF="../../backend/include">include</A></A>
|
||||
- include files
|
||||
</H2>
|
||||
<P>
|
||||
There are include directories for each subsystem.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//lib">lib</A> - support library
|
||||
<A NAME="lib">
|
||||
<A HREF="../../backend/lib">lib</A></A>
|
||||
- support library
|
||||
</H2>
|
||||
<P>
|
||||
This houses several generic routines.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//regex">regex</A> - regular expression library
|
||||
<A NAME="regex">
|
||||
<A HREF="../../backend/regex">regex</A></A>
|
||||
- regular expression library
|
||||
</H2>
|
||||
<P>
|
||||
This is used for regular expression handling in the backend, i.e. '~'.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//rewrite">rewrite</A> - rules system
|
||||
<A NAME="rewrite">
|
||||
<A HREF="../../backend/rewrite">rewrite</A></A>
|
||||
- rules system
|
||||
</H2>
|
||||
<P>
|
||||
This does processing for the rules system.
|
||||
</P>
|
||||
<H2>
|
||||
<A HREF="../backend//tioga">tioga</A> - unused (array handling?)
|
||||
<A NAME="tioga">
|
||||
<A HREF="../../backend/tioga">tioga</A></A>
|
||||
- unused (array handling?)
|
||||
</H2>
|
||||
<HR>
|
||||
<ADDRESS>
|
@ -20,21 +20,8 @@ Inches
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 2400 9600 3000
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 5100 2700 4500 300 4500 300 5100 2700 5100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 3600 1500 4500
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 6300 2700 5700 300 5700 300 6300 2700 6300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
1500 5100 1500 5700
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6900 5100 6900 4500 4500 4500 4500 5100 6900 5100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 6
|
||||
0 0 1.00 60.00 120.00
|
||||
1500 6300 1500 6600 3900 6600 3900 4200 5700 4200 5700 4500
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6900 6300 6900 5700 4500 5700 4500 6300 6900 6300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
@ -50,58 +37,91 @@ Inches
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 7500 5700 8100
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6900 9600 6900 9000 4500 9000 4500 9600 6900 9600
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 8700 5700 9000
|
||||
5700 8700 5700 9300
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
10800 6300 10800 5700 8400 5700 8400 6300 10800 6300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
6900 6000 8400 6000
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 7500 2700 6900 300 6900 300 7500 2700 7500
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 8400 2700 7800 300 7800 300 8400 2700 8400
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 3
|
||||
0 0 1.00 60.00 120.00
|
||||
4500 9300 3900 9300 3900 6600
|
||||
4500 9600 3900 9600 3900 6600
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 4
|
||||
0 0 1.00 60.00 120.00
|
||||
10800 6000 11400 6000 11400 4200 5700 4200
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 9300 2700 8700 300 8700 300 9300 2700 9300
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
|
||||
2700 8100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
|
||||
8475 2175
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 0 0 1
|
||||
8475 2175
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
3900 6600 3900 4200
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
3900 4200 5700 4200
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 4200 5700 4500
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 9600 2700 9000 300 9000 300 9600 2700 9600
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
2700 7200 3300 7200
|
||||
2700 9300 3300 9300
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 8700 2700 8100 300 8100 300 8700 2700 8700
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
2700 8100 3300 8100
|
||||
2700 8400 3300 8400
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 7800 2700 7200 300 7200 300 7800 2700 7800
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
2700 9000 3300 9000
|
||||
3300 7500 2700 7500
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 6900 2700 6300 300 6300 300 6900 2700 6900
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
3300 6600 2700 6600
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
2700 6000 2700 5400 300 5400 300 6000 2700 6000
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
2700 5700 3300 5700
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
6900 9900 6900 9300 4500 9300 4500 9900 6900 9900
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 8 0 0 5
|
||||
10800 1200 10800 600 8400 600 8400 1200 10800 1200
|
||||
2 4 0 1 -1 7 0 0 -1 0.000 0 0 7 0 0 5
|
||||
10800 2400 10800 1800 8400 1800 8400 2400 10800 2400
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
8400 2100 7725 2100
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 1 2
|
||||
0 0 1.00 60.00 120.00
|
||||
0 0 1.00 60.00 120.00
|
||||
8325 2175 7725 2550
|
||||
2 1 0 1 -1 7 0 0 -1 0.000 0 0 -1 1 0 2
|
||||
0 0 1.00 60.00 120.00
|
||||
5700 3600 5700 4200
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 630 5670 990 Main\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1470 5685 2190 Postmaster\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 240 1110 9585 3375 Postgres\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 240 1110 5700 3390 Postgres\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1710 1500 4905 Initialization\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1215 1470 5940 Attach to\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 2340 1485 6270 Shared Resources\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 240 915 9600 5970 Simple\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1980 5685 7455 Generate Paths\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1275 5715 7170 Rewrite &\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 255 1500 5715 6090 Traffic Cop\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 825 5685 4875 Parser\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1140 5685 9420 Executor\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 2100 1485 7305 Access Methods\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1050 1485 9090 Utilities\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 240 2325 1515 8190 Storage Managers\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1485 9600 6255 Commands\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1830 5715 8670 Generate Plan\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1890 5700 8400 Choose Path &\001
|
||||
@ -110,3 +130,11 @@ Inches
|
||||
4 0 -1 0 0 0 24 0.0000 4 330 1290 600 1470 Program\001
|
||||
4 0 -1 0 0 0 24 0.0000 4 255 735 600 1890 Flow\001
|
||||
4 0 -1 0 0 0 24 0.0000 4 330 1800 600 1050 PostgreSQL\001
|
||||
4 0 -1 0 0 0 18 0.0000 4 255 1095 9000 975 Bootstrap\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 240 2325 1515 9390 Storage Managers\001
|
||||
4 0 -1 0 0 0 18 0.0000 4 225 1425 750 8475 Nodes / Lists\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1050 1485 7590 Utilities\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 2100 1485 5805 Access Methods\001
|
||||
4 1 -1 0 0 28 18 0.0000 4 195 1140 5685 9720 Executor\001
|
||||
4 0 -1 0 0 0 18 0.0000 4 255 645 9225 2175 Libpq\001
|
||||
4 0 -1 0 0 0 18 0.0000 4 255 840 1050 6675 Catalog\001
|
BIN
src/tools/backend/flow.gif
Normal file
BIN
src/tools/backend/flow.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 658 KiB |
42
src/tools/backend/index.html
Normal file
42
src/tools/backend/index.html
Normal file
@ -0,0 +1,42 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>PostgreSQL Backend Flowchart</TITLE>
|
||||
</HEAD>
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#A00000" ALINK="#0000FF">
|
||||
<H1 ALIGN=CENTER>
|
||||
PostgreSQL Backend Flowchart
|
||||
</H1>
|
||||
<H2 ALIGN=CENTER>
|
||||
by Bruce Momjian
|
||||
</H2 ALIGN=CENTER>
|
||||
<CENTER>
|
||||
Click on an item to see more detail.
|
||||
<BR>
|
||||
<BR>
|
||||
<IMG src="flow.gif" usemap="#flowmap">
|
||||
</CENTER>
|
||||
<MAP name="flowmap">
|
||||
<AREA COORDS="290,10,450,50" HREF="backend_dirs.html#main">
|
||||
<AREA COORDS="550,10,710,50" HREF="backend_dirs.html#bootstrap">
|
||||
<AREA COORDS="290,90,450,130," HREF="backend_dirs.html#postmaster">
|
||||
<AREA COORDS="550,90,710,130," HREF="backend_dirs.html#libpq">
|
||||
<AREA COORDS="290,170,450,210" HREF="backend_dirs.html#tcop">
|
||||
<AREA COORDS="550,170,710,210" HREF="backend_dirs.html#tcop">
|
||||
<AREA COORDS="290,270,450,310" HREF="backend_dirs.html#parser">
|
||||
<AREA COORDS="290,350,450,390" HREF="backend_dirs.html#tcop">
|
||||
<AREA COORDS="290,430,450,470" HREF="backend_dirs.html#optimizer">
|
||||
<AREA COORDS="290,510,450,550" HREF="backend_dirs.html#optimizer/plan">
|
||||
<AREA COORDS="290,570,450,630" HREF="backend_dirs.html#executor">
|
||||
<AREA COORDS="550,350,710,390" HREF="backend_dirs.html#commands">
|
||||
<AREA COORDS="10,330,170,370" HREF="backend_dirs.html#access">
|
||||
<AREA COORDS="10,390,170,430" HREF="backend_dirs.html#catalog">
|
||||
<AREA COORDS="10,450,170,490" HREF="backend_dirs.html#utils">
|
||||
<AREA COORDS="10,510,170,550" HREF="backend_dirs.html#nodes">
|
||||
<AREA COORDS="10,570,170,610" HREF="backend_dirs.html#storage">
|
||||
</MAP>
|
||||
<HR>
|
||||
<ADDRESS>
|
||||
Maintainer: Bruce Momjian<A
|
||||
HREF="mailto:maillist@candle.pha.pa.us">maillist@candle.pha.pa.us</a>)<BR>
|
||||
Last updated: Mon Oct 27 11:01:08 EST 1997
|
||||
</ADDRESS>
|
Binary file not shown.
Before Width: | Height: | Size: 8.2 KiB |
Loading…
Reference in New Issue
Block a user