PostgreSQL Source Code
git master
|
#include "nodes/relation.h"
Go to the source code of this file.
Macros | |
#define | make_simple_restrictinfo(clause) make_restrictinfo(clause, true, false, false, 0, NULL, NULL, NULL) |
Functions | |
RestrictInfo * | make_restrictinfo (Expr *clause, bool is_pushed_down, bool outerjoin_delayed, bool pseudoconstant, Index security_level, Relids required_relids, Relids outer_relids, Relids nullable_relids) |
bool | restriction_is_or_clause (RestrictInfo *restrictinfo) |
bool | restriction_is_securely_promotable (RestrictInfo *restrictinfo, RelOptInfo *rel) |
List * | get_actual_clauses (List *restrictinfo_list) |
List * | extract_actual_clauses (List *restrictinfo_list, bool pseudoconstant) |
void | extract_actual_join_clauses (List *restrictinfo_list, Relids joinrelids, List **joinquals, List **otherquals) |
bool | join_clause_is_movable_to (RestrictInfo *rinfo, RelOptInfo *baserel) |
bool | join_clause_is_movable_into (RestrictInfo *rinfo, Relids currentrelids, Relids current_and_outer) |
#define make_simple_restrictinfo | ( | clause | ) | make_restrictinfo(clause, true, false, false, 0, NULL, NULL, NULL) |
Definition at line 21 of file restrictinfo.h.
Referenced by expand_indexqual_conditions(), expand_indexqual_rowcompare(), network_prefix_quals(), and prefix_quals().
Definition at line 356 of file restrictinfo.c.
References RestrictInfo::clause, lappend(), lfirst_node, NIL, and RestrictInfo::pseudoconstant.
Referenced by create_append_plan(), create_bitmap_scan_plan(), create_ctescan_plan(), create_functionscan_plan(), create_hashjoin_plan(), create_indexscan_plan(), create_mergejoin_plan(), create_namedtuplestorescan_plan(), create_nestloop_plan(), create_samplescan_plan(), create_seqscan_plan(), create_subqueryscan_plan(), create_tablefuncscan_plan(), create_tidscan_plan(), create_valuesscan_plan(), create_worktablescan_plan(), fileGetForeignPlan(), get_gating_quals(), and postgresGetForeignPlan().
void extract_actual_join_clauses | ( | List * | restrictinfo_list, |
Relids | joinrelids, | ||
List ** | joinquals, | ||
List ** | otherquals | ||
) |
Definition at line 383 of file restrictinfo.c.
References Assert, RestrictInfo::clause, lappend(), lfirst_node, NIL, RestrictInfo::pseudoconstant, and RINFO_IS_PUSHED_DOWN.
Referenced by create_hashjoin_plan(), create_mergejoin_plan(), and create_nestloop_plan().
Definition at line 333 of file restrictinfo.c.
References Assert, RestrictInfo::clause, lappend(), lfirst_node, NIL, and RestrictInfo::pseudoconstant.
Referenced by create_bitmap_subplan(), create_hashjoin_plan(), create_indexscan_plan(), create_join_plan(), create_mergejoin_plan(), and find_indexpath_quals().
bool join_clause_is_movable_into | ( | RestrictInfo * | rinfo, |
Relids | currentrelids, | ||
Relids | current_and_outer | ||
) |
Definition at line 511 of file restrictinfo.c.
References bms_is_subset(), bms_overlap(), RestrictInfo::clause_relids, RestrictInfo::nullable_relids, and RestrictInfo::outer_relids.
Referenced by create_nestloop_path(), get_baserel_parampathinfo(), get_joinrel_parampathinfo(), and has_indexed_join_quals().
bool join_clause_is_movable_to | ( | RestrictInfo * | rinfo, |
RelOptInfo * | baserel | ||
) |
Definition at line 438 of file restrictinfo.c.
References bms_is_member(), bms_overlap(), RestrictInfo::clause_relids, RelOptInfo::lateral_referencers, RestrictInfo::nullable_relids, RestrictInfo::outer_relids, and RelOptInfo::relid.
Referenced by check_index_predicates(), extract_restriction_or_clauses(), match_join_clauses_to_index(), and postgresGetForeignPaths().
RestrictInfo* make_restrictinfo | ( | Expr * | clause, |
bool | is_pushed_down, | ||
bool | outerjoin_delayed, | ||
bool | pseudoconstant, | ||
Index | security_level, | ||
Relids | required_relids, | ||
Relids | outer_relids, | ||
Relids | nullable_relids | ||
) |
Definition at line 57 of file restrictinfo.c.
References and_clause(), Assert, make_restrictinfo_internal(), make_sub_restrictinfos(), and or_clause().
Referenced by build_implied_join_equality(), consider_new_or_clause(), distribute_qual_to_rels(), foreign_grouping_ok(), process_equivalence(), and set_append_rel_size().
bool restriction_is_or_clause | ( | RestrictInfo * | restrictinfo | ) |
Definition at line 295 of file restrictinfo.c.
References RestrictInfo::orclause.
Referenced by extract_or_clause(), extract_restriction_or_clauses(), generate_bitmap_or_paths(), and match_join_clauses_to_index().
bool restriction_is_securely_promotable | ( | RestrictInfo * | restrictinfo, |
RelOptInfo * | rel | ||
) |
Definition at line 310 of file restrictinfo.c.
References RelOptInfo::baserestrict_min_security, RestrictInfo::leakproof, and RestrictInfo::security_level.
Referenced by match_clause_to_index(), and TidQualFromBaseRestrictinfo().