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) |
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 a9932ab59a0..42ae42d9e63 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 666e4ede764..03ac8dc6462 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 01e5b16e2b5..3a7641e1de7 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 */ |