]> granicus.if.org Git - postgresql/blobdiff - src/include/nodes/makefuncs.h
Revise collation derivation method and expression-tree representation.
[postgresql] / src / include / nodes / makefuncs.h
index 2de7c03cf6ac311b79a8b5b1d082bff6196a0f16..ead7c403ccecf773e6a95c6de87a42a4ac3e943a 100644 (file)
@@ -4,10 +4,10 @@
  *       prototypes for the creator functions (for primitive nodes)
  *
  *
- * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: makefuncs.h,v 1.32 2002/03/21 16:01:43 tgl Exp $
+ * src/include/nodes/makefuncs.h
  *
  *-------------------------------------------------------------------------
  */
 
 #include "nodes/parsenodes.h"
 
-extern Oper *makeOper(Oid opno,
-                Oid opid,
-                Oid opresulttype);
+
+extern A_Expr *makeA_Expr(A_Expr_Kind kind, List *name,
+                  Node *lexpr, Node *rexpr, int location);
+
+extern A_Expr *makeSimpleA_Expr(A_Expr_Kind kind, const char *name,
+                                Node *lexpr, Node *rexpr, int location);
 
 extern Var *makeVar(Index varno,
                AttrNumber varattno,
                Oid vartype,
                int32 vartypmod,
+               Oid varcollid,
                Index varlevelsup);
 
-extern TargetEntry *makeTargetEntry(Resdom *resdom, Node *expr);
+extern Var *makeVarFromTargetEntry(Index varno,
+                                                                  TargetEntry *tle);
+
+extern Var *makeWholeRowVar(RangeTblEntry *rte,
+                               Index varno,
+                               Index varlevelsup);
 
-extern Resdom *makeResdom(AttrNumber resno,
-                  Oid restype,
-                  int32 restypmod,
-                  char *resname,
-                  bool resjunk);
+extern TargetEntry *makeTargetEntry(Expr *expr,
+                               AttrNumber resno,
+                               char *resname,
+                               bool resjunk);
+
+extern TargetEntry *flatCopyTargetEntry(TargetEntry *src_tle);
+
+extern FromExpr *makeFromExpr(List *fromlist, Node *quals);
 
 extern Const *makeConst(Oid consttype,
+                 int32 consttypmod,
                  int constlen,
                  Datum constvalue,
                  bool constisnull,
-                 bool constbyval,
-                 bool constisset,
-                 bool constiscast);
+                 bool constbyval);
+
+extern Const *makeNullConst(Oid consttype, int32 consttypmod);
 
-extern Const *makeNullConst(Oid consttype);
+extern Node *makeBoolConst(bool value, bool isnull);
+
+extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
 
 extern Alias *makeAlias(const char *aliasname, List *colnames);
 
-extern RelabelType *makeRelabelType(Node *arg, Oid rtype, int32 rtypmod);
+extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
+                                                                       Oid rcollid, CoercionForm rformat);
+
+extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
+
+extern TypeName *makeTypeName(char *typnam);
+extern TypeName *makeTypeNameFromNameList(List *names);
+extern TypeName *makeTypeNameFromOid(Oid typeOid, int32 typmod);
+
+extern FuncExpr *makeFuncExpr(Oid funcid, Oid rettype, List *args,
+                        Oid funccollid, Oid inputcollid, CoercionForm fformat);
+
+extern DefElem *makeDefElem(char *name, Node *arg);
+extern DefElem *makeDefElemExtended(char *nameSpace, char *name, Node *arg,
+                                       DefElemAction defaction);
 
 #endif   /* MAKEFUNC_H */