diff options
Diffstat (limited to 'src/include/parser')
-rw-r--r-- | src/include/parser/analyze.h | 4 | ||||
-rw-r--r-- | src/include/parser/parse_agg.h | 25 | ||||
-rw-r--r-- | src/include/parser/parse_clause.h | 19 | ||||
-rw-r--r-- | src/include/parser/parse_expr.h | 19 | ||||
-rw-r--r-- | src/include/parser/parse_func.h | 48 | ||||
-rw-r--r-- | src/include/parser/parse_node.h | 25 | ||||
-rw-r--r-- | src/include/parser/parse_oper.h | 32 | ||||
-rw-r--r-- | src/include/parser/parse_relation.h | 40 | ||||
-rw-r--r-- | src/include/parser/parse_target.h | 16 | ||||
-rw-r--r-- | src/include/parser/parse_type.h | 34 | ||||
-rw-r--r-- | src/include/parser/parser.h | 4 | ||||
-rw-r--r-- | src/include/parser/scansup.h | 7 |
12 files changed, 106 insertions, 167 deletions
diff --git a/src/include/parser/analyze.h b/src/include/parser/analyze.h index a85e2074bbe..b88d80f346f 100644 --- a/src/include/parser/analyze.h +++ b/src/include/parser/analyze.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: analyze.h,v 1.1 1997/11/25 22:06:47 momjian Exp $ + * $Id: analyze.h,v 1.2 1997/11/26 01:13:56 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -14,6 +14,6 @@ #include <parser/parse_node.h> -QueryTreeList *parse_analyze(List *pl); +extern QueryTreeList *parse_analyze(List *pl); #endif /* ANALYZE_H */ diff --git a/src/include/parser/parse_agg.h b/src/include/parser/parse_agg.h index 21ef36248fd..fca928c9eea 100644 --- a/src/include/parser/parse_agg.h +++ b/src/include/parser/parse_agg.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_agg.h,v 1.1 1997/11/25 22:06:53 momjian Exp $ + * $Id: parse_agg.h,v 1.2 1997/11/26 01:13:58 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -18,21 +18,14 @@ #include <nodes/primnodes.h> #include <parser/parse_node.h> -void AddAggToParseState(ParseState *pstate, Aggreg *aggreg); - -void finalizeAggregates(ParseState *pstate, Query *qry); - -bool contain_agg_clause(Node *clause); - -bool exprIsAggOrGroupCol(Node *expr, List *groupClause); - -bool tleIsAggOrGroupCol(TargetEntry *tle, List *groupClause); - -void parseCheckAggregates(ParseState *pstate, Query *qry); - -Aggreg *ParseAgg(char *aggname, Oid basetype, Node *target); - -void agg_error(char *caller, char *aggname, Oid basetypeID); +extern void AddAggToParseState(ParseState *pstate, Aggreg *aggreg); +extern void finalizeAggregates(ParseState *pstate, Query *qry); +extern bool contain_agg_clause(Node *clause); +extern bool exprIsAggOrGroupCol(Node *expr, List *groupClause); +extern bool tleIsAggOrGroupCol(TargetEntry *tle, List *groupClause); +extern void parseCheckAggregates(ParseState *pstate, Query *qry); +extern Aggreg *ParseAgg(char *aggname, Oid basetype, Node *target); +extern void agg_error(char *caller, char *aggname, Oid basetypeID); #endif /* PARSE_AGG_H */ diff --git a/src/include/parser/parse_clause.h b/src/include/parser/parse_clause.h index 2c0a5278f60..9c5fed19dd5 100644 --- a/src/include/parser/parse_clause.h +++ b/src/include/parser/parse_clause.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_clause.h,v 1.1 1997/11/25 22:06:54 momjian Exp $ + * $Id: parse_clause.h,v 1.2 1997/11/26 01:14:00 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -19,19 +19,14 @@ #include <nodes/primnodes.h> #include <parser/parse_node.h> -void parseFromClause(ParseState *pstate, List *frmList); - -void makeRangeTable(ParseState *pstate, char *relname, List *frmList); - -Node *transformWhereClause(ParseState *pstate, Node *a_expr); - -TargetEntry *find_targetlist_entry(ParseState *pstate, +extern void parseFromClause(ParseState *pstate, List *frmList); +extern void makeRangeTable(ParseState *pstate, char *relname, List *frmList); +extern Node *transformWhereClause(ParseState *pstate, Node *a_expr); +extern TargetEntry *find_targetlist_entry(ParseState *pstate, SortGroupBy *sortgroupby, List *tlist); - -List *transformGroupClause(ParseState *pstate, List *grouplist, +extern List *transformGroupClause(ParseState *pstate, List *grouplist, List *targetlist); - -List *transformSortClause(ParseState *pstate, +extern List *transformSortClause(ParseState *pstate, List *orderlist, List *targetlist, char *uniqueFlag); diff --git a/src/include/parser/parse_expr.h b/src/include/parser/parse_expr.h index e7c4a04b011..4bc1d77b3f6 100644 --- a/src/include/parser/parse_expr.h +++ b/src/include/parser/parse_expr.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_expr.h,v 1.1 1997/11/25 22:06:55 momjian Exp $ + * $Id: parse_expr.h,v 1.2 1997/11/26 01:14:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -18,17 +18,12 @@ #include <nodes/primnodes.h> #include <parser/parse_node.h> -Node *transformExpr(ParseState *pstate, Node *expr, int precedence); - -Node *transformIdent(ParseState *pstate, Node *expr, int precedence); - -Oid exprType(Node *expr); - -Node *handleNestedDots(ParseState *pstate, Attr *attr, int *curr_resno); - -Node *parser_typecast(Value *expr, TypeName *typename, int typlen); - -Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen); +extern Node *transformExpr(ParseState *pstate, Node *expr, int precedence); +extern Node *transformIdent(ParseState *pstate, Node *expr, int precedence); +extern Oid exprType(Node *expr); +extern Node *handleNestedDots(ParseState *pstate, Attr *attr, int *curr_resno); +extern Node *parser_typecast(Value *expr, TypeName *typename, int typlen); +extern Node *parser_typecast2(Node *expr, Oid exprType, Type tp, int typlen); #endif /* PARSE_EXPR_H */ diff --git a/src/include/parser/parse_func.h b/src/include/parser/parse_func.h index de8fc66d848..dbda5651a36 100644 --- a/src/include/parser/parse_func.h +++ b/src/include/parser/parse_func.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_func.h,v 1.1 1997/11/25 22:06:56 momjian Exp $ + * $Id: parse_func.h,v 1.2 1997/11/26 01:14:04 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -42,56 +42,40 @@ typedef struct _CandidateList struct _CandidateList *next; } *CandidateList; -Node *ParseFunc(ParseState *pstate, char *funcname, List *fargs, +extern Node *ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno); - -Oid funcid_get_rettype(Oid funcid); - -CandidateList func_get_candidates(char *funcname, int nargs); - -bool can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids); - -int match_argtypes(int nargs, +extern Oid funcid_get_rettype(Oid funcid); +extern CandidateList func_get_candidates(char *funcname, int nargs); +extern bool can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids); +extern int match_argtypes(int nargs, Oid *input_typeids, CandidateList function_typeids, CandidateList *candidates); - -Oid * func_select_candidate(int nargs, +extern Oid * func_select_candidate(int nargs, Oid *input_typeids, CandidateList candidates); - -bool func_get_detail(char *funcname, +extern bool func_get_detail(char *funcname, int nargs, Oid *oid_array, Oid *funcid, /* return value */ Oid *rettype, /* return value */ bool *retset, /* return value */ Oid **true_typeids); - -Oid ** argtype_inherit(int nargs, Oid *oid_array); - -int findsupers(Oid relid, Oid **supervec); - -Oid **genxprod(InhPaths *arginh, int nargs); - -void make_arguments(int nargs, +extern Oid ** argtype_inherit(int nargs, Oid *oid_array); +extern int findsupers(Oid relid, Oid **supervec); +extern Oid **genxprod(InhPaths *arginh, int nargs); +extern void make_arguments(int nargs, List *fargs, Oid *input_typeids, Oid *function_typeids); -List *setup_tlist(char *attname, Oid relid); - -List *setup_base_tlist(Oid typeid); - -Node *ParseComplexProjection(ParseState *pstate, +extern List *setup_tlist(char *attname, Oid relid); +extern List *setup_base_tlist(Oid typeid); +extern Node *ParseComplexProjection(ParseState *pstate, char *funcname, Node *first_arg, bool *attisset); - -void func_error(char *caller, char *funcname, int nargs, Oid *argtypes); - - - +extern void func_error(char *caller, char *funcname, int nargs, Oid *argtypes); #endif /* PARSE_FUNC_H */ diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h index bac05cb1506..1eb063b8ee8 100644 --- a/src/include/parser/parse_node.h +++ b/src/include/parser/parse_node.h @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_node.h,v 1.1 1997/11/25 22:06:57 momjian Exp $ + * $Id: parse_node.h,v 1.2 1997/11/26 01:14:05 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -41,27 +41,20 @@ typedef struct ParseState RangeTblEntry *p_target_rangetblentry; } ParseState; -ParseState *make_parsestate(void); - -Node *make_operand(char *opname, +extern ParseState *make_parsestate(void); +extern Node *make_operand(char *opname, Node *tree, Oid orig_typeId, Oid true_typeId); - -void disallow_setop(char *op, Type optype, Node *operand); - -Expr *make_op(char *opname, Node *ltree, Node *rtree); - -Var *make_var(ParseState *pstate, char *refname, char *attrname, Oid *type_id); - -ArrayRef *make_array_ref(Node *expr, +extern void disallow_setop(char *op, Type optype, Node *operand); +extern Expr *make_op(char *opname, Node *ltree, Node *rtree); +extern Var *make_var(ParseState *pstate, char *refname, char *attrname, Oid *type_id); +extern ArrayRef *make_array_ref(Node *expr, List *indirection); - -ArrayRef *make_array_set(Expr *target_expr, +extern ArrayRef *make_array_set(Expr *target_expr, List *upperIndexpr, List *lowerIndexpr, Expr *expr); - -Const *make_const(Value *value); +extern Const *make_const(Value *value); #endif /* PARSE_NODE_H */ diff --git a/src/include/parser/parse_oper.h b/src/include/parser/parse_oper.h index c013af628c3..dd32290ddeb 100644 --- a/src/include/parser/parse_oper.h +++ b/src/include/parser/parse_oper.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_oper.h,v 1.1 1997/11/25 22:06:59 momjian Exp $ + * $Id: parse_oper.h,v 1.2 1997/11/26 01:14:07 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -18,33 +18,23 @@ typedef HeapTuple Operator; -Oid any_ordering_op(int restype); - -Oid oprid(Operator op); - -int binary_oper_get_candidates(char *opname, +extern Oid any_ordering_op(int restype); +extern Oid oprid(Operator op); +extern int binary_oper_get_candidates(char *opname, Oid leftTypeId, Oid rightTypeId, CandidateList *candidates); - -bool equivalentOpersAfterPromotion(CandidateList candidates); - -CandidateList binary_oper_select_candidate(Oid arg1, +extern bool equivalentOpersAfterPromotion(CandidateList candidates); +extern CandidateList binary_oper_select_candidate(Oid arg1, Oid arg2, CandidateList candidates); - -Operator oper(char *op, Oid arg1, Oid arg2, bool noWarnings); - -int -unary_oper_get_candidates(char *op, +extern Operator oper(char *op, Oid arg1, Oid arg2, bool noWarnings); +extern int unary_oper_get_candidates(char *op, Oid typeId, CandidateList *candidates, char rightleft); - -Operator right_oper(char *op, Oid arg); - -Operator left_oper(char *op, Oid arg); - -void op_error(char *op, Oid arg1, Oid arg2); +extern Operator right_oper(char *op, Oid arg); +extern Operator left_oper(char *op, Oid arg); +extern void op_error(char *op, Oid arg1, Oid arg2); #endif /* PARSE_OPER_H */ diff --git a/src/include/parser/parse_relation.h b/src/include/parser/parse_relation.h index ed470822ff5..4dc909e594e 100644 --- a/src/include/parser/parse_relation.h +++ b/src/include/parser/parse_relation.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_relation.h,v 1.1 1997/11/25 22:07:02 momjian Exp $ + * $Id: parse_relation.h,v 1.2 1997/11/26 01:14:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,37 +20,25 @@ #include <parser/parse_node.h> #include <utils/rel.h> -RangeTblEntry *refnameRangeTableEntry(List *rtable, char *refname); - -int refnameRangeTablePosn(List *rtable, char *refname); - -RangeTblEntry *colnameRangeTableEntry(ParseState *pstate, char *colname); - -RangeTblEntry *addRangeTableEntry(ParseState *pstate, +extern RangeTblEntry *refnameRangeTableEntry(List *rtable, char *refname); +extern int refnameRangeTablePosn(List *rtable, char *refname); +extern RangeTblEntry *colnameRangeTableEntry(ParseState *pstate, char *colname); +extern RangeTblEntry *addRangeTableEntry(ParseState *pstate, char *relname, char *refname, bool inh, bool inFromCl); - -List *expandAll(ParseState *pstate, char *relname, char *refname, +extern List *expandAll(ParseState *pstate, char *relname, char *refname, int *this_resno); - -int attnameAttNum(Relation rd, char *a); - -bool attnameIsSet(Relation rd, char *name); - -char *attnumAttName(Relation rd, int attrno); - -int attnumAttNelems(Relation rd, int attid); - -Oid attnameTypeId(Oid relid, char *attrname); - -Oid attnumTypeId(Relation rd, int attid); - -void handleTargetColname(ParseState *pstate, char **resname, +extern int attnameAttNum(Relation rd, char *a); +extern bool attnameIsSet(Relation rd, char *name); +extern char *attnumAttName(Relation rd, int attrno); +extern int attnumAttNelems(Relation rd, int attid); +extern Oid attnameTypeId(Oid relid, char *attrname); +extern Oid attnumTypeId(Relation rd, int attid); +extern void handleTargetColname(ParseState *pstate, char **resname, char *refname, char *colname); - -void checkTargetTypes(ParseState *pstate, char *target_colname, +extern void checkTargetTypes(ParseState *pstate, char *target_colname, char *refname, char *colname); #endif /* PARSE_RANGE_H */ diff --git a/src/include/parser/parse_target.h b/src/include/parser/parse_target.h index c7faa6b3db9..6b7451d565b 100644 --- a/src/include/parser/parse_target.h +++ b/src/include/parser/parse_target.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_target.h,v 1.1 1997/11/25 22:07:06 momjian Exp $ + * $Id: parse_target.h,v 1.2 1997/11/26 01:14:10 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -22,18 +22,14 @@ #define EXPR_COLUMN_FIRST 1 #define EXPR_RELATION_FIRST 2 -List *transformTargetList(ParseState *pstate, List *targetlist); - -TargetEntry *make_targetlist_expr(ParseState *pstate, +extern List *transformTargetList(ParseState *pstate, List *targetlist); +extern TargetEntry *make_targetlist_expr(ParseState *pstate, char *colname, Node *expr, List *arrayRef); - -List *expandAllTables(ParseState *pstate); - -char *figureColname(Node *expr, Node *resval); - -List *makeTargetNames(ParseState *pstate, List *cols); +extern List *expandAllTables(ParseState *pstate); +extern char *figureColname(Node *expr, Node *resval); +extern List *makeTargetNames(ParseState *pstate, List *cols); #endif /* PARSE_TARGET_H */ diff --git a/src/include/parser/parse_type.h b/src/include/parser/parse_type.h index 63c38ab98dc..fa2025994c7 100644 --- a/src/include/parser/parse_type.h +++ b/src/include/parser/parse_type.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parse_type.h,v 1.1 1997/11/25 22:07:07 momjian Exp $ + * $Id: parse_type.h,v 1.2 1997/11/26 01:14:14 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -17,21 +17,21 @@ typedef HeapTuple Type; -bool typeidIsValid(Oid id); -Type typeidType(Oid id); -Type typenameType(char *s); -char *typeidTypeName(Oid id); -Oid typeTypeId(Type tp); -int16 typeLen(Type t); -bool typeByVal(Type t); -char *typeTypeName(Type t); -char typeTypeFlag(Type t); -char *stringTypeString(Type tp, char *string, int typlen); -Oid typeidRetoutfunc(Oid type_id); -Oid typeidTypeRelid(Oid type_id); -Oid typeTypeRelid(Type typ); -Oid typeidTypElem(Oid type_id); -Oid GetArrayElementType(Oid typearray); -Oid typeidRetinfunc(Oid type_id); +extern bool typeidIsValid(Oid id); +extern Type typeidType(Oid id); +extern Type typenameType(char *s); +extern char *typeidTypeName(Oid id); +extern Oid typeTypeId(Type tp); +extern int16 typeLen(Type t); +extern bool typeByVal(Type t); +extern char *typeTypeName(Type t); +extern char typeTypeFlag(Type t); +extern char *stringTypeString(Type tp, char *string, int typlen); +extern Oid typeidRetoutfunc(Oid type_id); +extern Oid typeidTypeRelid(Oid type_id); +extern Oid typeTypeRelid(Type typ); +extern Oid typeidTypElem(Oid type_id); +extern Oid GetArrayElementType(Oid typearray); +extern Oid typeidRetinfunc(Oid type_id); #endif /* PARSE_TYPE_H */ diff --git a/src/include/parser/parser.h b/src/include/parser/parser.h index 4362ebb4803..820d7f960aa 100644 --- a/src/include/parser/parser.h +++ b/src/include/parser/parser.h @@ -6,7 +6,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: parser.h,v 1.1 1997/11/25 22:07:08 momjian Exp $ + * $Id: parser.h,v 1.2 1997/11/26 01:14:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -15,7 +15,7 @@ #include <parser/parse_node.h> -QueryTreeList *parser(char *str, Oid *typev, int nargs); +extern QueryTreeList *parser(char *str, Oid *typev, int nargs); #endif /* PARSER_H */ diff --git a/src/include/parser/scansup.h b/src/include/parser/scansup.h index 660a63db4ea..9a30962cce2 100644 --- a/src/include/parser/scansup.h +++ b/src/include/parser/scansup.h @@ -6,9 +6,14 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: scansup.h,v 1.3 1997/09/08 02:38:16 momjian Exp $ + * $Id: scansup.h,v 1.4 1997/11/26 01:14:18 momjian Exp $ * *------------------------------------------------------------------------- */ +#ifndef SCANSUP_H +#define SCANSUP_H + extern char *scanstr(char *s); + +#endif /* SCANSUP_H */ |