31 Node *lexpr,
Node *rexpr,
int location)
49 Node *lexpr,
Node *rexpr,
int location)
149 (
errcode(ERRCODE_WRONG_OBJECT_TYPE),
150 errmsg(
"relation \"%s\" does not have a composite type",
191 else if (allowScalar)
314 if (!constisnull && constlen == -1)
525 funcexpr->
funcid = funcid;
612 Oid opcollid,
Oid inputcollid)
627 return (
Expr *) expr;
641 expr->
args = andclauses;
643 return (
Expr *) expr;
657 expr->
args = orclauses;
659 return (
Expr *) expr;
675 return (
Expr *) expr;
710 if (andclauses ==
NIL)
731 !((
Const *) clause)->constisnull &&
744 List *predicates,
bool unique,
bool isready,
bool concurrent)
#define list_make2(x1, x2)
Value * makeString(char *str)
DefElem * makeDefElemExtended(char *nameSpace, char *name, Node *arg, DefElemAction defaction, int location)
Expr * make_notclause(Expr *notclause)
Datum boolop(PG_FUNCTION_ARGS)
FromExpr * makeFromExpr(List *fromlist, Node *quals)
#define IsA(nodeptr, _type_)
int32 exprTypmod(const Node *expr)
#define PointerGetDatum(X)
VacuumRelation * makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols)
ExprState * ii_PredicateState
char * pstrdup(const char *in)
static bool is_andclause(const void *clause)
Var * makeVarFromTargetEntry(Index varno, TargetEntry *tle)
Var * makeWholeRowVar(RangeTblEntry *rte, Index varno, Index varlevelsup, bool allowScalar)
int errcode(int sqlerrcode)
Node * make_and_qual(Node *qual1, Node *qual2)
Expr * make_orclause(List *orclauses)
A_Expr * makeSimpleA_Expr(A_Expr_Kind kind, char *name, Node *lexpr, Node *rexpr, int location)
Const * makeConst(Oid consttype, int32 consttypmod, Oid constcollid, int constlen, Datum constvalue, bool constisnull, bool constbyval)
#define OidIsValid(objectId)
Expr * make_opclause(Oid opno, Oid opresulttype, bool opretset, Expr *leftop, Expr *rightop, Oid opcollid, Oid inputcollid)
DefElem * makeDefElem(char *name, Node *arg, int location)
Expr * makeBoolExpr(BoolExprType boolop, List *args, int location)
Const * makeNullConst(Oid consttype, int32 consttypmod, Oid constcollid)
Alias * makeAlias(const char *aliasname, List *colnames)
List * ii_ExpressionsState
Node * makeBoolConst(bool value, bool isnull)
Expr * make_andclause(List *andclauses)
RelabelType * makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod, Oid rcollid, CoercionForm rformat)
A_Expr * makeA_Expr(A_Expr_Kind kind, List *name, Node *lexpr, Node *rexpr, int location)
MemoryContext CurrentMemoryContext
TargetEntry * flatCopyTargetEntry(TargetEntry *src_tle)
IndexInfo * makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid, List *expressions, List *predicates, bool unique, bool isready, bool concurrent)
bool type_is_rowtype(Oid typid)
TargetEntry * makeTargetEntry(Expr *expr, AttrNumber resno, char *resname, bool resjunk)
Var * makeVar(Index varno, AttrNumber varattno, Oid vartype, int32 vartypmod, Oid varcollid, Index varlevelsup)
FuncCall * makeFuncCall(List *name, List *args, CoercionForm funcformat, int location)
Expr * make_ands_explicit(List *andclauses)
List * make_ands_implicit(Expr *clause)
Oid get_rel_type_id(Oid relid)
TypeName * makeTypeNameFromOid(Oid typeOid, int32 typmod)
TypeName * makeTypeName(char *typnam)
#define ereport(elevel,...)
#define Assert(condition)
Oid exprType(const Node *expr)
static int list_length(const List *l)
Oid exprCollation(const Node *expr)
void get_typlenbyval(Oid typid, int16 *typlen, bool *typbyval)
CollateClause * collClause
#define InvalidAttrNumber
int errmsg(const char *fmt,...)
GroupingSet * makeGroupingSet(GroupingSetKind kind, List *content, int location)
TypeName * makeTypeNameFromNameList(List *names)
#define PG_DETOAST_DATUM(datum)
uint16 * ii_ExclusionStrats
CoercionForm relabelformat
char * get_rel_name(Oid relid)
RangeVar * makeRangeVar(char *schemaname, char *relname, int location)
Datum * ii_OpclassOptions
ColumnDef * makeColumnDef(const char *colname, Oid typeOid, int32 typmod, Oid collOid)
FuncExpr * makeFuncExpr(Oid funcid, Oid rettype, List *args, Oid funccollid, Oid inputcollid, CoercionForm fformat)