Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita6ca652

Browse files
committed
Update version.
1 parent60baf18 commita6ca652

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

‎src/tools/backend/index.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ <H2 ALIGN=CENTER>
1010
by Bruce Momjian
1111
</H2>
1212
<P>
13+
1314
A query comes to the backend via data packets arriving through TCP/IP
1415
or Unix Domain sockets. It is loaded into a string, and passed to
1516
the
@@ -22,12 +23,14 @@ <H2 ALIGN=CENTER>
2223
like<AHREF="../../include/nodes/parsenodes.h">CreateStmt</A> or<A
2324
HREF="../../include/nodes/parsenodes.h">SelectStmt.</A>
2425
<P>
26+
2527
The query is then identified as a<I>Utility</I> query or a more complex
2628
query. A<I>Utility</I> query is processed by a query-specific function
2729
in<AHREF="../../backend/commands"> commands.</A> A complex query, like
2830
<I>SELECT, UPDATE,</I> and
2931
<I>DELETE</I> requires much more handling.
3032
<P>
33+
3134
The parser takes a complex query, and creates a
3235
<AHREF="../../include/nodes/parsenodes.h">Query</A> structure that
3336
contains all the elements used by complex queries. Query.qual holds the
@@ -39,6 +42,7 @@ <H2 ALIGN=CENTER>
3942
generated by<AHREF="../../backend/parser/parse_clause.c">
4043
makeRangeTable().</A> Query.rtable holds the query's range table.
4144
<P>
45+
4246
Certain queries, like<I>SELECT,</I> return columns of data. Other
4347
queries, like<I>INSERT</I> and<I>UPDATE,</I> specify the columns
4448
modified by the query. These column references are converted to<A
@@ -49,13 +53,16 @@ <H2 ALIGN=CENTER>
4953
generated by
5054
<AHREF="../../backend/parser/parse_target.c">transformTargetList().</A>
5155
<P>
56+
5257
Other query elements, like aggregates(<I>SUM()</I>),<I>GROUP BY,</I>
5358
and<I>ORDER BY</I> are also stored in their own Query fields.
5459
<P>
60+
5561
The next step is for the Query to be modified by any<I>VIEWS</I> or
5662
<I>RULES</I> that may apply to the query. This is performed by the<A
5763
HREF="../../backend/rewrite">rewrite</A> system.
5864
<P>
65+
5966
The<AHREF="../../backend/optimizer">optimizer</A> takes the Query
6067
structure and generates an optimal<A
6168
HREF="../..//include/nodes/plannodes.h">Plan,</A> which contains the
@@ -65,18 +72,21 @@ <H2 ALIGN=CENTER>
6572
Query.qual(<I>WHERE</I> clause) to consider optimal index usage.
6673
<P>
6774

75+
6876
The Plan is then passed to the<A
6977
HREF="../../backend/executor">executor</A> for execution, and the result
7078
returned to the client. The Plan actually as set of nodes, arranged in
7179
a tree structure with a top-level node, and various sub-nodes as
7280
children.
73-
7481
<P>
82+
7583
There are many other modules that support this basic functionality.
7684
They can be accessed by clicking on the flowchart.
7785
<P>
86+
7887
<HR>
7988
<P>
89+
8090
<CENTER>
8191
<EM><BIG>
8292
Click on an item to see more detail or look at the full
@@ -107,8 +117,10 @@ <H2 ALIGN=CENTER>
107117
</MAP>
108118
<BR>
109119
<P>
120+
110121
<HR>
111122
<P>
123+
112124
Another area of interest is the shared memory area, which contains data
113125
accessable to all backends. It has table recently used data/index
114126
blocks, locks, backend information, and lookup tables for these
@@ -147,6 +159,7 @@ <H2 ALIGN=CENTER>
147159
the lookups are created by
148160
<AHREF="../../backend/storage/ipc/shmem.c">ShmemInitHash().</A>
149161
<P>
162+
150163
<HRSIZE="2"NOSHADE>
151164
<SMALL>
152165
<ADDRESS>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp