Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
makefuncs.h122 linesDownload Raw Back to nodes
1/*-------------------------------------------------------------------------2 *3 * makefuncs.h4 *	  prototypes for the creator functions of various nodes5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/nodes/makefuncs.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef MAKEFUNC_H15#define MAKEFUNC_H16 17#include "nodes/execnodes.h"18#include "nodes/parsenodes.h"19 20 21extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,22						  Node *lexpr, Node *rexpr, int location);23 24extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, char *name,25								Node *lexpr, Node *rexpr, int location);26 27extern Var *makeVar(int varno,28					AttrNumber varattno,29					Oid vartype,30					int32 vartypmod,31					Oid varcollid,32					Index varlevelsup);33 34extern Var *makeVarFromTargetEntry(int varno,35								   TargetEntry *tle);36 37extern Var *makeWholeRowVar(RangeTblEntry *rte,38							int varno,39							Index varlevelsup,40							bool allowScalar);41 42extern TargetEntry *makeTargetEntry(Expr *expr,43									AttrNumber resno,44									char *resname,45									bool resjunk);46 47extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);48 49extern FromExpr *makeFromExpr(List *fromlist, Node *quals);50 51extern Const *makeConst(Oid consttype,52						int32 consttypmod,53						Oid constcollid,54						int constlen,55						Datum constvalue,56						bool constisnull,57						bool constbyval);58 59extern Const *makeNullConst(Oid consttype, int32 consttypmod, Oid constcollid);60 61extern Node *makeBoolConst(bool value, bool isnull);62 63extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);64 65extern Alias *makeAlias(const char *aliasname, List *colnames);66 67extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,68									Oid rcollid, CoercionForm rformat);69 70extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);71 72extern TypeName *makeTypeName(char *typnam);73extern TypeName *makeTypeNameFromNameList(List *names);74extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod);75 76extern ColumnDef *makeColumnDef(const char *colname,77								Oid typeOid, int32 typmod, Oid collOid);78 79extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype, List *args,80							  Oid funccollid, Oid inputcollid, CoercionForm fformat);81 82extern FuncCall *makeFuncCall(List *name, List *args,83							  CoercionForm funcformat, int location);84 85extern Expr *make_opclause(Oid opno, Oid opresulttype, bool opretset,86						   Expr *leftop, Expr *rightop,87						   Oid opcollid, Oid inputcollid);88 89extern Expr *make_andclause(List *andclauses);90extern Expr *make_orclause(List *orclauses);91extern Expr *make_notclause(Expr *notclause);92 93extern Node *make_and_qual(Node *qual1, Node *qual2);94extern Expr *make_ands_explicit(List *andclauses);95extern List *make_ands_implicit(Expr *clause);96 97extern IndexInfo *makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid,98								List *expressions, List *predicates,99								bool unique, bool nulls_not_distinct,100								bool isready, bool concurrent,101								bool summarizing);102 103extern DefElem *makeDefElem(char *name, Node *arg, int location);104extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,105									DefElemAction defaction, int location);106 107extern GroupingSet *makeGroupingSet(GroupingSetKind kind, List *content, int location);108 109extern VacuumRelation *makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols);110 111extern JsonFormat *makeJsonFormat(JsonFormatType type, JsonEncoding encoding,112								  int location);113extern JsonValueExpr *makeJsonValueExpr(Expr *raw_expr, Expr *formatted_expr,114										JsonFormat *format);115extern Node *makeJsonKeyValue(Node *key, Node *value);116extern Node *makeJsonIsPredicate(Node *expr, JsonFormat *format,117								 JsonValueType item_type, bool unique_keys,118								 int location);119extern JsonEncoding makeJsonEncoding(char *name);120 121#endif							/* MAKEFUNC_H */122 
codekingpro/portable-devtools · Team Ai