PostgreSQL Source Code
git master
|
Go to the source code of this file.
Typedefs | |
typedef HeapTuple | Operator |
Functions | |
Oid | LookupOperName (ParseState *pstate, List *opername, Oid oprleft, Oid oprright, bool noError, int location) |
Oid | LookupOperWithArgs (ObjectWithArgs *oper, bool noError) |
Operator | oper (ParseState *pstate, List *opname, Oid ltypeId, Oid rtypeId, bool noError, int location) |
Operator | left_oper (ParseState *pstate, List *op, Oid arg, bool noError, int location) |
Operator | compatible_oper (ParseState *pstate, List *op, Oid arg1, Oid arg2, bool noError, int location) |
const char * | op_signature_string (List *op, Oid arg1, Oid arg2) |
void | get_sort_group_operators (Oid argtype, bool needLT, bool needEQ, bool needGT, Oid *ltOpr, Oid *eqOpr, Oid *gtOpr, bool *isHashable) |
Oid | compatible_oper_opid (List *op, Oid arg1, Oid arg2, bool noError) |
Oid | oprid (Operator op) |
Oid | oprfuncid (Operator op) |
Expr * | make_op (ParseState *pstate, List *opname, Node *ltree, Node *rtree, Node *last_srf, int location) |
Expr * | make_scalar_array_op (ParseState *pstate, List *opname, bool useOr, Node *ltree, Node *rtree, int location) |
Definition at line 22 of file parse_oper.h.
Operator compatible_oper | ( | ParseState * | pstate, |
List * | op, | ||
Oid | arg1, | ||
Oid | arg2, | ||
bool | noError, | ||
int | location | ||
) |
Definition at line 450 of file parse_oper.c.
References ereport, errcode(), errmsg(), ERROR, GETSTRUCT, IsBinaryCoercible(), op_signature_string(), oper(), parser_errposition(), and ReleaseSysCache().
Referenced by compatible_oper_opid().
Definition at line 487 of file parse_oper.c.
References compatible_oper(), InvalidOid, oprid(), and ReleaseSysCache().
Referenced by addTargetToSortList(), and ComputeIndexAttrs().
void get_sort_group_operators | ( | Oid | argtype, |
bool | needLT, | ||
bool | needEQ, | ||
bool | needGT, | ||
Oid * | ltOpr, | ||
Oid * | eqOpr, | ||
Oid * | gtOpr, | ||
bool * | isHashable | ||
) |
Definition at line 180 of file parse_oper.c.
References TypeCacheEntry::eq_opr, ereport, errcode(), errhint(), errmsg(), ERROR, format_type_be(), TypeCacheEntry::gt_opr, TypeCacheEntry::hash_proc, lookup_type_cache(), TypeCacheEntry::lt_opr, OidIsValid, TYPECACHE_EQ_OPR, TYPECACHE_GT_OPR, TYPECACHE_HASH_PROC, and TYPECACHE_LT_OPR.
Referenced by addTargetToGroupList(), addTargetToSortList(), makeSortGroupClauseForSetOp(), and std_typanalyze().
Operator left_oper | ( | ParseState * | pstate, |
List * | op, | ||
Oid | arg, | ||
bool | noError, | ||
int | location | ||
) |
Definition at line 518 of file parse_oper.c.
References arg, _FuncCandidateList::args, find_oper_cache_entry(), FUNCDETAIL_NOTFOUND, HeapTupleIsValid, InvalidOid, sort-test::key, make_oper_cache_entry(), make_oper_cache_key(), _FuncCandidateList::next, ObjectIdGetDatum(), OidIsValid, op_error(), oper_select_candidate(), OpernameGetCandidates(), OpernameGetOprid(), and SearchSysCache1().
Referenced by generate_operator_name(), and make_op().
Oid LookupOperName | ( | ParseState * | pstate, |
List * | opername, | ||
Oid | oprleft, | ||
Oid | oprright, | ||
bool | noError, | ||
int | location | ||
) |
Definition at line 99 of file parse_oper.c.
References ereport, errcode(), errmsg(), ERROR, InvalidOid, OidIsValid, op_signature_string(), OpernameGetOprid(), and parser_errposition().
Referenced by AggregateCreate(), DefineOpClass(), LookupOperWithArgs(), and OperatorLookup().
Oid LookupOperWithArgs | ( | ObjectWithArgs * | oper, |
bool | noError | ||
) |
Definition at line 133 of file parse_oper.c.
References Assert, InvalidOid, linitial_node, list_length(), LookupOperName(), LookupTypeNameOid(), lsecond_node, and oper().
Referenced by AlterOperator(), AlterOpFamilyAdd(), DefineOpClass(), and get_object_address().
Expr* make_op | ( | ParseState * | pstate, |
List * | opname, | ||
Node * | ltree, | ||
Node * | rtree, | ||
Node * | last_srf, | ||
int | location | ||
) |
Definition at line 660 of file parse_oper.c.
References generate_unaccent_rules::args, OpExpr::args, check_srf_call_placement(), enforce_generic_type_consistency(), ereport, errcode(), errmsg(), ERROR, exprType(), get_func_retset(), GETSTRUCT, InvalidOid, left_oper(), list_make1, list_make2, OpExpr::location, make_fn_arguments(), makeNode, op_signature_string(), oper(), OpExpr::opno, oprid(), ParseState::p_last_srf, parser_errposition(), RegProcedureIsValid, and ReleaseSysCache().
Referenced by make_distinct_op(), make_row_comparison_op(), transformAExprIn(), transformAExprNullIf(), and transformAExprOp().
Expr* make_scalar_array_op | ( | ParseState * | pstate, |
List * | opname, | ||
bool | useOr, | ||
Node * | ltree, | ||
Node * | rtree, | ||
int | location | ||
) |
Definition at line 770 of file parse_oper.c.
References generate_unaccent_rules::args, ScalarArrayOpExpr::args, enforce_generic_type_consistency(), ereport, errcode(), errmsg(), ERROR, exprType(), format_type_be(), get_array_type(), get_base_element_type(), get_func_retset(), GETSTRUCT, InvalidOid, list_make2, ScalarArrayOpExpr::location, make_fn_arguments(), makeNode, OidIsValid, op_signature_string(), oper(), ScalarArrayOpExpr::opno, oprid(), parser_errposition(), RegProcedureIsValid, ReleaseSysCache(), and ScalarArrayOpExpr::useOr.
Referenced by transformAExprIn(), transformAExprOpAll(), and transformAExprOpAny().
Definition at line 602 of file parse_oper.c.
References appendStringInfo(), appendStringInfoString(), StringInfoData::data, format_type_be(), initStringInfo(), NameListToString(), and OidIsValid.
Referenced by compatible_oper(), LookupOperName(), make_op(), make_scalar_array_op(), op_error(), and ValidateOperatorReference().
Operator oper | ( | ParseState * | pstate, |
List * | opname, | ||
Oid | ltypeId, | ||
Oid | rtypeId, | ||
bool | noError, | ||
int | location | ||
) |
Definition at line 370 of file parse_oper.c.
References binary_oper_exact(), find_oper_cache_entry(), FUNCDETAIL_NOTFOUND, HeapTupleIsValid, InvalidOid, sort-test::key, make_oper_cache_entry(), make_oper_cache_key(), ObjectIdGetDatum(), OidIsValid, op_error(), oper_select_candidate(), OpernameGetCandidates(), and SearchSysCache1().
Referenced by compatible_oper(), Do_MultiXactIdWait(), generate_operator_name(), LookupOperWithArgs(), make_op(), make_scalar_array_op(), makeOperatorDependencies(), multi_sort_add_dimension(), MultiXactIdWait(), pushOperator(), tsquery_opr_selec(), tsqueryrecv(), and XactLockTableWait().
Definition at line 238 of file parse_oper.c.
References GETSTRUCT.
Referenced by appendOrderByClause(), compatible_oper_opid(), dumpOpr(), generate_operator_name(), inclusion_get_strategy_procinfo(), make_op(), make_scalar_array_op(), minmax_get_strategy_procinfo(), minmax_multi_get_strategy_procinfo(), OperatorIsVisible(), OperatorIsVisibleExt(), patternsel_common(), regoperatorout(), and regoperout().