diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2002-05-17 18:32:52 +0000 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2002-05-17 18:32:52 +0000 |
commit | 94bdc4855cf8db8a2df83a19d18ce72fd5eb2691 (patch) | |
tree | 41ce44b368365702d41eee6753c1aa0e34500252 /src/include | |
parent | 97f7ceaaa6a80cecc2bd3c6b1e7757c4ab504a69 (diff) |
Extend syntax of CREATE FUNCTION to resemble SQL99.
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/commands/defrem.h | 4 | ||||
-rw-r--r-- | src/include/nodes/nodes.h | 4 | ||||
-rw-r--r-- | src/include/nodes/parsenodes.h | 9 |
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 |