|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "nodes/makefuncs.h"#include "nodes/nodeFuncs.h"#include "optimizer/optimizer.h"#include "optimizer/orclauses.h"#include "optimizer/paths.h"#include "optimizer/restrictinfo.h"
Go to the source code of this file.
Functions | |
| static bool | is_safe_restriction_clause_for (RestrictInfo *rinfo, RelOptInfo *rel) |
| static Expr * | extract_or_clause (RestrictInfo *or_rinfo, RelOptInfo *rel) |
| static void | consider_new_or_clause (PlannerInfo *root, RelOptInfo *rel, Expr *orclause, RestrictInfo *join_or_rinfo) |
| void | extract_restriction_or_clauses (PlannerInfo *root) |
|
static |
Definition at line 254 of file orclauses.c.
References RelOptInfo::baserestrict_min_security, RelOptInfo::baserestrictinfo, bms_difference(), clause_selectivity(), init_dummy_sjinfo(), JOIN_INNER, lappend(), make_restrictinfo(), Min, RelOptInfo::relids, root, and RestrictInfo::security_level.
Referenced by extract_restriction_or_clauses().
|
static |
Definition at line 156 of file orclauses.c.
References Assert(), castNode, RestrictInfo::clause, extract_or_clause(), is_andclause(), is_orclause(), is_safe_restriction_clause_for(), lappend(), lfirst, lfirst_node, list_concat(), make_ands_explicit(), make_orclause(), NIL, and restriction_is_or_clause().
Referenced by extract_or_clause(), and extract_restriction_or_clauses().
| void extract_restriction_or_clauses | ( | PlannerInfo * | root | ) |
Definition at line 75 of file orclauses.c.
References Assert(), consider_new_or_clause(), extract_or_clause(), join_clause_is_movable_to(), RelOptInfo::joininfo, lfirst, RelOptInfo::relid, RELOPT_BASEREL, RelOptInfo::reloptkind, restriction_is_or_clause(), and root.
Referenced by query_planner().
|
static |
Definition at line 126 of file orclauses.c.
References bms_equal(), RestrictInfo::clause, contain_volatile_functions(), and RelOptInfo::relids.
Referenced by extract_or_clause().