31 Node *lexpr,
Node *rexpr,
int location)
39 a->location = location;
49 Node *lexpr,
Node *rexpr,
int location)
57 a->location = location;
88 var->varnosyn = (
Index) varno;
89 var->varattnosyn = varattno;
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)
375 b->location = location;
392 a->colnames = colnames;
525 funcexpr->
funcid = funcid;
550 res->defnamespace = NULL;
554 res->location = location;
569 res->defnamespace = nameSpace;
572 res->defaction = defaction;
573 res->location = location;
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 nulls_not_distinct,
bool isready,
bool concurrent)
Datum boolop(PG_FUNCTION_ARGS)
#define InvalidAttrNumber
#define OidIsValid(objectId)
static void PGresult * res
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
#define PG_DETOAST_DATUM(datum)
Assert(fmt[strlen(fmt) - 1] !='\n')
bool type_is_rowtype(Oid typid)
void get_typlenbyval(Oid typid, int16 *typlen, bool *typbyval)
Oid get_rel_type_id(Oid relid)
char * get_rel_name(Oid relid)
Expr * make_opclause(Oid opno, Oid opresulttype, bool opretset, Expr *leftop, Expr *rightop, Oid opcollid, Oid inputcollid)
Alias * makeAlias(const char *aliasname, List *colnames)
Var * makeWholeRowVar(RangeTblEntry *rte, int varno, Index varlevelsup, bool allowScalar)
FuncExpr * makeFuncExpr(Oid funcid, Oid rettype, List *args, Oid funccollid, Oid inputcollid, CoercionForm fformat)
TypeName * makeTypeName(char *typnam)
RelabelType * makeRelabelType(Expr *arg, Oid rtype, int32 rtypmod, Oid rcollid, CoercionForm rformat)
Var * makeVarFromTargetEntry(int varno, TargetEntry *tle)
GroupingSet * makeGroupingSet(GroupingSetKind kind, List *content, int location)
Expr * make_notclause(Expr *notclause)
List * make_ands_implicit(Expr *clause)
TargetEntry * makeTargetEntry(Expr *expr, AttrNumber resno, char *resname, bool resjunk)
TypeName * makeTypeNameFromNameList(List *names)
Const * makeNullConst(Oid consttype, int32 consttypmod, Oid constcollid)
Const * makeConst(Oid consttype, int32 consttypmod, Oid constcollid, int constlen, Datum constvalue, bool constisnull, bool constbyval)
VacuumRelation * makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols)
Node * make_and_qual(Node *qual1, Node *qual2)
Expr * make_andclause(List *andclauses)
RangeVar * makeRangeVar(char *schemaname, char *relname, int location)
FromExpr * makeFromExpr(List *fromlist, Node *quals)
DefElem * makeDefElem(char *name, Node *arg, int location)
ColumnDef * makeColumnDef(const char *colname, Oid typeOid, int32 typmod, Oid collOid)
Var * makeVar(int varno, AttrNumber varattno, Oid vartype, int32 vartypmod, Oid varcollid, Index varlevelsup)
Expr * make_ands_explicit(List *andclauses)
TypeName * makeTypeNameFromOid(Oid typeOid, int32 typmod)
Expr * makeBoolExpr(BoolExprType boolop, List *args, int location)
Node * makeBoolConst(bool value, bool isnull)
FuncCall * makeFuncCall(List *name, List *args, CoercionForm funcformat, int location)
IndexInfo * makeIndexInfo(int numattrs, int numkeyattrs, Oid amoid, List *expressions, List *predicates, bool unique, bool nulls_not_distinct, bool isready, bool concurrent)
TargetEntry * flatCopyTargetEntry(TargetEntry *src_tle)
A_Expr * makeA_Expr(A_Expr_Kind kind, List *name, Node *lexpr, Node *rexpr, int location)
Expr * make_orclause(List *orclauses)
DefElem * makeDefElemExtended(char *nameSpace, char *name, Node *arg, DefElemAction defaction, int location)
A_Expr * makeSimpleA_Expr(A_Expr_Kind kind, char *name, Node *lexpr, Node *rexpr, int location)
char * pstrdup(const char *in)
MemoryContext CurrentMemoryContext
Oid exprType(const Node *expr)
int32 exprTypmod(const Node *expr)
Oid exprCollation(const Node *expr)
static bool is_andclause(const void *clause)
#define IsA(nodeptr, _type_)
static int list_length(const List *l)
#define list_make2(x1, x2)
static bool DatumGetBool(Datum X)
static Datum PointerGetDatum(const void *X)
static Datum BoolGetDatum(bool X)
CollateClause * collClause
uint16 * ii_ExclusionStrats
Datum * ii_OpclassOptions
ExprState * ii_PredicateState
List * ii_ExpressionsState
CoercionForm relabelformat
String * makeString(char *str)