This commit is contained in:
Bruce Momjian 1998-07-17 18:19:31 +00:00
parent 96f5323bcd
commit 3a132e9d83

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 queries, like <I>INSERT</I> and <I>UPDATE,</I> specify the columns
modified by the query. These column references are converted to <A modified by the query. These column references are converted to <A
HREF="../../include/nodes/primnodes.h">Resdom</A> entries, which are HREF="../../include/nodes/primnodes.h">Resdom</A> entries, which are
linked together to make up the <I>target list</I> of the query. The placed in <A HREF="../../include/nodes/parsenodes.h">target list
target list is stored in Query.targetList, which is generated by 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> <A HREF="../../backend/parser/parse_target.c">transformTargetList().</A>
<P> <P>
Other query elements, like aggregates(<I>SUM()</I>), <I>GROUP BY,</I> 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 table join order and join type of each table in the RangeTable, using
Query.qual(<I>WHERE</I> clause) to consider optimal index usage. Query.qual(<I>WHERE</I> clause) to consider optimal index usage.
<P> <P>
The Plan is then passed to the <A The Plan is then passed to the <A
HREF="../../backend/executor">executor</A> for execution, and the result 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> <P>
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. They can be accessed by clicking on the flowchart.