1 /*-------------------------------------------------------------------------
4 * prototypes for parse_relation.c.
7 * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * $Id: parse_relation.h,v 1.30 2002/03/21 16:02:05 tgl Exp $
12 *-------------------------------------------------------------------------
14 #ifndef PARSE_RELATION_H
15 #define PARSE_RELATION_H
17 #include "parser/parse_node.h"
19 extern RangeTblEntry *refnameRangeTblEntry(ParseState *pstate,
22 extern void checkNameSpaceConflicts(ParseState *pstate, Node *namespace1,
24 extern int RTERangeTablePosn(ParseState *pstate,
27 extern Node *colnameToVar(ParseState *pstate, char *colname);
28 extern Node *qualifiedNameToVar(ParseState *pstate, char *refname,
29 char *colname, bool implicitRTEOK);
30 extern RangeTblEntry *addRangeTableEntry(ParseState *pstate,
35 extern RangeTblEntry *addRangeTableEntryForSubquery(ParseState *pstate,
39 extern RangeTblEntry *addRangeTableEntryForJoin(ParseState *pstate,
48 extern void addRTEtoQuery(ParseState *pstate, RangeTblEntry *rte,
49 bool addToJoinList, bool addToNameSpace);
50 extern RangeTblEntry *addImplicitRTE(ParseState *pstate, char *relname);
51 extern void expandRTE(ParseState *pstate, RangeTblEntry *rte,
52 List **colnames, List **colvars);
53 extern List *expandRelAttrs(ParseState *pstate, RangeTblEntry *rte);
54 extern int attnameAttNum(Relation rd, char *a);
55 extern Name attnumAttName(Relation rd, int attid);
56 extern Oid attnumTypeId(Relation rd, int attid);
58 #endif /* PARSE_RELATION_H */