PostgreSQL Source Code
git master
|
#include "nodes/pathnodes.h"
Go to the source code of this file.
Data Structures | |
struct | WindowFuncLists |
Functions | |
bool | contain_agg_clause (Node *clause) |
bool | contain_window_function (Node *clause) |
WindowFuncLists * | find_window_functions (Node *clause, Index maxWinRef) |
double | expression_returns_set_rows (PlannerInfo *root, Node *clause) |
bool | contain_subplans (Node *clause) |
char | max_parallel_hazard (Query *parse) |
bool | is_parallel_safe (PlannerInfo *root, Node *node) |
bool | contain_nonstrict_functions (Node *clause) |
bool | contain_exec_param (Node *clause, List *param_ids) |
bool | contain_leaked_vars (Node *clause) |
Relids | find_nonnullable_rels (Node *clause) |
List * | find_nonnullable_vars (Node *clause) |
List * | find_forced_null_vars (Node *node) |
Var * | find_forced_null_var (Node *node) |
bool | is_pseudo_constant_clause (Node *clause) |
bool | is_pseudo_constant_clause_relids (Node *clause, Relids relids) |
int | NumRelids (PlannerInfo *root, Node *clause) |
void | CommuteOpExpr (OpExpr *clause) |
Query * | inline_set_returning_function (PlannerInfo *root, RangeTblEntry *rte) |
Bitmapset * | pull_paramids (Expr *expr) |
void CommuteOpExpr | ( | OpExpr * | clause | ) |
Definition at line 2147 of file clauses.c.
References OpExpr::args, elog, ERROR, get_commutator(), InvalidOid, is_opclause(), linitial, list_length(), lsecond, OidIsValid, and OpExpr::opno.
Referenced by get_switched_clauses().
Definition at line 177 of file clauses.c.
References contain_agg_clause_walker().
Referenced by get_eclass_for_sort_expr(), mark_nullable_by_grouping(), and subquery_planner().
Definition at line 1137 of file clauses.c.
References contain_exec_param_walker().
Referenced by test_opexpr_is_hashable().
Definition at line 1263 of file clauses.c.
References contain_leaked_vars_walker().
Referenced by make_restrictinfo_internal(), and qual_is_pushdown_safe().
Definition at line 993 of file clauses.c.
References contain_nonstrict_functions_walker().
Referenced by inline_function(), and pullup_replace_vars_callback().
Definition at line 330 of file clauses.c.
References contain_subplans_walker().
Referenced by convert_EXISTS_to_ANY(), ExecInitValuesScan(), find_simplified_clause(), find_window_run_conditions(), initialize_peragg(), inline_function(), inline_set_returning_function(), qual_is_pushdown_safe(), and subquery_planner().
Definition at line 214 of file clauses.c.
References contain_windowfuncs().
Referenced by get_eclass_for_sort_expr(), and mark_nullable_by_grouping().
double expression_returns_set_rows | ( | PlannerInfo * | root, |
Node * | clause | ||
) |
Definition at line 289 of file clauses.c.
References clamp_row_est(), FuncExpr::funcid, get_function_rows(), IsA, root, and set_opfuncid().
Referenced by create_set_projection_path(), estimate_num_groups(), and set_function_size_estimates().
Definition at line 1977 of file clauses.c.
References NullTest::arg, BooleanTest::arg, BooleanTest::booltesttype, if(), IS_NULL, IS_UNKNOWN, IsA, NullTest::nulltesttype, and Var::varlevelsup.
Referenced by check_redundant_nullability_qual(), and find_forced_null_vars().
Definition at line 1916 of file clauses.c.
References AND_EXPR, BoolExpr::args, BoolExpr::boolop, find_forced_null_var(), FirstLowInvalidHeapAttributeNumber, IsA, lfirst, mbms_add_member(), mbms_add_members(), NIL, Var::varattno, and Var::varno.
Referenced by reduce_outer_joins_pass2().
Definition at line 1456 of file clauses.c.
References find_nonnullable_rels_walker().
Referenced by make_outerjoininfo(), and reduce_outer_joins_pass2().
Definition at line 1707 of file clauses.c.
References find_nonnullable_vars_walker().
Referenced by reduce_outer_joins_pass2().
WindowFuncLists* find_window_functions | ( | Node * | clause, |
Index | maxWinRef | ||
) |
Definition at line 227 of file clauses.c.
References find_window_functions_walker(), WindowFuncLists::maxWinRef, WindowFuncLists::numWindowFuncs, palloc(), palloc0(), and WindowFuncLists::windowFuncs.
Referenced by grouping_planner().
Query* inline_set_returning_function | ( | PlannerInfo * | root, |
RangeTblEntry * | rte | ||
) |
Definition at line 5053 of file clauses.c.
References ACL_EXECUTE, ACLCHECK_OK, AcquireRewriteLocks(), ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, ErrorContextCallback::arg, FuncExpr::args, Assert, BuildDescFromLists(), ErrorContextCallback::callback, castNode, check_sql_fn_retval(), check_stack_depth(), CMD_SELECT, contain_subplans(), contain_volatile_functions(), copyObject, CurrentMemoryContext, elog, ERROR, error_context_stack, FmgrHookIsNeeded, RangeTblFunction::funcexpr, FuncExpr::funcid, RangeTblEntry::funcordinality, RangeTblEntry::functions, get_expr_result_type(), GETSTRUCT, GetUserId(), heap_attisnull(), HeapTupleIsValid, if(), IsA, linitial, linitial_node, list_length(), list_make1, MemoryContextDelete(), MemoryContextSwitchTo(), NameStr, NIL, object_aclcheck(), ObjectIdGetDatum(), pg_analyze_and_rewrite_withcb(), pg_parse_query(), pg_rewrite_query(), prepare_sql_fn_parse_info(), ErrorContextCallback::previous, inline_error_callback_arg::proname, inline_error_callback_arg::prosrc, querytree(), record_plan_function_dependency(), ReleaseSysCache(), root, RTE_FUNCTION, RangeTblEntry::rtekind, SearchSysCache1(), sql_fn_parser_setup(), sql_inline_error_callback(), stringToNode(), substitute_actual_srf_parameters(), SysCacheGetAttr(), SysCacheGetAttrNotNull(), TextDatumGetCString, TYPEFUNC_COMPOSITE, TYPEFUNC_COMPOSITE_DOMAIN, and TYPEFUNC_RECORD.
Referenced by preprocess_function_rtes().
bool is_parallel_safe | ( | PlannerInfo * | root, |
Node * | node | ||
) |
Definition at line 753 of file clauses.c.
References context, PlannerInfo::init_plans, lfirst, list_concat(), max_parallel_hazard_walker(), NIL, root, and SubPlan::setParam.
Referenced by apply_projection_to_path(), build_join_rel(), create_minmaxagg_path(), create_projection_path(), create_set_projection_path(), create_window_paths(), find_computable_ec_member(), grouping_planner(), make_grouping_rel(), plan_create_index_workers(), query_planner(), relation_can_be_sorted_early(), and set_rel_consider_parallel().
Definition at line 2088 of file clauses.c.
References contain_var_clause(), and contain_volatile_functions().
Referenced by clauselist_selectivity_ext(), dependency_is_compatible_clause(), dependency_is_compatible_expression(), and find_window_run_conditions().
Definition at line 2108 of file clauses.c.
References bms_is_empty, and contain_volatile_functions().
Referenced by clauselist_selectivity_ext().
char max_parallel_hazard | ( | Query * | parse | ) |
Definition at line 734 of file clauses.c.
References context, max_parallel_hazard_walker(), NIL, and parse().
Referenced by standard_planner().
int NumRelids | ( | PlannerInfo * | root, |
Node * | clause | ||
) |
Definition at line 2130 of file clauses.c.
References bms_del_members(), bms_free(), bms_num_members(), pull_varnos(), and root.
Referenced by clauselist_selectivity_ext(), rowcomparesel(), and treat_as_join_clause().
Definition at line 5406 of file clauses.c.
References pull_paramids_walker().
Referenced by create_memoize_plan().