init
This commit is contained in:
95
pg_include/parser/parse_relation.h
Executable file
95
pg_include/parser/parse_relation.h
Executable file
@@ -0,0 +1,95 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* parse_relation.h
|
||||
* prototypes for parse_relation.c.
|
||||
*
|
||||
*
|
||||
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* src/include/parser/parse_relation.h
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef PARSE_RELATION_H
|
||||
#define PARSE_RELATION_H
|
||||
|
||||
#include "parser/parse_node.h"
|
||||
|
||||
extern RangeTblEntry *refnameRangeTblEntry(ParseState *pstate,
|
||||
const char *schemaname,
|
||||
const char *refname,
|
||||
int location,
|
||||
int *sublevels_up);
|
||||
extern CommonTableExpr *scanNameSpaceForCTE(ParseState *pstate,
|
||||
const char *refname,
|
||||
Index *ctelevelsup);
|
||||
extern void checkNameSpaceConflicts(ParseState *pstate, List *namespace1,
|
||||
List *namespace2);
|
||||
extern int RTERangeTablePosn(ParseState *pstate,
|
||||
RangeTblEntry *rte,
|
||||
int *sublevels_up);
|
||||
extern RangeTblEntry *GetRTEByRangeTablePosn(ParseState *pstate,
|
||||
int varno,
|
||||
int sublevels_up);
|
||||
extern CommonTableExpr *GetCTEForRTE(ParseState *pstate, RangeTblEntry *rte,
|
||||
int rtelevelsup);
|
||||
extern Node *scanRTEForColumn(ParseState *pstate, RangeTblEntry *rte,
|
||||
char *colname, int location);
|
||||
extern Node *colNameToVar(ParseState *pstate, char *colname, bool localonly,
|
||||
int location);
|
||||
extern void markVarForSelectPriv(ParseState *pstate, Var *var,
|
||||
RangeTblEntry *rte);
|
||||
extern Relation parserOpenTable(ParseState *pstate, const RangeVar *relation,
|
||||
int lockmode);
|
||||
extern RangeTblEntry *addRangeTableEntry(ParseState *pstate,
|
||||
RangeVar *relation,
|
||||
Alias *alias,
|
||||
bool inh,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForRelation(ParseState *pstate,
|
||||
Relation rel,
|
||||
Alias *alias,
|
||||
bool inh,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForSubquery(ParseState *pstate,
|
||||
Query *subquery,
|
||||
Alias *alias,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForFunction(ParseState *pstate,
|
||||
char *funcname,
|
||||
Node *funcexpr,
|
||||
RangeFunction *rangefunc,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForValues(ParseState *pstate,
|
||||
List *exprs,
|
||||
List *collations,
|
||||
Alias *alias,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForJoin(ParseState *pstate,
|
||||
List *colnames,
|
||||
JoinType jointype,
|
||||
List *aliasvars,
|
||||
Alias *alias,
|
||||
bool inFromCl);
|
||||
extern RangeTblEntry *addRangeTableEntryForCTE(ParseState *pstate,
|
||||
CommonTableExpr *cte,
|
||||
Index levelsup,
|
||||
RangeVar *rv,
|
||||
bool inFromCl);
|
||||
extern bool isLockedRefname(ParseState *pstate, const char *refname);
|
||||
extern void addRTEtoQuery(ParseState *pstate, RangeTblEntry *rte,
|
||||
bool addToJoinList,
|
||||
bool addToRelNameSpace, bool addToVarNameSpace);
|
||||
extern void errorMissingRTE(ParseState *pstate, RangeVar *relation);
|
||||
extern void expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up,
|
||||
int location, bool include_dropped,
|
||||
List **colnames, List **colvars);
|
||||
extern List *expandRelAttrs(ParseState *pstate, RangeTblEntry *rte,
|
||||
int rtindex, int sublevels_up, int location);
|
||||
extern int attnameAttNum(Relation rd, const char *attname, bool sysColOK);
|
||||
extern Name attnumAttName(Relation rd, int attid);
|
||||
extern Oid attnumTypeId(Relation rd, int attid);
|
||||
extern Oid attnumCollationId(Relation rd, int attid);
|
||||
|
||||
#endif /* PARSE_RELATION_H */
|
||||
Reference in New Issue
Block a user