Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
parse_relation.h130 linesDownload Raw Back to parser
1/*-------------------------------------------------------------------------2 *3 * parse_relation.h4 *	  prototypes for parse_relation.c.5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/parser/parse_relation.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef PARSE_RELATION_H15#define PARSE_RELATION_H16 17#include "parser/parse_node.h"18 19 20extern ParseNamespaceItem *refnameNamespaceItem(ParseState *pstate,21												const char *schemaname,22												const char *refname,23												int location,24												int *sublevels_up);25extern CommonTableExpr *scanNameSpaceForCTE(ParseState *pstate,26											const char *refname,27											Index *ctelevelsup);28extern bool scanNameSpaceForENR(ParseState *pstate, const char *refname);29extern void checkNameSpaceConflicts(ParseState *pstate, List *namespace1,30									List *namespace2);31extern ParseNamespaceItem *GetNSItemByRangeTablePosn(ParseState *pstate,32													 int varno,33													 int sublevels_up);34extern RangeTblEntry *GetRTEByRangeTablePosn(ParseState *pstate,35											 int varno,36											 int sublevels_up);37extern CommonTableExpr *GetCTEForRTE(ParseState *pstate, RangeTblEntry *rte,38									 int rtelevelsup);39extern Node *scanNSItemForColumn(ParseState *pstate, ParseNamespaceItem *nsitem,40								 int sublevels_up, const char *colname,41								 int location);42extern Node *colNameToVar(ParseState *pstate, const char *colname, bool localonly,43						  int location);44extern void markNullableIfNeeded(ParseState *pstate, Var *var);45extern void markVarForSelectPriv(ParseState *pstate, Var *var);46extern Relation parserOpenTable(ParseState *pstate, const RangeVar *relation,47								int lockmode);48extern ParseNamespaceItem *addRangeTableEntry(ParseState *pstate,49											  RangeVar *relation,50											  Alias *alias,51											  bool inh,52											  bool inFromCl);53extern ParseNamespaceItem *addRangeTableEntryForRelation(ParseState *pstate,54														 Relation rel,55														 int lockmode,56														 Alias *alias,57														 bool inh,58														 bool inFromCl);59extern ParseNamespaceItem *addRangeTableEntryForSubquery(ParseState *pstate,60														 Query *subquery,61														 Alias *alias,62														 bool lateral,63														 bool inFromCl);64extern ParseNamespaceItem *addRangeTableEntryForFunction(ParseState *pstate,65														 List *funcnames,66														 List *funcexprs,67														 List *coldeflists,68														 RangeFunction *rangefunc,69														 bool lateral,70														 bool inFromCl);71extern ParseNamespaceItem *addRangeTableEntryForValues(ParseState *pstate,72													   List *exprs,73													   List *coltypes,74													   List *coltypmods,75													   List *colcollations,76													   Alias *alias,77													   bool lateral,78													   bool inFromCl);79extern ParseNamespaceItem *addRangeTableEntryForTableFunc(ParseState *pstate,80														  TableFunc *tf,81														  Alias *alias,82														  bool lateral,83														  bool inFromCl);84extern ParseNamespaceItem *addRangeTableEntryForJoin(ParseState *pstate,85													 List *colnames,86													 ParseNamespaceColumn *nscolumns,87													 JoinType jointype,88													 int nummergedcols,89													 List *aliasvars,90													 List *leftcols,91													 List *rightcols,92													 Alias *join_using_alias,93													 Alias *alias,94													 bool inFromCl);95extern ParseNamespaceItem *addRangeTableEntryForCTE(ParseState *pstate,96													CommonTableExpr *cte,97													Index levelsup,98													RangeVar *rv,99													bool inFromCl);100extern ParseNamespaceItem *addRangeTableEntryForENR(ParseState *pstate,101													RangeVar *rv,102													bool inFromCl);103extern RTEPermissionInfo *addRTEPermissionInfo(List **rteperminfos,104											   RangeTblEntry *rte);105extern RTEPermissionInfo *getRTEPermissionInfo(List *rteperminfos,106											   RangeTblEntry *rte);107extern bool isLockedRefname(ParseState *pstate, const char *refname);108extern void addNSItemToQuery(ParseState *pstate, ParseNamespaceItem *nsitem,109							 bool addToJoinList,110							 bool addToRelNameSpace, bool addToVarNameSpace);111extern void errorMissingRTE(ParseState *pstate, RangeVar *relation) pg_attribute_noreturn();112extern void errorMissingColumn(ParseState *pstate,113							   const char *relname, const char *colname, int location) pg_attribute_noreturn();114extern void expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up,115					  int location, bool include_dropped,116					  List **colnames, List **colvars);117extern List *expandNSItemVars(ParseState *pstate, ParseNamespaceItem *nsitem,118							  int sublevels_up, int location,119							  List **colnames);120extern List *expandNSItemAttrs(ParseState *pstate, ParseNamespaceItem *nsitem,121							   int sublevels_up, bool require_col_privs,122							   int location);123extern int	attnameAttNum(Relation rd, const char *attname, bool sysColOK);124extern const NameData *attnumAttName(Relation rd, int attid);125extern Oid	attnumTypeId(Relation rd, int attid);126extern Oid	attnumCollationId(Relation rd, int attid);127extern bool isQueryUsingTempRelation(Query *query);128 129#endif							/* PARSE_RELATION_H */130 
codekingpro/portable-devtools · Team Ai