aboutsummaryrefslogtreecommitdiff
path: root/src/include/parser
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/parser')
-rw-r--r--src/include/parser/analyze.h4
-rw-r--r--src/include/parser/parse_agg.h25
-rw-r--r--src/include/parser/parse_clause.h19
-rw-r--r--src/include/parser/parse_expr.h19
-rw-r--r--src/include/parser/parse_func.h48
-rw-r--r--src/include/parser/parse_node.h25
-rw-r--r--src/include/parser/parse_oper.h32
-rw-r--r--src/include/parser/parse_relation.h40
-rw-r--r--src/include/parser/parse_target.h16
-rw-r--r--src/include/parser/parse_type.h34
-rw-r--r--src/include/parser/parser.h4
-rw-r--r--src/include/parser/scansup.h7
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 */