Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
da9db569
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
da9db569
编写于
7月 09, 1998
作者:
B
Bruce Momjian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
change <CODE> to <I>.
上级
b992bb45
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
10 deletion
+10
-10
src/tools/backend/index.html
src/tools/backend/index.html
+10
-10
未找到文件。
src/tools/backend/index.html
浏览文件 @
da9db569
...
...
@@ -25,13 +25,13 @@ HREF="../../include/nodes/parsenodes.h">SelectStmt.</A>
The query is then identified as a
<I>
Utility
</I>
query or a more complex
query. A
<I>
Utility
</I>
query is processed by a query-specific function
in
<A
HREF=
"../../backend/commands"
>
commands.
</A>
A complex query, like
<
CODE>
SELECT, UPDATE,
</CODE
>
and
<
CODE>
DELETE
</CODE
>
requires much more handling.
<
I>
SELECT, UPDATE,
</I
>
and
<
I>
DELETE
</I
>
requires much more handling.
<P>
The parser takes a complex query, and creates a
<A
HREF=
"../../include/nodes/parsenodes.h"
>
Query
</A>
structure that
contains all the elements used by complex queries. Query.qual holds the
<
CODE>
WHERE
</CODE
>
clause qualification, which is filled in by
<
I>
WHERE
</I
>
clause qualification, which is filled in by
<A
HREF=
"../../backend/parser/parse_clause.c"
>
transformWhereClause().
</A>
Each table referenced in the query is represented by a
<A
HREF=
"../../include/nodes/parsenodes.h"
>
RangeTableEntry,
</A>
and they
...
...
@@ -39,19 +39,19 @@ are linked together to form the <I>range table</I> of the query, which is
generated by
<A
HREF=
"../../backend/parser/parse_clause.c"
>
makeRangeTable().
</A>
Query.rtable holds the query's range table.
<P>
Certain queries, like
<
CODE>
SELECT,
</CODE
>
return columns of data. Other
queries, like
<
CODE>
INSERT
</CODE>
and
<CODE>
UPDATE,
</CODE
>
specify the columns
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
<A
HREF=
"../../backend/parser/parse_target.c"
>
transformTargetList().
</A>
<P>
Other query elements, like aggregates(
<
CODE>
SUM()
</CODE>
),
<CODE>
GROUP BY,
</CODE
>
and
<
CODE>
ORDER BY
</CODE
>
are also stored in their own Query fields.
Other query elements, like aggregates(
<
I>
SUM()
</I>
),
<I>
GROUP BY,
</I
>
and
<
I>
ORDER BY
</I
>
are also stored in their own Query fields.
<P>
The next step is for the Query to be modified by any
<
CODE>
VIEWS
</CODE
>
or
<
CODE>
RULES
</CODE
>
that may apply to the query. This is performed by the
<A
The next step is for the Query to be modified by any
<
I>
VIEWS
</I
>
or
<
I>
RULES
</I
>
that may apply to the query. This is performed by the
<A
HREF=
"../../backend/rewrite"
>
rewrite
</A>
system.
<P>
The
<A
HREF=
"../../backend/optimizer"
>
optimizer
</A>
takes the Query
...
...
@@ -60,7 +60,7 @@ HREF="../..//include/nodes/plannodes.h">Plan,</A> which contains the
operations to be performed to execute the query. The
<A
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(
<
CODE>
WHERE
</CODE
>
clause) to consider optimal index usage.
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
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录