Make parser functions static where possible.
authorBruce Momjian
Wed, 26 Nov 1997 03:43:18 +0000 (03:43 +0000)
committerBruce Momjian
Wed, 26 Nov 1997 03:43:18 +0000 (03:43 +0000)
18 files changed:
src/backend/parser/parse_agg.c
src/backend/parser/parse_clause.c
src/backend/parser/parse_expr.c
src/backend/parser/parse_func.c
src/backend/parser/parse_node.c
src/backend/parser/parse_oper.c
src/backend/parser/parse_relation.c
src/backend/parser/parse_target.c
src/backend/utils/time/tqual.c
src/include/parser/gramparse.h
src/include/parser/parse_agg.h
src/include/parser/parse_clause.h
src/include/parser/parse_expr.h
src/include/parser/parse_func.h
src/include/parser/parse_node.h
src/include/parser/parse_oper.h
src/include/parser/parse_relation.h
src/include/parser/parse_target.h

index 33e7f677a99496d82da0af9291712045bb7b96a5..e552d0aa8c205391abe6465e91d7cfe83330b93b 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_agg.c,v 1.2 1997/11/26 01:11:14 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_agg.c,v 1.3 1997/11/26 03:42:37 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "parser/parse_target.h"
 #include "utils/syscache.h"
 
+static bool contain_agg_clause(Node *clause);
+static bool exprIsAggOrGroupCol(Node *expr, List *groupClause);
+static bool tleIsAggOrGroupCol(TargetEntry *tle, List *groupClause);
+
 /*
  * AddAggToParseState -
  *   add the aggregate to the list of unique aggregates in pstate.
@@ -93,7 +97,7 @@ finalizeAggregates(ParseState *pstate, Query *qry)
  *
  *   Returns true if any aggregate found.
  */
-bool
+static bool
 contain_agg_clause(Node *clause)
 {
    if (clause == NULL)
@@ -151,7 +155,7 @@ contain_agg_clause(Node *clause)
  * exprIsAggOrGroupCol -
  *   returns true if the expression does not contain non-group columns.
  */
-bool
+static bool
 exprIsAggOrGroupCol(Node *expr, List *groupClause)
 {
    List       *gl;
@@ -185,7 +189,7 @@ exprIsAggOrGroupCol(Node *expr, List *groupClause)
  * tleIsAggOrGroupCol -
  *   returns true if the TargetEntry is Agg or GroupCol.
  */
-bool
+static bool
 tleIsAggOrGroupCol(TargetEntry *tle, List *groupClause)
 {
    Node       *expr = tle->expr;
index 3f419716d8069ff2e1dd41f8c3b61f477dfc2c6d..ad40222ba6d77bf6782c5fcf6b2d007f24aec65b 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.2 1997/11/26 01:11:16 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.3 1997/11/26 03:42:39 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "parser/parse_relation.h"
 #include "parser/parse_target.h"
 
-/*
- * parseFromClause -
- *   turns the table references specified in the from-clause into a
- *   range table. The range table may grow as we transform the expressions
- *   in the target list. (Note that this happens because in POSTQUEL, we
- *   allow references to relations not specified in the from-clause. We
- *   also allow that in our POST-SQL)
- *
- */
-void
-parseFromClause(ParseState *pstate, List *frmList)
-{
-   List       *fl;
-
-   foreach(fl, frmList)
-   {
-       RangeVar   *r = lfirst(fl);
-       RelExpr    *baserel = r->relExpr;
-       char       *relname = baserel->relname;
-       char       *refname = r->name;
-       RangeTblEntry *rte;
-
-       if (refname == NULL)
-           refname = relname;
-
-       /*
-        * marks this entry to indicate it comes from the FROM clause. In
-        * SQL, the target list can only refer to range variables
-        * specified in the from clause but we follow the more powerful
-        * POSTQUEL semantics and automatically generate the range
-        * variable if not specified. However there are times we need to
-        * know whether the entries are legitimate.
-        *
-        * eg. select * from foo f where f.x = 1; will generate wrong answer
-        * if we expand * to foo.x.
-        */
-       rte = addRangeTableEntry(pstate, relname, refname, baserel->inh, TRUE);
-   }
-}
+static TargetEntry *find_targetlist_entry(ParseState *pstate,
+           SortGroupBy *sortgroupby, List *tlist);
+static void parseFromClause(ParseState *pstate, List *frmList);
 
 /*
  * makeRangeTable -
@@ -92,12 +56,6 @@ makeRangeTable(ParseState *pstate, char *relname, List *frmList)
    /* will close relation later */
 }
 
-/*****************************************************************************
- *
- * Where Clause
- *
- *****************************************************************************/
-
 /*
  * transformWhereClause -
  *   transforms the qualification and make sure it is of type Boolean
@@ -123,11 +81,45 @@ transformWhereClause(ParseState *pstate, Node *a_expr)
    return qual;
 }
 
-/*****************************************************************************
- *
- * Sort Clause
+/*
+ * parseFromClause -
+ *   turns the table references specified in the from-clause into a
+ *   range table. The range table may grow as we transform the expressions
+ *   in the target list. (Note that this happens because in POSTQUEL, we
+ *   allow references to relations not specified in the from-clause. We
+ *   also allow that in our POST-SQL)
  *
- *****************************************************************************/
+ */
+static void
+parseFromClause(ParseState *pstate, List *frmList)
+{
+   List       *fl;
+
+   foreach(fl, frmList)
+   {
+       RangeVar   *r = lfirst(fl);
+       RelExpr    *baserel = r->relExpr;
+       char       *relname = baserel->relname;
+       char       *refname = r->name;
+       RangeTblEntry *rte;
+
+       if (refname == NULL)
+           refname = relname;
+
+       /*
+        * marks this entry to indicate it comes from the FROM clause. In
+        * SQL, the target list can only refer to range variables
+        * specified in the from clause but we follow the more powerful
+        * POSTQUEL semantics and automatically generate the range
+        * variable if not specified. However there are times we need to
+        * know whether the entries are legitimate.
+        *
+        * eg. select * from foo f where f.x = 1; will generate wrong answer
+        * if we expand * to foo.x.
+        */
+       rte = addRangeTableEntry(pstate, relname, refname, baserel->inh, TRUE);
+   }
+}
 
 /*
  * find_targetlist_entry -
@@ -135,7 +127,7 @@ transformWhereClause(ParseState *pstate, Node *a_expr)
  *   and range
  *
  */
-TargetEntry *
+static TargetEntry *
 find_targetlist_entry(ParseState *pstate, SortGroupBy *sortgroupby, List *tlist)
 {
    List       *i;
index 5828fbb974098869e999f6731dab6496d8bc1148..0b0f9b5d102b2f33f903acdbccc2a21a3cc9f9e3 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.2 1997/11/26 01:11:17 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.3 1997/11/26 03:42:41 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -22,6 +22,7 @@
 #include "nodes/params.h"
 #include "nodes/relation.h"
 #include "parse.h"
+#include "parser/gramparse.h"
 #include "parser/parse_expr.h"
 #include "parser/parse_func.h"
 #include "parser/parse_node.h"
@@ -29,7 +30,7 @@
 #include "parser/parse_target.h"
 #include "utils/builtins.h"
 
-Oid param_type(int t); /* from gram.y */
+static Node *parser_typecast(Value *expr, TypeName *typename, int typlen);
 
 /*
  * transformExpr -
@@ -397,7 +398,7 @@ handleNestedDots(ParseState *pstate, Attr *attr, int *curr_resno)
    return (retval);
 }
 
-Node      *
+static Node       *
 parser_typecast(Value *expr, TypeName *typename, int typlen)
 {
    /* check for passing non-ints */
index 1583dc56f0c3bfcf5b1d183efd7de1692534b2c6..4d1017b54a0735e22bdbc231f2e84a1b0eff7176 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.2 1997/11/26 01:11:21 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.3 1997/11/26 03:42:42 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "utils/lsyscache.h"
 #include "utils/syscache.h"
 
+static Node *ParseComplexProjection(ParseState *pstate,
+                          char *funcname,
+                          Node *first_arg,
+                          bool *attisset);
+static Oid ** argtype_inherit(int nargs, Oid *oid_array);
+static bool can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids);
+static int find_inheritors(Oid relid, Oid **supervec);
+static CandidateList func_get_candidates(char *funcname, int nargs);
+static 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);
+static Oid * func_select_candidate(int nargs,
+                         Oid *input_typeids,
+                         CandidateList candidates);
+static Oid funcid_get_rettype(Oid funcid);
+static Oid **gen_cross_product(InhPaths *arginh, int nargs);
+static void make_arguments(int nargs,
+                  List *fargs,
+                  Oid *input_typeids,
+                  Oid *function_typeids);
+static int match_argtypes(int nargs,
+                  Oid *input_typeids,
+                  CandidateList function_typeids,
+                  CandidateList *candidates);
+static List *setup_tlist(char *attname, Oid relid);
+static List *setup_base_tlist(Oid typeid);
+
 #define ISCOMPLEX(type) (typeidTypeRelid(type) ? true : false)
 
 #define MAXFARGS 8             /* max # args to a c or postquel function */
@@ -400,7 +431,7 @@ ParseFunc(ParseState *pstate, char *funcname, List *fargs, int *curr_resno)
    return (retval);
 }
 
-Oid
+static Oid
 funcid_get_rettype(Oid funcid)
 {
    HeapTuple   func_tuple = NULL;
@@ -422,7 +453,7 @@ funcid_get_rettype(Oid funcid)
  * get a list of all argument type vectors for which a function named
  * funcname taking nargs arguments exists
  */
-CandidateList
+static CandidateList
 func_get_candidates(char *funcname, int nargs)
 {
    Relation    heapRelation;
@@ -500,7 +531,7 @@ func_get_candidates(char *funcname, int nargs)
 /*
  * can input_typeids be coerced to func_typeids?
  */
-bool
+static bool
 can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids)
 {
    int         i;
@@ -539,7 +570,7 @@ can_coerce(int nargs, Oid *input_typeids, Oid *func_typeids)
  * that match the input typeids (either exactly or by coercion), and
  * return the number of such arrays
  */
-int
+static int
 match_argtypes(int nargs,
               Oid *input_typeids,
               CandidateList function_typeids,
@@ -577,7 +608,7 @@ match_argtypes(int nargs,
  * returns the selected argtype array if the conflict can be resolved,
  * otherwise returns NULL
  */
-Oid *
+static Oid *
 func_select_candidate(int nargs,
                      Oid *input_typeids,
                      CandidateList candidates)
@@ -586,7 +617,7 @@ func_select_candidate(int nargs,
    return (NULL);
 }
 
-bool
+static bool
 func_get_detail(char *funcname,
                int nargs,
                Oid *oid_array,
@@ -731,7 +762,7 @@ func_get_detail(char *funcname,
  *     not defined.  There are lots of these (mostly builtins) in the
  *     catalogs.
  */
-Oid **
+static Oid **
 argtype_inherit(int nargs, Oid *oid_array)
 {
    Oid         relid;
@@ -745,7 +776,7 @@ argtype_inherit(int nargs, Oid *oid_array)
            arginh[i].self = oid_array[i];
            if ((relid = typeidTypeRelid(oid_array[i])) != InvalidOid)
            {
-               arginh[i].nsupers = findsupers(relid, &(arginh[i].supervec));
+               arginh[i].nsupers = find_inheritors(relid, &(arginh[i].supervec));
            }
            else
            {
@@ -762,10 +793,10 @@ argtype_inherit(int nargs, Oid *oid_array)
    }
 
    /* return an ordered cross-product of the classes involved */
-   return (genxprod(arginh, nargs));
+   return (gen_cross_product(arginh, nargs));
 }
 
-int findsupers(Oid relid, Oid **supervec)
+static int find_inheritors(Oid relid, Oid **supervec)
 {
    Oid        *relidvec;
    Relation    inhrel;
@@ -885,8 +916,8 @@ int findsupers(Oid relid, Oid **supervec)
    return (nvisited);
 }
 
-Oid **
-genxprod(InhPaths *arginh, int nargs)
+static Oid **
+gen_cross_product(InhPaths *arginh, int nargs)
 {
    int         nanswers;
    Oid       **result,
@@ -946,7 +977,7 @@ genxprod(InhPaths *arginh, int nargs)
  **   Given the number and types of arguments to a function, and the
  **   actual arguments and argument types, do the necessary typecasting.
  */
-void
+static void
 make_arguments(int nargs,
               List *fargs,
               Oid *input_typeids,
@@ -987,7 +1018,7 @@ make_arguments(int nargs,
  **        on a tuple parameter or return value.  Due to a bug in 4.0,
  **        it's not possible to refer to system attributes in this case.
  */
-List *
+static List *
 setup_tlist(char *attname, Oid relid)
 {
    TargetEntry *tle;
@@ -1021,7 +1052,7 @@ setup_tlist(char *attname, Oid relid)
  **        Build a tlist that extracts a base type from the tuple
  **        returned by the executor.
  */
-List *
+static List *
 setup_base_tlist(Oid typeid)
 {
    TargetEntry *tle;
@@ -1048,7 +1079,7 @@ setup_base_tlist(Oid typeid)
  *   handles function calls with a single argument that is of complex type.
  *   This routine returns NULL if it can't handle the projection (eg. sets).
  */
-Node *
+static Node *
 ParseComplexProjection(ParseState *pstate,
                       char *funcname,
                       Node *first_arg,
index 574bce472c2f8a2b24353a31bc77fc1a2c8caddf..90e182cb71122445df8f3e6e54480cac9aa942ee 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.2 1997/11/26 01:11:22 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_node.c,v 1.3 1997/11/26 03:42:44 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "utils/builtins.h"
 #include "utils/syscache.h"
 
+static void disallow_setop(char *op, Type optype, Node *operand);
+static Node *make_operand(char *opname,
+            Node *tree,
+            Oid orig_typeId,
+            Oid true_typeId);
+
 /*
  * make_parsestate() --
  *   allocate and initialize a new ParseState.
@@ -56,7 +62,7 @@ make_parsestate(void)
    return (pstate);
 }
 
-Node *
+static Node *
 make_operand(char *opname,
             Node *tree,
             Oid orig_typeId,
@@ -110,7 +116,7 @@ make_operand(char *opname,
 }
 
 
-void
+static void
 disallow_setop(char *op, Type optype, Node *operand)
 {
    if (operand == NULL)
index e3932806f3d9fc4cdafe774e21a7cfd6ff3e3013..ddc97a45239f07265fa03a10848eaea2cc1f1b9c 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.2 1997/11/26 01:11:24 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_oper.c,v 1.3 1997/11/26 03:42:45 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "storage/bufmgr.h"
 #include "utils/syscache.h"
 
+static int binary_oper_get_candidates(char *opname,
+                          Oid leftTypeId,
+                          Oid rightTypeId,
+                          CandidateList *candidates);
+static CandidateList binary_oper_select_candidate(Oid arg1,
+                            Oid arg2,
+                            CandidateList candidates);
+static bool equivalentOpersAfterPromotion(CandidateList candidates);
+static void op_error(char *op, Oid arg1, Oid arg2);
+static int unary_oper_get_candidates(char *op,
+                         Oid typeId,
+                         CandidateList *candidates,
+                         char rightleft);
+
+                            
 Oid
 any_ordering_op(int restype)
 {
@@ -51,7 +66,7 @@ oprid(Operator op)
  * opname exists, such that leftTypeId can be coerced to arg1 and
  * rightTypeId can be coerced to arg2
  */
-int
+static int
 binary_oper_get_candidates(char *opname,
                           Oid leftTypeId,
                           Oid rightTypeId,
@@ -149,7 +164,7 @@ binary_oper_get_candidates(char *opname,
  *   the all the candidates operate on the same data types after
  *   promotion (int2, int4, float4 -> float8).
  */
-bool
+static bool
 equivalentOpersAfterPromotion(CandidateList candidates)
 {
    CandidateList result;
@@ -223,7 +238,7 @@ equivalentOpersAfterPromotion(CandidateList candidates)
  * given a choice of argument type pairs for a binary operator,
  * try to choose a default pair
  */
-CandidateList
+static CandidateList
 binary_oper_select_candidate(Oid arg1,
                             Oid arg2,
                             CandidateList candidates)
@@ -366,7 +381,7 @@ oper(char *op, Oid arg1, Oid arg2, bool noWarnings)
  * a right/left unary operator named opname exists,
  * such that typeId can be coerced to it
  */
-int
+static int
 unary_oper_get_candidates(char *op,
                          Oid typeId,
                          CandidateList *candidates,
@@ -548,7 +563,7 @@ outstr(char *typename,          /* Name of type of value */
  * Give a somewhat useful error message when the operator for two types
  * is not found.
  */
-void
+static void
 op_error(char *op, Oid arg1, Oid arg2)
 {
    Type        tp1 = NULL,
index 7f550c6b85e0924642b6a03325b197ef1f205368..2b880213d7d4a9f908b93080f9230bc42810a4d4 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.2 1997/11/26 01:11:28 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.3 1997/11/26 03:42:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -24,6 +24,9 @@
 #include "utils/builtins.h"
 #include "utils/lsyscache.h"
 
+static void checkTargetTypes(ParseState *pstate, char *target_colname,
+                char *refname, char *colname);
+
 struct
 {
    char       *field;
@@ -415,7 +418,7 @@ handleTargetColname(ParseState *pstate, char **resname,
  * checkTargetTypes -
  *   checks value and target column types
  */
-void
+static void
 checkTargetTypes(ParseState *pstate, char *target_colname,
                 char *refname, char *colname)
 {
index e2aff8c87dcca59dd54e4a48dbf9c3d3b7da865a..04739fe5503593bf7b5136d8a916713b6569682f 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.2 1997/11/26 01:11:30 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.3 1997/11/26 03:42:49 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "parser/parse_target.h"
 #include "utils/builtins.h"
 
+static List *expandAllTables(ParseState *pstate);
+static char *figureColname(Node *expr, Node *resval);
+static TargetEntry *make_targetlist_expr(ParseState *pstate,
+                    char *colname,
+                    Node *expr,
+                    List *arrayRef);
+
 /*
  * transformTargetList -
  *   turns a list of ResTarget's into a list of TargetEntry's
@@ -310,7 +317,7 @@ transformTargetList(ParseState *pstate, List *targetlist)
  *
  * arrayRef is a list of transformed A_Indices
  */
-TargetEntry *
+static TargetEntry *
 make_targetlist_expr(ParseState *pstate,
                     char *colname,
                     Node *expr,
@@ -568,7 +575,7 @@ makeTargetNames(ParseState *pstate, List *cols)
  *   turns '*' (in the target list) into a list of attributes
  *    (of all relations in the range table)
  */
-List *
+static List *
 expandAllTables(ParseState *pstate)
 {
    List       *target = NIL;
@@ -633,7 +640,7 @@ expandAllTables(ParseState *pstate)
  *   list, we have to guess.
  *
  */
-char *
+static char *
 figureColname(Node *expr, Node *resval)
 {
    switch (nodeTag(expr))
index 9d267562f3a0386a176281c417fdddb89d5eb6ed..a8a00c3fbfa3acc1eb4c68c687690f3909013e26 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.11 1997/11/24 05:09:24 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/utils/time/tqual.c,v 1.12 1997/11/26 03:42:58 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -24,6 +24,8 @@
 #include "utils/palloc.h"
 #include "utils/tqual.h"
 
+static bool heapisoverride(void);
+
 extern bool PostgresIsInitialized;
 
 /*
@@ -49,8 +51,7 @@ setheapoverride(bool on)
    }
 }
 
-/* static */
-bool
+static bool
 heapisoverride()
 {
    if (!TransactionIdIsValid(HeapSpecialTransactionId))
index 2fb04acd560ec0d70c8c7d5df0292e3a5a1a1d0a..db400cb416ad78d95593a1356dccbc4dbbb06c52 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: gramparse.h,v 1.5 1997/09/08 21:53:37 momjian Exp $
+ * $Id: gramparse.h,v 1.6 1997/11/26 03:43:05 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -18,6 +18,7 @@
 extern void init_io(void);
 
 /* from gram.y */
+extern Oid param_type(int t);
 extern void parser_init(Oid *typev, int nargs);
 extern int yyparse(void);
 
index fca928c9eea9e9db740903524f846826f8b2897b..9761aa94e17ed46485540c53161cb036a03f856d 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_agg.h,v 1.2 1997/11/26 01:13:58 momjian Exp $
+ * $Id: parse_agg.h,v 1.3 1997/11/26 03:43:08 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -20,9 +20,6 @@
 
 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);
index 9c5fed19dd5d582b0f9758b5d3219c748d6ac7ad..272bbc17b54e667a5476effb5823b035baa9194c 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_clause.h,v 1.2 1997/11/26 01:14:00 momjian Exp $
+ * $Id: parse_clause.h,v 1.3 1997/11/26 03:43:09 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include 
 #include 
 
-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);
 extern List *transformGroupClause(ParseState *pstate, List *grouplist,
            List *targetlist);
 extern List *transformSortClause(ParseState *pstate,
index 4bc1d77b3f6b3b32a5b13642050a97324f72c45f..f26bf34acb994bbd85c756ffe519ed0d53ade68f 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_expr.h,v 1.2 1997/11/26 01:14:02 momjian Exp $
+ * $Id: parse_expr.h,v 1.3 1997/11/26 03:43:11 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -22,7 +22,6 @@ 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 */
index dbda5651a36972e3ac3ae8471b2682c62552fe96..9ff6ee91b80579bca8b52037bc11c634400111ad 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_func.h,v 1.2 1997/11/26 01:14:04 momjian Exp $
+ * $Id: parse_func.h,v 1.3 1997/11/26 03:43:12 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -44,37 +44,7 @@ typedef struct _CandidateList
 
 extern Node *ParseFunc(ParseState *pstate, char *funcname, List *fargs,
    int *curr_resno);
-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);
-extern Oid * func_select_candidate(int nargs,
-                         Oid *input_typeids,
-                         CandidateList candidates);
-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);
-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);
 
-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);
 extern void func_error(char *caller, char *funcname, int nargs, Oid *argtypes);
 
 #endif                         /* PARSE_FUNC_H */
index 1eb063b8ee88be05329ab411219cdc72a7d6ea1b..de6b03a1ad01b9e8aeade1ab06532db567c99bbf 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_node.h,v 1.2 1997/11/26 01:14:05 momjian Exp $
+ * $Id: parse_node.h,v 1.3 1997/11/26 03:43:13 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -42,11 +42,6 @@ typedef struct ParseState
 } ParseState;
 
 extern ParseState *make_parsestate(void);
-extern Node *make_operand(char *opname,
-            Node *tree,
-            Oid orig_typeId,
-            Oid true_typeId);
-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,
index dd32290ddebd90d7285d1b4fa699932475f59129..972f0991df76e6faa0d4f69995fed5f3a14579e3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_oper.h,v 1.2 1997/11/26 01:14:07 momjian Exp $
+ * $Id: parse_oper.h,v 1.3 1997/11/26 03:43:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -20,21 +20,8 @@ typedef HeapTuple Operator;
 
 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);
-extern bool equivalentOpersAfterPromotion(CandidateList candidates);
-extern CandidateList binary_oper_select_candidate(Oid arg1,
-                            Oid arg2,
-                            CandidateList candidates);
 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);
 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 */
index 4dc909e594e0ac45018283522fa13e84a8ede44f..7c78757ac32e55003edcef50f40c7d98fea6509a 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_relation.h,v 1.2 1997/11/26 01:14:08 momjian Exp $
+ * $Id: parse_relation.h,v 1.3 1997/11/26 03:43:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -38,7 +38,5 @@ 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);
-extern void checkTargetTypes(ParseState *pstate, char *target_colname,
-                char *refname, char *colname);
 
 #endif                         /* PARSE_RANGE_H */
index 6b7451d565b2bae8d3a239e4efb497904fd3ecc7..31b2c1594d72fd7436c7d5c721d358376bd03eb3 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: parse_target.h,v 1.2 1997/11/26 01:14:10 momjian Exp $
+ * $Id: parse_target.h,v 1.3 1997/11/26 03:43:18 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #define EXPR_RELATION_FIRST    2
 
 extern List *transformTargetList(ParseState *pstate, List *targetlist);
-extern TargetEntry *make_targetlist_expr(ParseState *pstate,
-                    char *colname,
-                    Node *expr,
-                    List *arrayRef);
-extern List *expandAllTables(ParseState *pstate);
-extern char *figureColname(Node *expr, Node *resval);
 extern List *makeTargetNames(ParseState *pstate, List *cols);
 
 #endif                         /* PARSE_TARGET_H */