11<!--
2- $Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.11 2000/12/21 22:55:26 petere Exp $
2+ $Header: /cvsroot/pgsql/doc/src/sgml/arch-dev.sgml,v 2.12 2000/12/22 18:57:49 petere Exp $
33-->
44
55 <chapter id="overview">
@@ -357,7 +357,7 @@ XXX merge in the figures later... - thomas 1999-01-29
357357 the parser as input and steps recursively through it. If
358358 a <literal>SelectStmt</literal> node is found, it is transformed
359359 to a <literal>Query</literal>
360- nodewhich will be the top most node of the new data structure. Figure
360+ nodethat will be the top most node of the new data structure. Figure
361361 \ref{transformed} shows the transformed data structure (the part
362362 for the transformed <firstterm>where clause</firstterm> is given in figure
363363 \ref{transformed_where} because there was not enough space to show all
@@ -371,7 +371,7 @@ XXX merge in the figures later... - thomas 1999-01-29
371371 created containing the relation name, the <firstterm>alias name</firstterm> and
372372 the <firstterm>relation id</firstterm>. From now on the relation ids are used to
373373 refer to the <firstterm>relations</firstterm> given in the query. All <abbrev>RTE</abbrev> nodes
374- are collected in the <firstterm>range table entry list</firstterm>which is connected
374+ are collected in the <firstterm>range table entry list</firstterm>that is connected
375375 to the field <literal>rtable</literal> of the <literal>Query</literal> node. If a name of a
376376 relation that is not known to the system is detected in the query an
377377 error will be returned and the query processing will be aborted.
@@ -668,7 +668,7 @@ current context are performed.
668668 </para>
669669
670670 <para>
671- The top node of the plan is a <literal>MergeJoin</literal> nodewhich has two
671+ The top node of the plan is a <literal>MergeJoin</literal> nodethat has two
672672 successors, one attached to the field <literal>lefttree</literal> and the second
673673 attached to the field <literal>righttree</literal>. Each of the subnodes represents
674674 one relation of the join. As mentioned above a merge sort
@@ -861,7 +861,7 @@ the {\it aggregate function} used in the query.
861861
862862A check is made that every attribute grouped for appears only without
863863an {\it aggregate function} in the {\it targetlist} and that every
864- attributewhich appears without an {\it aggregate function} in the
864+ attributethat appears without an {\it aggregate function} in the
865865{\it targetlist} is grouped for.
866866%
867867
@@ -1050,7 +1050,7 @@ the {\it parser} transform the {\it operator tree} attached to the field
10501050transformation of the {\it operator tree} for the {\it where clause}. This
10511051is possible because both trees are built up by the same grammar rules
10521052of the {\it parser} and are therefore compatible. Additional checks
1053- which make sure that the {\it having clause} involves at least one
1053+ that make sure that the {\it having clause} involves at least one
10541054{\it aggregate function} etc. are performed at a later point in time
10551055in the {\it planner/optimizer} stage. \\
10561056\\
@@ -1061,7 +1061,7 @@ parts of the affected code are presented instead of the whole
10611061functions. Every added source line will be marked by a {\tt '+'} at the
10621062beginning of the line and every changed source line will be marked by
10631063a {\tt '!'} throughout the following code listings. Whenever a part of
1064- the codewhich is not relevant at the moment is skipped, three
1064+ the codethat is not relevant at the moment is skipped, three
10651065vertical dots are inserted instead.
10661066%
10671067\pagebreak
@@ -1961,7 +1961,7 @@ node.
19611961
19621962Unfortunately this is not the only thing to do. Remember from section
19631963\ref{aggregates} {\it How Aggregate Functions are Implemented} that
1964- the {\it targetlist} is searched for {\it aggregate functions}which
1964+ the {\it targetlist} is searched for {\it aggregate functions}that
19651965are appended to a list that will be attached to the field {\tt aggs}
19661966of the {\tt AGG} node. This was sufficient as long as {\it aggregate
19671967functions} have only been allowed to appear within the {\it
@@ -3158,7 +3158,7 @@ operators).
31583158%
31593159\end{itemize}
31603160%
3161- Here is a part of the grammarwhich is responsible for {\tt select}
3161+ Here is a part of the grammarthat is responsible for {\tt select}
31623162statements having the code building up the data structures inserted:
31633163%
31643164\pagebreak