postgresql/src/include/nodes/makefuncs.h

64 lines
1.6 KiB
C
Raw Normal View History

/*-------------------------------------------------------------------------
*
* makefuncs.h
* prototypes for the creator functions (for primitive nodes)
*
*
2002-06-20 22:29:54 +02:00
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: makefuncs.h,v 1.41 2002/09/18 21:35:24 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef MAKEFUNC_H
#define MAKEFUNC_H
#include "nodes/parsenodes.h"
extern A_Expr *makeA_Expr(int oper, List *name, Node *lexpr, Node *rexpr);
extern A_Expr *makeSimpleA_Expr(int oper, const char *name,
2002-09-04 22:31:48 +02:00
Node *lexpr, Node *rexpr);
extern Oper *makeOper(Oid opno,
2002-09-04 22:31:48 +02:00
Oid opid,
Oid opresulttype,
bool opretset);
extern Var *makeVar(Index varno,
1999-05-25 18:15:34 +02:00
AttrNumber varattno,
Oid vartype,
int32 vartypmod,
Index varlevelsup);
1998-10-02 00:51:22 +02:00
extern TargetEntry *makeTargetEntry(Resdom *resdom, Node *expr);
1998-07-20 22:48:54 +02:00
extern Resdom *makeResdom(AttrNumber resno,
1999-05-25 18:15:34 +02:00
Oid restype,
int32 restypmod,
char *resname,
bool resjunk);
extern Const *makeConst(Oid consttype,
1999-05-25 18:15:34 +02:00
int constlen,
Datum constvalue,
bool constisnull,
bool constbyval,
bool constisset,
bool constiscast);
extern Const *makeNullConst(Oid consttype);
extern Alias *makeAlias(const char *aliasname, List *colnames);
extern RelabelType *makeRelabelType(Node *arg, Oid rtype, int32 rtypmod,
CoercionForm rformat);
2002-03-20 20:45:13 +01:00
extern RangeVar *makeRangeVar(char *schemaname, char *relname);
extern TypeName *makeTypeName(char *typnam);
#endif /* MAKEFUNC_H */