diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-04-09 20:35:55 +0000 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-04-09 20:35:55 +0000 |
| commit | f2d70d32ebd6c38d4fe93c1a684f5f29e5e76938 (patch) | |
| tree | 5d041018177cdf6e9ca3ef0cc2eafac580a5bb0b /src/include/parser | |
| parent | c419c224142eb4bbf6e9a47d2d3626f212fda0fc (diff) | |
| download | postgresql-f2d70d32ebd6c38d4fe93c1a684f5f29e5e76938.tar.gz | |
Functions live in namespaces. Qualified function names work, eg
SELECT schema1.func2(...). Aggregate names can be qualified at the
syntactic level, but the qualification is ignored for the moment.
Diffstat (limited to 'src/include/parser')
| -rw-r--r-- | src/include/parser/gramparse.h | 3 | ||||
| -rw-r--r-- | src/include/parser/parse_agg.h | 6 | ||||
| -rw-r--r-- | src/include/parser/parse_func.h | 12 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/include/parser/gramparse.h b/src/include/parser/gramparse.h index a9932ab59a..42ae42d9e6 100644 --- a/src/include/parser/gramparse.h +++ b/src/include/parser/gramparse.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: gramparse.h,v 1.19 2001/11/05 17:46:34 momjian Exp $ + * $Id: gramparse.h,v 1.20 2002/04/09 20:35:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -29,6 +29,7 @@ extern Oid param_type(int t); extern int yyparse(void); extern char *xlateSqlFunc(char *name); extern char *xlateSqlType(char *name); +extern List *SystemFuncName(char *name); bool exprIsNullConstant(Node *arg); #endif /* GRAMPARSE_H */ diff --git a/src/include/parser/parse_agg.h b/src/include/parser/parse_agg.h index 666e4ede76..03ac8dc646 100644 --- a/src/include/parser/parse_agg.h +++ b/src/include/parser/parse_agg.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: parse_agg.h,v 1.21 2002/03/21 16:01:55 tgl Exp $ + * $Id: parse_agg.h,v 1.22 2002/04/09 20:35:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -18,8 +18,8 @@ extern void AddAggToParseState(ParseState *pstate, Aggref *aggref); extern void parseCheckAggregates(ParseState *pstate, Query *qry, Node *qual); -extern Aggref *ParseAgg(ParseState *pstate, char *aggname, Oid basetype, +extern Aggref *ParseAgg(ParseState *pstate, List *aggname, Oid basetype, List *args, bool agg_star, bool agg_distinct); -extern void agg_error(char *caller, char *aggname, Oid basetypeID); +extern void agg_error(const char *caller, List *aggname, Oid basetypeID); #endif /* PARSE_AGG_H */ diff --git a/src/include/parser/parse_func.h b/src/include/parser/parse_func.h index 01e5b16e2b..3a7641e1de 100644 --- a/src/include/parser/parse_func.h +++ b/src/include/parser/parse_func.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: parse_func.h,v 1.37 2002/03/29 19:06:24 tgl Exp $ + * $Id: parse_func.h,v 1.38 2002/04/09 20:35:55 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -48,18 +48,22 @@ typedef enum extern Node *ParseFuncOrColumn(ParseState *pstate, - char *funcname, List *fargs, + List *funcname, List *fargs, bool agg_star, bool agg_distinct, bool is_column); -extern FuncDetailCode func_get_detail(char *funcname, List *fargs, +extern FuncDetailCode func_get_detail(List *funcname, List *fargs, int nargs, Oid *argtypes, Oid *funcid, Oid *rettype, bool *retset, Oid **true_typeids); extern bool typeInheritsFrom(Oid subclassTypeId, Oid superclassTypeId); -extern void func_error(const char *caller, const char *funcname, +extern void func_error(const char *caller, List *funcname, int nargs, const Oid *argtypes, const char *msg); +extern Oid LookupFuncName(List *funcname, int nargs, const Oid *argtypes); +extern Oid LookupFuncNameTypeNames(List *funcname, List *argtypes, + bool opaqueOK, const char *caller); + #endif /* PARSE_FUNC_H */ |
