Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
0ba9b565
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,发现更多精彩内容 >>
提交
0ba9b565
编写于
8月 20, 2008
作者:
M
Michael Meskes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Synced parser.
上级
c91ff03a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
4 deletion
+23
-4
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+4
-0
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+19
-4
未找到文件。
src/interfaces/ecpg/ChangeLog
浏览文件 @
0ba9b565
...
...
@@ -2370,6 +2370,10 @@ Tue, 24 Jun 2008 13:30:51 +0200
Tue, 19 Aug 2008 12:32:24 +0200
- Fixed incorrect argument handling in SET command if argument is a variable.
Wed, 20 Aug 2008 15:49:23 +0200
- Synced parser.
- Set pgtypes library version to 3.1.
- Set compat library version to 3.1.
- Set ecpg library version to 6.2.
...
...
src/interfaces/ecpg/preproc/preproc.y
浏览文件 @
0ba9b565
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.37
0 2008/08/19 10:40:32
meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.37
1 2008/08/20 14:09:16
meskes Exp $ */
/* Copyright comment */
%{
...
...
@@ -564,7 +564,7 @@ add_typedef(char *name, char * dimension, char * length, enum ECPGttype type_enu
%type <str> Typename SimpleTypename Numeric opt_float DiscardStmt
%type <str> Character character opt_varying opt_charset enum_val_list
%type <str> opt_timezone opt_interval table_ref fetch_direction
%type <str> ConstDatetime AlterDomainStmt AlterSeqStmt
%type <str> ConstDatetime AlterDomainStmt AlterSeqStmt
table_func_column
%type <str> SelectStmt into_clause OptTemp ConstraintAttributeSpec
%type <str> opt_table opt_all sort_clause sortby_list ConstraintAttr
%type <str> sortby qualified_name_list name_list ColId_or_Sconst
...
...
@@ -590,7 +590,7 @@ add_typedef(char *name, char * dimension, char * length, enum ECPGttype type_enu
%type <str> RemoveOperStmt RenameStmt all_Op opt_trusted opt_lancompiler
%type <str> VariableSetStmt var_value zone_value VariableShowStmt
%type <str> VariableResetStmt AlterTableStmt from_list overlay_list
%type <str> relation_name OptTableSpace LockStmt opt_lock
%type <str> relation_name OptTableSpace LockStmt opt_lock
table_func_column_list
%type <str> CreateUserStmt AlterUserStmt CreateSeqStmt SeqOptList
%type <str> SeqOptElem TriggerForSpec TriggerForOpt TriggerForType
%type <str> DropTrigStmt TriggerOneEvent TriggerEvents RuleActionStmt
...
...
@@ -2379,7 +2379,7 @@ fetch_direction: NEXT { $$ = make_str("next"); }
fetch_count: IntConst {
if ($1[1] == '$')
{
/* a variable here has to be replaced on the client side, thus we have to use '
?
' here */
/* a variable here has to be replaced on the client side, thus we have to use '
$0
' here */
$$ = make_str("$0");
free($1);
}
...
...
@@ -2606,6 +2606,9 @@ opt_nulls_order: NULLS_FIRST { $$ = make_str("nulls first"); }
CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args
RETURNS func_return createfunc_opt_list opt_definition
{ $$ = cat_str(8, make_str("create"), $2, make_str("function"), $4, $5, make_str("returns"), $7, $8); }
| CREATE opt_or_replace FUNCTION func_name func_args
RETURNS TABLE '(' table_func_column_list ')' createfunc_opt_list opt_definition
{ $$ = cat_str(9, make_str("create"), $2, make_str("function"), $4, $5, make_str("returns table ("), $9, make_str(")"), $11, $12); }
| CREATE opt_or_replace FUNCTION func_name func_args
createfunc_opt_list opt_definition
{ $$ = cat_str(6, make_str("create"), $2, make_str("function"), $4, $5, $6, $7); }
...
...
@@ -2715,6 +2718,14 @@ opt_definition: WITH definition { $$ = cat2_str(make_str("with"), $2); }
| /*EMPTY*/ { $$ = EMPTY; }
;
table_func_column: param_name func_type { $$ = cat2_str($1, $2); }
;
table_func_column_list:
table_func_column { $$ = $1; }
| table_func_column_list ',' table_func_column { $$ = cat_str(3, $1, make_str(","), $3); }
;
AlterFunctionStmt:
ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict
{ $$ = cat_str(4, make_str("alter function"), $3, $4, $5); }
...
...
@@ -4383,6 +4394,10 @@ func_expr: func_name '(' ')'
{ $$ = cat2_str($1, make_str("()")); }
| func_name '(' expr_list ')'
{ $$ = cat_str(4, $1, make_str("("), $3, make_str(")")); }
| func_name '(' VARIADIC a_expr ')'
{ $$ = cat_str(4, $1, make_str("( variadic "), $4, make_str(")")); }
| func_name '(' expr_list ',' VARIADIC a_expr ')'
{ $$ = cat_str(6, $1, make_str("("), $3, make_str(", variadic "), $6, make_str(")")); }
| func_name '(' ALL expr_list ')'
{ $$ = cat_str(4, $1, make_str("( all"), $4, make_str(")")); }
| func_name '(' DISTINCT expr_list ')'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录