parse_func.h
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * parse_func.h
  4.  *
  5.  *
  6.  *
  7.  * Copyright (c) 1994, Regents of the University of California
  8.  *
  9.  * $Id: parse_func.h,v 1.16 1999/06/17 22:21:40 tgl Exp $
  10.  *
  11.  *-------------------------------------------------------------------------
  12.  */
  13. #ifndef PARSER_FUNC_H
  14. #define PARSER_FUNC_H
  15. #include <nodes/nodes.h>
  16. #include <nodes/pg_list.h>
  17. #include <nodes/parsenodes.h>
  18. #include <nodes/primnodes.h>
  19. #include <parser/parse_func.h>
  20. #include <parser/parse_node.h>
  21. #define MAXFARGS 8 /* max # args to a c or postquel function */
  22. /*
  23.  * This structure is used to explore the inheritance hierarchy above
  24.  * nodes in the type tree in order to disambiguate among polymorphic
  25.  * functions.
  26.  */
  27. typedef struct _InhPaths
  28. {
  29. int nsupers; /* number of superclasses */
  30. Oid self; /* this class */
  31. Oid    *supervec; /* vector of superclasses */
  32. } InhPaths;
  33. /*
  34.  * This structure holds a list of possible functions or operators that
  35.  * agree with the known name and argument types of the function/operator.
  36.  */
  37. typedef struct _CandidateList
  38. {
  39. Oid    *args;
  40. struct _CandidateList *next;
  41. }    *CandidateList;
  42. extern Node *ParseNestedFuncOrColumn(ParseState *pstate, Attr *attr,
  43. int *curr_resno, int precedence);
  44. extern Node *ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
  45.   int *curr_resno, int precedence);
  46. extern void func_error(char *caller, char *funcname,
  47.    int nargs, Oid *argtypes, char *msg);
  48. #endif  /* PARSE_FUNC_H */