Skip to content

Commit 502447d

Browse files
committed
Updates to backend flowchart
Several languages and URL updates to various information in the backend flowchart. Author: Bruce Momjian <bruce@momjian.us>
1 parent a90cbd2 commit 502447d

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

templates/pages/developer/backend.html

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,20 @@ <h3><em>Click on an item</em> to see more detail or look at the full
5656
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/nodes/parsenodes.h">SelectStmt.</a></p>
5757

5858
<p>The statement is then identified as complex (<em>SELECT / INSERT /
59-
UPDATE / DELETE</em>) or simple, e.g <em>CREATE USER, ANALYZE,</em>
59+
UPDATE / DELETE</em>) or simple, e.g <em>CREATE ROLE, ANALYZE,</em>
6060
etc. Simple utility commands that do not require the executor are processed by statement-specific
6161
functions in the <a href="https://wiki.postgresql.org/wiki/Backend_flowchart#commands">commands</a> module.
6262
Complex statements require more handling.</p>
6363

6464
<p>The parser takes a complex query, and creates a <a
6565
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/nodes/parsenodes.h">Query</a>
6666
structure that contains all the elements used by complex queries.
67-
Query.qual holds the <em>WHERE</em> clause qualification, which is filled
67+
Query.jointree holds the <em>FROM</em> and <em>WHERE</em> clauses, which is filled
6868
in by <a
69-
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/parser/parse_clause.c">transformWhereClause().</a>
69+
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/parser/parse_clause.c">transformFromClause()</a> and
70+
<a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/parser/parse_clause.c">transformWhereClause().</a>
7071
Each table referenced in the query is represented by a <a
71-
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/nodes/parsenodes.h">RangeTableEntry,</a>
72+
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/nodes/parsenodes.h">RangeTblEntry,</a>
7273
and they are linked together to form the <em>range table</em> of the
7374
query, which is generated by <a
7475
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/backend/parser/parse_clause.c">transformFromClause().</a>
@@ -95,8 +96,8 @@ <h3><em>Click on an item</em> to see more detail or look at the full
9596
<p>The <a
9697
href="https://wiki.postgresql.org/wiki/Backend_flowchart#optimizer_path">optimizer</a>
9798
uses the Query structure to determine the best table join order and join
98-
type of each table in the RangeTable, using Query.qual(<em>WHERE</em>
99-
clause) to consider optimal index usage.</p> The <a
99+
type of each table in the RangeTable, using Query.jointree(<em>FROM</em>
100+
and <em>WHERE</em> clauses) to consider optimal index usage.</p> The <a
100101
href="https://wiki.postgresql.org/wiki/Backend_flowchart#optimizer_path">path</a>
101102
module then generates an optimal <a
102103
href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=blob;f=src/include/nodes/plannodes.h">Plan,</a>

0 commit comments

Comments
 (0)