Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
24d48db3
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,发现更多精彩内容 >>
提交
24d48db3
编写于
4月 23, 1997
作者:
V
Vadim B. Mikheev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1. SHOW/RESET var fixed.
2. New VACUUM syntax (ANALYZE ...).
上级
bc67a461
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
26 deletion
+46
-26
src/backend/parser/gram.y
src/backend/parser/gram.y
+44
-25
src/backend/parser/keywords.c
src/backend/parser/keywords.c
+2
-1
未找到文件。
src/backend/parser/gram.y
浏览文件 @
24d48db3
...
...
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.3
1 1997/04/23 03:17:00 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.3
2 1997/04/23 06:04:42 vadim
Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
...
...
@@ -128,14 +128,14 @@ static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr);
tableElementList, OptInherit, definition,
opt_with, def_args, def_name_list, func_argtypes,
oper_argtypes, OptStmtList, OptStmtBlock, OptStmtMulti,
opt_column_list, columnList,
opt_column_list, columnList,
opt_va_list, va_list,
sort_clause, sortby_list, index_params, index_list,
name_list, from_clause, from_list, opt_array_bounds, nest_array_bounds,
expr_list, attrs, res_target_list, res_target_list2,
def_list, opt_indirection, group_clause, groupby_list
%type <boolean> opt_inh_star, opt_binary, opt_instead, opt_with_copy,
index_opt_unique, opt_verbose
index_opt_unique, opt_verbose
, opt_analyze
%type <ival> copy_dirn, archive_type, OptArchiveType, OptArchiveLocation,
def_type, opt_direction, remove_type, opt_column, event
...
...
@@ -179,11 +179,12 @@ static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr);
*/
/* Keywords */
%token ABORT_TRANS, ACL, ADD, AFTER, AGGREGATE, ALL, ALTER, AND, APPEND,
ARCHIVE, ARCH_STORE, AS, ASC, BACKWARD, BEFORE, BEGIN_TRANS, BETWEEN,
BINARY, BY, CAST, CHANGE, CLOSE, CLUSTER, COLUMN, COMMIT, COPY, CREATE,
CURRENT, CURSOR, DATABASE, DECLARE, DELETE, DELIMITERS, DESC, DISTINCT,
DO, DROP, END_TRANS,
%token ABORT_TRANS, ACL, ADD, AFTER, AGGREGATE, ALL, ALTER, ANALYZE,
AND, APPEND, ARCHIVE, ARCH_STORE, AS, ASC,
BACKWARD, BEFORE, BEGIN_TRANS, BETWEEN, BINARY, BY,
CAST, CHANGE, CLOSE, CLUSTER, COLUMN, COMMIT, COPY, CREATE,
CURRENT, CURSOR, DATABASE, DECLARE, DELETE, DELIMITERS, DESC,
DISTINCT, DO, DROP, END_TRANS,
EXTEND, FETCH, FOR, FORWARD, FROM, FUNCTION, GRANT, GROUP,
HAVING, HEAVY, IN, INDEX, INHERITS, INSERT, INSTEAD, INTO, IS,
ISNULL, LANGUAGE, LIGHT, LISTEN, LOAD, MERGE, MOVE, NEW,
...
...
@@ -288,11 +289,10 @@ stmt : AddAttrStmt
VariableSetStmt: SET var_name TO var_value
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
n->value = $4;
$$ = (Node *) n;
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
n->value = $4;
$$ = (Node *) n;
}
;
...
...
@@ -301,21 +301,17 @@ var_value: Sconst { $$ = $1; }
VariableShowStmt: SHOW var_name
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
n->value = NULL;
$$ = (Node *) n;
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = $2;
$$ = (Node *) n;
}
;
VariableResetStmt: RESET var_name
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->name = $2;
n->value = NULL;
$$ = (Node *) n;
VariableResetStmt *n = makeNode(VariableResetStmt);
n->name = $2;
$$ = (Node *) n;
}
;
...
...
@@ -1295,17 +1291,24 @@ ClusterStmt: CLUSTER index_name ON relation_name
*
*****************************************************************************/
VacuumStmt: VACUUM opt_verbose
VacuumStmt: VACUUM opt_verbose
opt_analyze
{
VacuumStmt *n = makeNode(VacuumStmt);
n->verbose = $2;
n->analyze = $3;
n->vacrel = NULL;
n->va_spec = NIL;
$$ = (Node *)n;
}
| VACUUM opt_verbose relation_name
| VACUUM opt_verbose relation_name
opt_analyze opt_va_list
{
VacuumStmt *n = makeNode(VacuumStmt);
n->verbose = $2;
n->analyze = $4;
n->vacrel = $3;
n->va_spec = $5;
if ( $5 != NIL && !$4 )
elog (WARN, "parser: syntax error at or near \"(\"");
$$ = (Node *)n;
}
;
...
...
@@ -1313,6 +1316,22 @@ VacuumStmt: VACUUM opt_verbose
opt_verbose: VERBOSE { $$ = TRUE; }
| /* EMPTY */ { $$ = FALSE; }
;
opt_analyze: ANALYZE { $$ = TRUE; }
| /* EMPTY */ { $$ = FALSE; }
;
opt_va_list: '(' va_list ')'
{ $$ = $2; }
| /* EMPTY */
{ $$ = NIL; }
;
va_list: name
{ $$=lcons($1,NIL); }
| va_list ',' name
{ $$=lappend($1,$3); }
;
/*****************************************************************************
*
...
...
src/backend/parser/keywords.c
浏览文件 @
24d48db3
...
...
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.
9 1997/04/23 03:17:04 scrappy
Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/keywords.c,v 1.
10 1997/04/23 06:04:46 vadim
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -38,6 +38,7 @@ static ScanKeyword ScanKeywords[] = {
{
"aggregate"
,
AGGREGATE
},
{
"all"
,
ALL
},
{
"alter"
,
ALTER
},
{
"analyze"
,
ANALYZE
},
{
"and"
,
AND
},
{
"append"
,
APPEND
},
{
"archIve"
,
ARCHIVE
},
/* XXX crooked: I < _ */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录