Index: gram.y =================================================================== RCS file: /usr/local/cvsroot/pgsql/src/backend/parser/gram.y,v retrieving revision 2.99 retrieving revision 2.100 diff -c -r2.99 -r2.100 *** gram.y 1999/09/23 17:02:46 2.99 --- gram.y 1999/09/28 04:34:44 2.100 *************** *** 10,16 **** * * * IDENTIFICATION ! * $Header: /usr/local/cvsroot/pgsql/src/backend/parser/gram.y,v 2.99 1999/09/23 17:02:46 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT --- 10,16 ---- * * * IDENTIFICATION ! * $Header: /usr/local/cvsroot/pgsql/src/backend/parser/gram.y,v 2.100 1999/09/28 04:34:44 momjian Exp $ * * HISTORY * AUTHOR DATE MAJOR EVENT *************** *** 163,169 **** %type stmtblock, stmtmulti, result, relation_name_list, OptTableElementList, OptInherit, definition, ! opt_with, func_args, func_args_list, oper_argtypes, RuleActionList, RuleActionBlock, RuleActionMulti, opt_column_list, columnList, opt_va_list, va_list, sort_clause, sortby_list, index_params, index_list, name_list, --- 163,169 ---- %type stmtblock, stmtmulti, result, relation_name_list, OptTableElementList, OptInherit, definition, ! opt_with, func_args, func_args_list, func_as, oper_argtypes, RuleActionList, RuleActionBlock, RuleActionMulti, opt_column_list, columnList, opt_va_list, va_list, sort_clause, sortby_list, index_params, index_list, name_list, *************** *** 1923,1929 **** *****************************************************************************/ ProcedureStmt: CREATE FUNCTION func_name func_args ! RETURNS func_return opt_with AS Sconst LANGUAGE Sconst { ProcedureStmt *n = makeNode(ProcedureStmt); n->funcname = $3; --- 1923,1929 ---- *****************************************************************************/ ProcedureStmt: CREATE FUNCTION func_name func_args ! RETURNS func_return opt_with AS func_as LANGUAGE Sconst { ProcedureStmt *n = makeNode(ProcedureStmt); n->funcname = $3; *************** *** 1947,1952 **** --- 1947,1958 ---- { $$ = lcons(makeString($1),NIL); } | func_args_list ',' TypeId { $$ = lappend($1,makeString($3)); } + ; + + func_as: Sconst + { $$ = lcons(makeString($1),NIL); } + | Sconst ',' Sconst + { $$ = lappend(lcons(makeString($1),NIL), makeString($3)); } ; func_return: set_opt TypeId