This commit is contained in:
Bruce Momjian 1998-07-17 18:19:31 +00:00
parent 96f5323bcd
commit 3a132e9d83
1 changed files with 9 additions and 3 deletions

View File

@ -43,8 +43,10 @@ Certain queries, like <I>SELECT,</I> return columns of data. Other
queries, like <I>INSERT</I> and <I>UPDATE,</I> specify the columns
modified by the query. These column references are converted to <A
HREF="../../include/nodes/primnodes.h">Resdom</A> entries, which are
linked together to make up the <I>target list</I> of the query. The
target list is stored in Query.targetList, which is generated by
placed in <A HREF="../../include/nodes/parsenodes.h">target list
entries,</I> and linked together to make up the <I>target list</I> of
the query. The target list is stored in Query.targetList, which is
generated by
<A HREF="../../backend/parser/parse_target.c">transformTargetList().</A>
<P>
Other query elements, like aggregates(<I>SUM()</I>), <I>GROUP BY,</I>
@ -62,9 +64,13 @@ HREF="../../backend/optimizer/path">path</A> module determines the best
table join order and join type of each table in the RangeTable, using
Query.qual(<I>WHERE</I> clause) to consider optimal index usage.
<P>
The Plan is then passed to the <A
HREF="../../backend/executor">executor</A> for execution, and the result
returned to the client.
returned to the client. The Plan actually as set of nodes, arranged in
a tree structure with a top-level node, and various sub-nodes as
children.
<P>
There are many other modules that support this basic functionality.
They can be accessed by clicking on the flowchart.