summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorPeter Eisentraut <peter_e@gmx.net>2002-05-17 18:32:52 +0000
committerPeter Eisentraut <peter_e@gmx.net>2002-05-17 18:32:52 +0000
commit94bdc4855cf8db8a2df83a19d18ce72fd5eb2691 (patch)
tree41ce44b368365702d41eee6753c1aa0e34500252 /src/include
parent97f7ceaaa6a80cecc2bd3c6b1e7757c4ab504a69 (diff)
Extend syntax of CREATE FUNCTION to resemble SQL99.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/commands/defrem.h4
-rw-r--r--src/include/nodes/nodes.h4
-rw-r--r--src/include/nodes/parsenodes.h9
3 files changed, 8 insertions, 9 deletions
diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h
index 4e257fbd91a..cf9048c714b 100644
--- a/src/include/commands/defrem.h
+++ b/src/include/commands/defrem.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: defrem.h,v 1.36 2002/04/16 23:08:12 tgl Exp $
+ * $Id: defrem.h,v 1.37 2002/05/17 18:32:52 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -38,7 +38,7 @@ extern void ReindexDatabase(const char *databaseName, bool force, bool all);
* DefineFoo and RemoveFoo are now both in foocmds.c
*/
-extern void CreateFunction(ProcedureStmt *stmt);
+extern void CreateFunction(CreateFunctionStmt *stmt);
extern void RemoveFunction(List *functionName, List *argTypes);
extern void DefineOperator(List *names, List *parameters);
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index 7de647d1362..6aa253e9d41 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.107 2002/05/12 23:43:04 tgl Exp $
+ * $Id: nodes.h,v 1.108 2002/05/17 18:32:52 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -160,7 +160,7 @@ typedef enum NodeTag
T_CommentStmt,
T_FetchStmt,
T_IndexStmt,
- T_ProcedureStmt,
+ T_CreateFunctionStmt,
T_RemoveAggrStmt,
T_RemoveFuncStmt,
T_RemoveOperStmt,
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index a0bf47d7ed0..3466e125982 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.177 2002/05/17 01:19:19 tgl Exp $
+ * $Id: parsenodes.h,v 1.178 2002/05/17 18:32:52 petere Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1200,17 +1200,16 @@ typedef struct IndexStmt
* Create Function Statement
* ----------------------
*/
-typedef struct ProcedureStmt
+typedef struct CreateFunctionStmt
{
NodeTag type;
bool replace; /* T => replace if already exists */
List *funcname; /* qualified name of function to create */
List *argTypes; /* list of argument types (TypeName nodes) */
TypeName *returnType; /* the return type */
+ List *options; /* a list of DefElem */
List *withClause; /* a list of DefElem */
- List *as; /* definition of function body */
- char *language; /* C, SQL, etc */
-} ProcedureStmt;
+} CreateFunctionStmt;
/* ----------------------
* Drop Aggregate Statement