|
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_function_in_from (PlannerInfo *root, RangeTblEntry *rte) |
| Bitmapset * | pull_paramids (Expr *expr) |
| void CommuteOpExpr | ( | OpExpr * | clause | ) |
Definition at line 2162 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().
| bool contain_agg_clause | ( | Node * | clause | ) |
Definition at line 190 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 1151 of file clauses.c.
References contain_exec_param_walker().
Referenced by test_opexpr_is_hashable().
| bool contain_leaked_vars | ( | Node * | clause | ) |
Definition at line 1277 of file clauses.c.
References contain_leaked_vars_walker().
Referenced by make_plain_restrictinfo(), and qual_is_pushdown_safe().
| bool contain_nonstrict_functions | ( | Node * | clause | ) |
Definition at line 1005 of file clauses.c.
References contain_nonstrict_functions_walker().
Referenced by inline_function(), and pullup_replace_vars_callback().
| bool contain_subplans | ( | Node * | clause | ) |
Definition at line 342 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_function_in_from(), qual_is_pushdown_safe(), and subquery_planner().
| bool contain_window_function | ( | Node * | clause | ) |
Definition at line 227 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 301 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 1992 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 1931 of file clauses.c.
References AND_EXPR, BoolExpr::args, BoolExpr::boolop, find_forced_null_var(), find_forced_null_vars(), FirstLowInvalidHeapAttributeNumber, IsA, lfirst, mbms_add_member(), mbms_add_members(), NIL, Var::varattno, and Var::varno.
Referenced by find_forced_null_vars(), and reduce_outer_joins_pass2().
Definition at line 1471 of file clauses.c.
References find_nonnullable_rels_walker().
Referenced by make_outerjoininfo(), and reduce_outer_joins_pass2().
Definition at line 1722 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 240 of file clauses.c.
References find_window_functions_walker(), WindowFuncLists::maxWinRef, WindowFuncLists::numWindowFuncs, palloc(), palloc0(), and WindowFuncLists::windowFuncs.
Referenced by grouping_planner().
| Query * inline_function_in_from | ( | PlannerInfo * | root, |
| RangeTblEntry * | rte | ||
| ) |
Definition at line 5249 of file clauses.c.
References ACL_EXECUTE, ACLCHECK_OK, ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, ErrorContextCallback::arg, FuncExpr::args, Assert(), ErrorContextCallback::callback, check_stack_depth(), CMD_SELECT, contain_subplans(), contain_volatile_functions(), copyObject, CurrentMemoryContext, DatumGetPointer(), elog, ERROR, error_context_stack, FmgrHookIsNeeded, RangeTblFunction::funcexpr, FuncExpr::funcid, RangeTblEntry::funcordinality, RangeTblEntry::functions, GETSTRUCT(), GetUserId(), heap_attisnull(), HeapTupleIsValid, if(), inline_sql_function_in_from(), IsA, linitial, list_length(), MemoryContextDelete(), MemoryContextSwitchTo(), NameStr, object_aclcheck(), ObjectIdGetDatum(), OidFunctionCall1, PointerGetDatum(), ErrorContextCallback::previous, SupportRequestInlineInFrom::proc, inline_error_callback_arg::proname, inline_error_callback_arg::prosrc, querytree(), record_plan_function_dependency(), ReleaseSysCache(), root, SupportRequestInlineInFrom::root, RTE_FUNCTION, RangeTblEntry::rtekind, SupportRequestInlineInFrom::rtfunc, SearchSysCache1(), sql_inline_error_callback(), substitute_actual_parameters_in_from(), SysCacheGetAttrNotNull(), TextDatumGetCString, and SupportRequestInlineInFrom::type.
Referenced by preprocess_function_rtes().
| bool is_parallel_safe | ( | PlannerInfo * | root, |
| Node * | node | ||
| ) |
Definition at line 765 of file clauses.c.
References PlannerInfo::init_plans, lfirst, list_concat(), max_parallel_hazard_context::max_hazard, max_parallel_hazard_context::max_interesting, max_parallel_hazard_walker(), NIL, root, max_parallel_hazard_context::safe_param_ids, and SubPlan::setParam.
Referenced by apply_projection_to_path(), build_join_rel(), create_minmaxagg_path(), create_nestloop_plan(), create_partial_unique_paths(), 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().
| bool is_pseudo_constant_clause | ( | Node * | clause | ) |
Definition at line 2103 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 2123 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 746 of file clauses.c.
References max_parallel_hazard_context::max_hazard, max_parallel_hazard_context::max_interesting, max_parallel_hazard_walker(), NIL, parse(), and max_parallel_hazard_context::safe_param_ids.
Referenced by standard_planner().
| int NumRelids | ( | PlannerInfo * | root, |
| Node * | clause | ||
| ) |
Definition at line 2145 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 5673 of file clauses.c.
References pull_paramids_walker().
Referenced by create_memoize_plan().