]> 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 c4e7385c48dcdf9b392e4228db174e1855ea4cad..ead7c403ccecf773e6a95c6de87a42a4ac3e943a 100644 (file)
@@ -4,10 +4,10 @@
  *       prototypes for the creator functions (for primitive nodes)
  *
  *
- * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/nodes/makefuncs.h,v 1.70 2010/01/02 16:58:04 momjian Exp $
+ * src/include/nodes/makefuncs.h
  *
  *-------------------------------------------------------------------------
  */
@@ -27,8 +27,16 @@ extern Var *makeVar(Index varno,
                AttrNumber varattno,
                Oid vartype,
                int32 vartypmod,
+               Oid varcollid,
                Index varlevelsup);
 
+extern Var *makeVarFromTargetEntry(Index varno,
+                                                                  TargetEntry *tle);
+
+extern Var *makeWholeRowVar(RangeTblEntry *rte,
+                               Index varno,
+                               Index varlevelsup);
+
 extern TargetEntry *makeTargetEntry(Expr *expr,
                                AttrNumber resno,
                                char *resname,
@@ -54,7 +62,7 @@ extern Expr *makeBoolExpr(BoolExprType boolop, List *args, int location);
 extern Alias *makeAlias(const char *aliasname, List *colnames);
 
 extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
-                               CoercionForm rformat);
+                                                                       Oid rcollid, CoercionForm rformat);
 
 extern RangeVar *makeRangeVar(char *schemaname, char *relname, int location);
 
@@ -62,8 +70,8 @@ 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, CoercionForm fformat);
+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,