makefuncs.h 1.5 KB
Newer Older
1 2
/*-------------------------------------------------------------------------
 *
3
 * makefuncs.h
4
 *	  prototypes for the creator functions (for primitive nodes)
5 6
 *
 *
B
Bruce Momjian 已提交
7
 * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
B
Add:  
Bruce Momjian 已提交
8
 * Portions Copyright (c) 1994, Regents of the University of California
9
 *
10
 * $Id: makefuncs.h,v 1.43 2002/12/12 15:49:40 tgl Exp $
11 12 13 14 15 16
 *
 *-------------------------------------------------------------------------
 */
#ifndef MAKEFUNC_H
#define MAKEFUNC_H

17
#include "nodes/parsenodes.h"
18

19

20 21 22
extern A_Expr *makeA_Expr(int oper, List *name, Node *lexpr, Node *rexpr);

extern A_Expr *makeSimpleA_Expr(int oper, const char *name,
B
Bruce Momjian 已提交
23
				 Node *lexpr, Node *rexpr);
24

25
extern Var *makeVar(Index varno,
B
Bruce Momjian 已提交
26 27 28
		AttrNumber varattno,
		Oid vartype,
		int32 vartypmod,
29
		Index varlevelsup);
30

31
extern TargetEntry *makeTargetEntry(Resdom *resdom, Expr *expr);
B
Bruce Momjian 已提交
32

33
extern Resdom *makeResdom(AttrNumber resno,
B
Bruce Momjian 已提交
34 35 36 37
		   Oid restype,
		   int32 restypmod,
		   char *resname,
		   bool resjunk);
38

39
extern Const *makeConst(Oid consttype,
B
Bruce Momjian 已提交
40 41 42
		  int constlen,
		  Datum constvalue,
		  bool constisnull,
43
		  bool constbyval);
44

45 46
extern Const *makeNullConst(Oid consttype);

47 48
extern Expr *makeBoolExpr(BoolExprType boolop, List *args);

49
extern Alias *makeAlias(const char *aliasname, List *colnames);
50

51
extern RelabelType *makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod,
52
									CoercionForm rformat);
T
Tom Lane 已提交
53

54 55
extern RangeVar *makeRangeVar(char *schemaname, char *relname);

56 57
extern TypeName *makeTypeName(char *typnam);

58
#endif   /* MAKEFUNC_H */