Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/src/include/parser/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 5 kB image not shown  

Quelle  parse_relation.h

  Sprache: C
 

/*-------------------------------------------------------------------------
 *
 * parse_relation.h
 *   prototypes for parse_relation.c.
 *
 *
 * Portions Copyright (c) 1996-2025, 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 ParseNamespaceItem *refnameNamespaceItem(ParseState *pstate,
            const char *schemaname,
            const char *refname,
            int location,
            int *sublevels_up);
extern CommonTableExpr *scanNameSpaceForCTE(ParseState *pstate,
           const char *refname,
           Index *ctelevelsup);
extern bool scanNameSpaceForENR(ParseState *pstate, const char *refname);
extern void checkNameSpaceConflicts(ParseState *pstate, List *namespace1,
         List *namespace2);
extern ParseNamespaceItem *GetNSItemByRangeTablePosn(ParseState *pstate,
              int varno,
              int sublevels_up);
extern RangeTblEntry *GetRTEByRangeTablePosn(ParseState *pstate,
            int varno,
            int sublevels_up);
extern CommonTableExpr *GetCTEForRTE(ParseState *pstate, RangeTblEntry *rte,
          int rtelevelsup);
extern Node *scanNSItemForColumn(ParseState *pstate, ParseNamespaceItem *nsitem,
         int sublevels_up, const char *colname,
         int location);
extern Node *colNameToVar(ParseState *pstate, const char *colname, bool localonly,
        int location);
extern void markNullableIfNeeded(ParseState *pstate, Var *var);
extern void markVarForSelectPriv(ParseState *pstate, Var *var);
extern Relation parserOpenTable(ParseState *pstate, const RangeVar *relation,
        int lockmode);
extern ParseNamespaceItem *addRangeTableEntry(ParseState *pstate,
             RangeVar *relation,
             Alias *alias,
             bool inh,
             bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForRelation(ParseState *pstate,
               Relation rel,
               int lockmode,
               Alias *alias,
               bool inh,
               bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForSubquery(ParseState *pstate,
               Query *subquery,
               Alias *alias,
               bool lateral,
               bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForFunction(ParseState *pstate,
               List *funcnames,
               List *funcexprs,
               List *coldeflists,
               RangeFunction *rangefunc,
               bool lateral,
               bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForValues(ParseState *pstate,
                List *exprs,
                List *coltypes,
                List *coltypmods,
                List *colcollations,
                Alias *alias,
                bool lateral,
                bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForTableFunc(ParseState *pstate,
                TableFunc *tf,
                Alias *alias,
                bool lateral,
                bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForJoin(ParseState *pstate,
              List *colnames,
              ParseNamespaceColumn *nscolumns,
              JoinType jointype,
              int nummergedcols,
              List *aliasvars,
              List *leftcols,
              List *rightcols,
              Alias *join_using_alias,
              Alias *alias,
              bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForCTE(ParseState *pstate,
             CommonTableExpr *cte,
             Index levelsup,
             RangeVar *rv,
             bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForENR(ParseState *pstate,
             RangeVar *rv,
             bool inFromCl);
extern ParseNamespaceItem *addRangeTableEntryForGroup(ParseState *pstate,
               List *groupClauses);
extern RTEPermissionInfo *addRTEPermissionInfo(List **rteperminfos,
              RangeTblEntry *rte);
extern RTEPermissionInfo *getRTEPermissionInfo(List *rteperminfos,
              RangeTblEntry *rte);
extern bool isLockedRefname(ParseState *pstate, const char *refname);
extern void addNSItemToQuery(ParseState *pstate, ParseNamespaceItem *nsitem,
        bool addToJoinList,
        bool addToRelNameSpace, bool addToVarNameSpace);
pg_noreturn extern void errorMissingRTE(ParseState *pstate, RangeVar *relation);
pg_noreturn extern void errorMissingColumn(ParseState *pstate,
             const char *relname, const char *colname, int location);
extern void expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up,
       VarReturningType returning_type,
       int location, bool include_dropped,
       List **colnames, List **colvars);
extern List *expandNSItemVars(ParseState *pstate, ParseNamespaceItem *nsitem,
         int sublevels_up, int location,
         List **colnames);
extern List *expandNSItemAttrs(ParseState *pstate, ParseNamespaceItem *nsitem,
          int sublevels_up, bool require_col_privs,
          int location);
extern int attnameAttNum(Relation rd, const char *attname, bool sysColOK);
extern const NameData *attnumAttName(Relation rd, int attid);
extern Oid attnumTypeId(Relation rd, int attid);
extern Oid attnumCollationId(Relation rd, int attid);
extern bool isQueryUsingTempRelation(Query *query);

#endif       /* PARSE_RELATION_H */

Messung V0.5 in Prozent
C=99 H=100 G=99

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-08-05) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.