|
PostgreSQL Source Code git master
|
#include "nodes/parsenodes.h"

Go to the source code of this file.
Typedefs | |
| typedef struct PlanState | PlanState |
| typedef bool(* | check_function_callback) (Oid func_id, void *context) |
| typedef bool(* | tree_walker_callback) (Node *node, void *context) |
| typedef bool(* | planstate_tree_walker_callback) (PlanState *planstate, void *context) |
| typedef Node *(* | tree_mutator_callback) (Node *node, void *context) |
| #define expression_tree_mutator | ( | n, | |
| m, | |||
| c | |||
| ) | expression_tree_mutator_impl(n, (tree_mutator_callback) (m), c) |
Definition at line 155 of file nodeFuncs.h.
| #define expression_tree_walker | ( | n, | |
| w, | |||
| c | |||
| ) | expression_tree_walker_impl(n, (tree_walker_callback) (w), c) |
Definition at line 153 of file nodeFuncs.h.
| #define planstate_tree_walker | ( | ps, | |
| w, | |||
| c | |||
| ) | planstate_tree_walker_impl(ps, (planstate_tree_walker_callback) (w), c) |
Definition at line 179 of file nodeFuncs.h.
Definition at line 29 of file nodeFuncs.h.
| #define QTW_EXAMINE_RTES_AFTER |
Definition at line 28 of file nodeFuncs.h.
| #define QTW_EXAMINE_RTES_BEFORE |
Definition at line 27 of file nodeFuncs.h.
| #define QTW_EXAMINE_SORTGROUP 0x80 /* include SortGroupClause lists */ |
Definition at line 30 of file nodeFuncs.h.
| #define QTW_IGNORE_CTE_SUBQUERIES 0x02 /* subqueries in cteList */ |
Definition at line 23 of file nodeFuncs.h.
Definition at line 32 of file nodeFuncs.h.
Definition at line 25 of file nodeFuncs.h.
| #define QTW_IGNORE_RANGE_TABLE 0x08 /* skip rangetable entirely */ |
Definition at line 26 of file nodeFuncs.h.
Definition at line 24 of file nodeFuncs.h.
| #define QTW_IGNORE_RT_SUBQUERIES 0x01 /* subqueries in rtable */ |
Definition at line 22 of file nodeFuncs.h.
| #define query_or_expression_tree_mutator | ( | n, | |
| m, | |||
| c, | |||
| f | |||
| ) | query_or_expression_tree_mutator_impl(n, (tree_mutator_callback) (m), c, f) |
Definition at line 173 of file nodeFuncs.h.
| #define query_or_expression_tree_walker | ( | n, | |
| w, | |||
| c, | |||
| f | |||
| ) | query_or_expression_tree_walker_impl(n, (tree_walker_callback) (w), c, f) |
Definition at line 171 of file nodeFuncs.h.
| #define query_tree_mutator | ( | q, | |
| m, | |||
| c, | |||
| f | |||
| ) | query_tree_mutator_impl(q, (tree_mutator_callback) (m), c, f) |
Definition at line 160 of file nodeFuncs.h.
| #define query_tree_walker | ( | q, | |
| w, | |||
| c, | |||
| f | |||
| ) | query_tree_walker_impl(q, (tree_walker_callback) (w), c, f) |
Definition at line 158 of file nodeFuncs.h.
| #define range_table_entry_walker | ( | r, | |
| w, | |||
| c, | |||
| f | |||
| ) | range_table_entry_walker_impl(r, (tree_walker_callback) (w), c, f) |
Definition at line 168 of file nodeFuncs.h.
| #define range_table_mutator | ( | rt, | |
| m, | |||
| c, | |||
| f | |||
| ) | range_table_mutator_impl(rt, (tree_mutator_callback) (m), c, f) |
Definition at line 165 of file nodeFuncs.h.
| #define range_table_walker | ( | rt, | |
| w, | |||
| c, | |||
| f | |||
| ) | range_table_walker_impl(rt, (tree_walker_callback) (w), c, f) |
Definition at line 163 of file nodeFuncs.h.
| #define raw_expression_tree_walker | ( | n, | |
| w, | |||
| c | |||
| ) | raw_expression_tree_walker_impl(n, (tree_walker_callback) (w), c) |
Definition at line 176 of file nodeFuncs.h.
Definition at line 35 of file nodeFuncs.h.
Definition at line 39 of file nodeFuncs.h.
Definition at line 43 of file nodeFuncs.h.
Definition at line 38 of file nodeFuncs.h.
|
extern |
Definition at line 636 of file nodeFuncs.c.
References arg, Const::consttype, copyObject, exprCollation(), exprType(), exprTypmod(), fb(), IsA, and makeNode.
Referenced by canonicalize_ec_expression(), coerce_type_typmod(), eval_const_expressions_mutator(), generate_setop_tlist(), and relabel_to_typmod().
|
extern |
Definition at line 1909 of file nodeFuncs.c.
References Aggref::aggfnoid, CoerceViaIO::arg, exprType(), fb(), FuncExpr::funcid, get_opcode(), getTypeInputInfo(), getTypeOutputInfo(), lfirst_oid, nodeTag, CoerceViaIO::resulttype, set_opfuncid(), set_sa_opfuncid(), and WindowFunc::winfnoid.
Referenced by check_simple_rowfilter_expr_walker(), check_virtual_generated_security_walker(), contain_leaked_vars_walker(), contain_mutable_functions_walker(), contain_nonstrict_functions_walker(), contain_volatile_functions_not_nextval_walker(), contain_volatile_functions_walker(), and max_parallel_hazard_walker().
Definition at line 821 of file nodeFuncs.c.
References arg, ARRAY_SUBLINK, Assert, JsonExpr::collation, elog, ERROR, JsonBehavior::expr, EXPR_SUBLINK, exprCollation(), fb(), SubPlan::firstColCollation, InvalidOid, IS_XMLSERIALIZE, IsA, linitial, linitial_node, nodeTag, SubPlan::subLinkType, and type.
Referenced by addRangeTableEntryForFunction(), addRangeTableEntryForGroup(), addRangeTableEntryForSubquery(), analyzeCTE(), analyzeCTETargetList(), applyRelabelType(), assign_collations_walker(), assign_hypothetical_collations(), build_expression_pathkey(), build_generation_expression(), build_pertrans_for_aggref(), build_subplan(), canonicalize_ec_expression(), check_simple_rowfilter_expr_walker(), coerce_type_typmod(), ComputeIndexAttrs(), ComputePartitionAttrs(), convert_EXISTS_to_ANY(), create_ctas_nodata(), create_limit_plan(), create_memoize_plan(), create_windowagg_plan(), DefineVirtualRelation(), eval_const_expressions_mutator(), examine_attribute(), examine_attribute(), examine_expression(), ExecInitFunctionScan(), ExecInitIndexScan(), ExecTypeFromExprList(), ExecTypeFromTLInternal(), expandRecordVariable(), expandRTE(), exprCollation(), exprSetCollation(), extended_statistics_update(), extract_grouping_collations(), fix_indexqual_operand(), generate_setop_tlist(), generate_subquery_params(), get_eclass_for_sortgroupclause(), get_expr_result_type(), get_first_col_type(), group_by_has_partkey(), have_partkey_equi_join(), inline_function(), make_pathkey_from_sortop(), make_recursive_union(), make_setop(), make_sort_from_groupcols(), make_sort_from_sortclauses(), makeJsonConstructorExpr(), makeVarFromTargetEntry(), makeWholeRowVar(), mcv_match_expression(), ordered_set_startup(), pg_get_indexdef_worker(), pg_get_partkeydef_worker(), preprocess_minmax_aggregates(), relabel_to_typmod(), RelationBuildPartitionKey(), RelationGetDummyIndexExpressions(), remove_unused_subquery_outputs(), replace_nestloop_param_placeholdervar(), replace_outer_placeholdervar(), replace_outer_returning(), scalararraysel(), set_dummy_tlist_references(), set_joinrel_partition_key_exprs(), statatt_get_type(), tlist_same_collations(), transformCaseExpr(), transformFromClauseItem(), transformJsonBehavior(), transformJsonTableColumns(), transformMultiAssignRef(), transformPLAssignStmtTarget(), transformSubLink(), and transformWindowDefinitions().
Definition at line 763 of file nodeFuncs.c.
References expression_returns_set_walker(), and fb().
Referenced by check_output_expressions(), coerce_to_boolean(), coerce_to_specific_type_typmod(), ExecInitProjectSet(), get_eclass_for_sort_expr(), is_simple_values(), make_row_comparison_op(), make_sort_input_target(), mark_nullable_by_grouping(), relation_can_be_sorted_early(), remove_unused_subquery_outputs(), subquery_planner(), and transformJsonBehavior().
|
extern |
Definition at line 2949 of file nodeFuncs.c.
References Aggref::aggdirectargs, Aggref::aggdistinct, Aggref::aggfilter, WindowFunc::aggfilter, Aggref::aggorder, FieldStore::arg, CoerceViaIO::arg, CollateExpr::arg, Aggref::args, WindowFunc::args, FuncExpr::args, OpExpr::args, ScalarArrayOpExpr::args, BoolExpr::args, SubPlan::args, RowExpr::args, XmlExpr::args, check_stack_depth(), TableFunc::colexprs, copyObject, CommonTableExpr::ctequery, CTECycleClause::cycle_mark_default, CTECycleClause::cycle_mark_value, TableFunc::docexpr, elog, WindowClause::endOffset, ERROR, JsonIsPredicate::expr, JsonBehavior::expr, fb(), FLATCOPY, JsonIsPredicate::format, FromExpr::fromlist, RangeTblFunction::funcexpr, lappend(), SetOperationStmt::larg, JoinExpr::larg, lfirst, list_copy(), MUTATE, XmlExpr::named_args, FieldStore::newvals, NIL, nodeTag, WindowClause::orderClause, WindowClause::partitionClause, JoinExpr::quals, FromExpr::quals, SetOperationStmt::rarg, JoinExpr::rarg, SubscriptingRef::refassgnexpr, SubscriptingRef::refexpr, SubscriptingRef::reflowerindexpr, SubscriptingRef::refupperindexpr, ReturningExpr::retexpr, TableFunc::rowexpr, WindowClause::startOffset, and SubPlan::testexpr.
|
extern |
Definition at line 2092 of file nodeFuncs.c.
References Aggref::aggdirectargs, Aggref::aggdistinct, Aggref::aggfilter, WindowFunc::aggfilter, Aggref::aggorder, OnConflictExpr::arbiterElems, OnConflictExpr::arbiterWhere, arg, WindowFuncRunCondition::arg, FieldStore::arg, Aggref::args, WindowFunc::args, FuncExpr::args, OpExpr::args, ScalarArrayOpExpr::args, BoolExpr::args, SubPlan::args, XmlExpr::args, check_stack_depth(), TableFunc::colexprs, CommonTableExpr::ctequery, CTECycleClause::cycle_mark_default, CTECycleClause::cycle_mark_value, TableFunc::docexpr, elog, WindowClause::endOffset, ERROR, OnConflictExpr::exclRelTlist, JsonBehavior::expr, fb(), FromExpr::fromlist, SetOperationStmt::larg, JoinExpr::larg, lfirst, lfirst_node, LIST_WALK, XmlExpr::named_args, FieldStore::newvals, nodeTag, OnConflictExpr::onConflictSet, OnConflictExpr::onConflictWhere, WindowClause::orderClause, WindowClause::partitionClause, JoinExpr::quals, FromExpr::quals, SetOperationStmt::rarg, JoinExpr::rarg, SubscriptingRef::refassgnexpr, SubscriptingRef::refexpr, SubscriptingRef::reflowerindexpr, SubscriptingRef::refupperindexpr, TableFunc::rowexpr, WindowClause::startOffset, SubPlan::testexpr, and WALK.
Definition at line 1076 of file nodeFuncs.c.
References fb(), InvalidOid, and nodeTag.
Referenced by check_simple_rowfilter_expr_walker(), and resolve_polymorphic_tupdesc().
Definition at line 557 of file nodeFuncs.c.
References FuncExpr::args, COERCE_EXPLICIT_CAST, COERCE_IMPLICIT_CAST, DatumGetInt32(), fb(), IsA, list_length(), and lsecond.
Referenced by deparseFuncExpr(), exprTypmod(), and get_func_expr().
Definition at line 1384 of file nodeFuncs.c.
References arg, RelabelType::arg, CoerceViaIO::arg, ArrayCoerceExpr::arg, ConvertRowtypeExpr::arg, CoerceToDomain::arg, OpExpr::args, XmlExpr::args, exprLocation(), fb(), fc(), JsonExpr::formatted_expr, leftmostLoc(), lfirst, OpExpr::location, RelabelType::location, CoerceViaIO::location, ArrayCoerceExpr::location, ConvertRowtypeExpr::location, XmlExpr::location, JsonExpr::location, CoerceToDomain::location, nodeTag, and source.
Referenced by addRangeTableEntryForFunction(), addRangeTableEntryForTableFunc(), addTargetToSortList(), analyzeCTE(), array_subscript_transform(), assign_collations_walker(), check_agg_arguments_walker(), check_partition_bounds_for_split_list(), check_partition_bounds_for_split_range(), check_partitions_not_overlap_list(), check_simple_rowfilter_expr_walker(), check_srf_call_placement(), check_virtual_generated_security_walker(), checkWellFormedRecursion(), coerce_to_boolean(), coerce_to_common_type(), coerce_to_specific_type_typmod(), coerceJsonFuncExpr(), EvaluateParams(), ExecInitFunc(), ExecInitSubscriptingRef(), exprLocation(), finalize_grouping_exprs_walker(), get_matching_location(), hstore_subscript_transform(), init_sexpr(), jsonb_subscript_transform(), parseCheckAggregates(), ParseFuncOrColumn(), parser_coercion_errposition(), replace_outer_returning(), select_common_type(), transformAggregateCall(), transformArrayExpr(), transformAssignedExpr(), transformCaseExpr(), transformCoalesceExpr(), transformContainerSubscripts(), transformDistinctClause(), transformDistinctOnClause(), transformFrameOffset(), transformFromClauseItem(), transformGroupClause(), transformGroupClauseExpr(), transformGroupingSet(), transformIndirection(), transformInsertRow(), transformInsertStmt(), transformJsonBehavior(), transformJsonFuncExpr(), transformJsonParseArg(), transformJsonValueExpr(), transformMultiAssignRef(), transformOnConflictArbiter(), transformPartitionBound(), transformPartitionBoundValue(), transformPartitionRangeBounds(), transformPLAssignStmtTarget(), transformRangeFunction(), transformReturningClause(), transformSelectStmt(), transformSetOperationStmt(), transformSetOperationTree(), transformValuesClause(), and validateInfiniteBounds().
Definition at line 1124 of file nodeFuncs.c.
References arg, ARRAY_SUBLINK, Assert, elog, ERROR, EXPR_SUBLINK, exprCollation(), exprSetCollation(), fb(), InvalidOid, IS_XMLSERIALIZE, IsA, linitial_node, nodeTag, OidIsValid, and type.
Referenced by assign_collations_walker(), and exprSetCollation().
Definition at line 1320 of file nodeFuncs.c.
Referenced by assign_collations_walker().
Definition at line 42 of file nodeFuncs.c.
References arg, ARRAY_SUBLINK, Assert, elog, ereport, errcode(), errmsg(), ERROR, JsonBehavior::expr, InferenceElem::expr, EXPR_SUBLINK, exprType(), fb(), SubPlan::firstColType, format_type_be(), get_promoted_array_type(), InvalidOid, IS_DOCUMENT, IS_XMLSERIALIZE, IsA, linitial, linitial_node, MULTIEXPR_SUBLINK, nodeTag, OidIsValid, SubPlan::subLinkType, and type.
Referenced by add_row_identity_var(), add_setop_child_rel_equivalences(), addRangeTableEntryForFunction(), addRangeTableEntryForGroup(), addRangeTableEntryForSubquery(), addTargetToGroupList(), addTargetToSortList(), agg_args_support_sendreceive(), analyzeCTE(), analyzeCTETargetList(), appendAggOrderBy(), appendOrderByClause(), applyRelabelType(), array_subscript_transform(), assign_collations_walker(), assign_hypothetical_collations(), assign_param_for_placeholdervar(), ATExecAlterColumnType(), ATPrepAlterColumnType(), build_coercion_expression(), build_column_default(), build_subplan(), calculate_frame_offsets(), CallStmtResultDesc(), can_minmax_aggs(), canonicalize_ec_expression(), check_functions_in_node(), check_hashjoinable(), check_memoizable(), check_mergejoinable(), check_simple_rowfilter_expr_walker(), check_sql_stmt_retval(), check_virtual_generated_security_walker(), checkRuleResultList(), coerce_fn_result_column(), coerce_record_to_complex(), coerce_to_boolean(), coerce_to_common_type(), coerce_to_specific_type_typmod(), coerceJsonFuncExpr(), compare_tlist_datatypes(), compute_semijoin_info(), ComputeIndexAttrs(), ComputePartitionAttrs(), ConstructTupleDescriptor(), contain_mutable_functions_walker(), convert_EXISTS_to_ANY(), convert_VALUES_to_ANY(), cookDefault(), cost_qual_eval_walker(), create_ctas_nodata(), create_grouping_expr_infos(), create_indexscan_plan(), CreateStatistics(), DefineVirtualRelation(), deparseNullTest(), deparseOpExpr(), estimate_num_groups(), eval_const_expressions_mutator(), EvaluateParams(), examine_attribute(), examine_attribute(), examine_expression(), examine_variable(), exec_save_simple_expr(), ExecBuildProjectionInfo(), ExecBuildUpdateProjection(), ExecCheckPlanOutput(), ExecEvalJsonIsPredicate(), ExecEvalXmlExpr(), ExecInitExprRec(), ExecInitIndexScan(), ExecInitJsonExpr(), ExecInitSubPlanExpr(), ExecMakeTableFunctionResult(), ExecTypeFromExprList(), ExecTypeFromTLInternal(), expandRecordVariable(), expandRTE(), exprType(), exprTypmod(), extended_statistics_update(), find_expr_references_walker(), find_placeholder_info(), fix_indexqual_operand(), foreign_expr_walker(), generate_append_tlist(), generate_join_implied_equalities_normal(), generate_setop_child_grouplist(), generate_setop_tlist(), generate_subquery_params(), generateClonedIndexStmt(), get_call_expr_argtype(), get_expr_result_tupdesc(), get_expr_result_type(), get_expr_width(), get_first_col_type(), get_fn_expr_rettype(), get_func_expr(), get_oper_expr(), get_rule_expr(), get_rule_expr_funccall(), get_rule_orderby(), get_simple_binary_op_name(), get_sublink_expr(), get_windowfunc_expr_helper(), GetIndexInputType(), hash_ok_operator(), hstore_subscript_transform(), init_grouping_targets(), initialize_peragg(), inline_function(), internal_get_result_type(), jsonb_exec_setup(), jsonb_subscript_transform(), JsonTableInitOpaque(), jspIsMutableWalker(), make_op(), make_scalar_array_op(), makeJsonConstructorExpr(), makeVarFromTargetEntry(), makeWholeRowVar(), match_orclause_to_indexcol(), match_pattern_prefix(), ordered_set_startup(), paraminfo_get_equal_hashops(), ParseFuncOrColumn(), pg_get_indexdef_worker(), pg_get_partkeydef_worker(), prepare_query_params(), preprocess_aggref(), preprocess_minmax_aggregates(), ProcedureCreate(), process_equivalence(), process_matched_tle(), recheck_cast_function_args(), relabel_to_typmod(), RelationBuildPartitionKey(), RelationGetDummyIndexExpressions(), remove_unused_subquery_outputs(), replace_nestloop_param_placeholdervar(), replace_outer_grouping(), replace_outer_merge_support(), replace_outer_placeholdervar(), replace_outer_returning(), resolveTargetListUnknowns(), scalararraysel(), select_common_type(), select_common_typmod(), set_append_rel_size(), set_dummy_tlist_references(), set_joinrel_partition_key_exprs(), set_rel_width(), show_sortorder_options(), statatt_get_type(), tlist_same_datatypes(), transformAExprNullIf(), transformAggregateCall(), transformArrayExpr(), transformAssignedExpr(), transformAssignmentIndirection(), transformAssignmentSubscripts(), transformCaseExpr(), transformCollateClause(), transformExprRecurse(), transformFrameOffset(), transformFromClauseItem(), transformIndirection(), transformInsertStmt(), transformJsonBehavior(), transformJsonConstructorOutput(), transformJsonFuncExpr(), transformJsonParseArg(), transformJsonScalarExpr(), transformJsonTableColumns(), transformJsonValueExpr(), transformMultiAssignRef(), transformPartitionBoundValue(), transformPLAssignStmtTarget(), transformSetOperationTree(), transformSubLink(), transformTypeCast(), unknown_attribute(), verify_common_type(), and xmlelement().
Definition at line 301 of file nodeFuncs.c.
References arg, CaseExpr::args, CoalesceExpr::args, ARRAY_SUBLINK, Assert, CaseExpr::defresult, elog, ERROR, JsonBehavior::expr, EXPR_SUBLINK, exprIsLengthCoercion(), exprType(), exprTypmod(), fb(), SubPlan::firstColTypmod, for_each_from, IsA, lfirst, lfirst_node, linitial, linitial_node, NIL, nodeTag, CaseWhen::result, and SubPlan::subLinkType.
Referenced by add_row_identity_var(), addRangeTableEntryForFunction(), addRangeTableEntryForGroup(), addRangeTableEntryForSubquery(), analyzeCTE(), analyzeCTETargetList(), applyRelabelType(), assign_hypothetical_collations(), build_coercion_expression(), build_subplan(), canonicalize_ec_expression(), checkRuleResultList(), coerce_type_typmod(), ConstructTupleDescriptor(), convert_EXISTS_to_ANY(), create_ctas_nodata(), DefineVirtualRelation(), eval_const_expressions_mutator(), examine_attribute(), examine_attribute(), examine_expression(), examine_variable(), exec_save_simple_expr(), ExecInitJsonExpr(), ExecTypeFromExprList(), ExecTypeFromTLInternal(), expandRecordVariable(), expandRTE(), exprTypmod(), extended_statistics_update(), find_placeholder_info(), generate_append_tlist(), generate_setop_tlist(), generate_subquery_params(), get_expr_result_type(), get_expr_width(), get_first_col_type(), get_rule_expr(), get_rule_expr_funccall(), interval_support(), JsonTableInitOpaque(), makeJsonConstructorExpr(), makeVarFromTargetEntry(), numeric_support(), preprocess_aggref(), RelationBuildPartitionKey(), RelationGetDummyIndexExpressions(), remove_unused_subquery_outputs(), replace_nestloop_param_placeholdervar(), replace_outer_placeholdervar(), replace_outer_returning(), select_common_typmod(), set_append_rel_size(), set_dummy_tlist_references(), set_rel_width(), statatt_get_type(), TemporalSimplify(), transformCaseExpr(), transformFromClauseItem(), transformIndirection(), transformInsertStmt(), transformJsonTableColumns(), transformMultiAssignRef(), transformPLAssignStmtTarget(), transformSubLink(), varbit_support(), and varchar_support().
Definition at line 1840 of file nodeFuncs.c.
References fb(), and fix_opfuncids_walker().
Referenced by evaluate_expr(), expression_planner(), expression_planner_with_deps(), extended_statistics_update(), fetch_statentries_for_relation(), get_qual_for_range(), get_relation_statistics(), operator_predicate_proof(), RelationBuildPartitionKey(), RelationGetIndexExpressions(), and RelationGetIndexPredicate().
Definition at line 83 of file nodeFuncs.h.
References OpExpr::args, fb(), linitial, and NIL.
Referenced by addRangeClause(), estimate_multivariate_bucketsize(), ExecIndexBuildScanKeys(), final_cost_hashjoin(), group_similar_or_args(), initialize_mergeclause_eclasses(), make_plain_restrictinfo(), MakeTidOpExpr(), match_clause_to_ordering_op(), match_clause_to_partition_key(), match_foreign_keys_to_quals(), match_unique_clauses(), mergejoinscansel(), print_expr(), process_equivalence(), reconsider_full_join_clause(), reconsider_outer_join_clause(), rel_is_distinct_for(), relation_has_unique_index_for(), replace_relid_callback(), split_selfjoin_quals(), and TidExprListCreate().
Definition at line 134 of file nodeFuncs.h.
References fb(), and linitial.
Referenced by clause_selectivity_ext(), dependency_is_compatible_clause(), dependency_is_compatible_expression(), match_boolean_index_clause(), match_boolean_partition_clause(), matches_boolean_partition_clause(), predicate_implied_by_simple_clause(), and pull_up_sublinks_qual_recurse().
Definition at line 95 of file nodeFuncs.h.
References OpExpr::args, fb(), list_length(), and lsecond.
Referenced by addRangeClause(), estimate_multivariate_bucketsize(), ExecIndexBuildScanKeys(), final_cost_hashjoin(), group_similar_or_args(), initialize_mergeclause_eclasses(), make_plain_restrictinfo(), MakeTidOpExpr(), match_clause_to_ordering_op(), match_clause_to_partition_key(), match_foreign_keys_to_quals(), match_unique_clauses(), mergejoinscansel(), print_expr(), process_equivalence(), reconsider_full_join_clause(), reconsider_outer_join_clause(), rel_is_distinct_for(), relation_has_unique_index_for(), replace_relid_callback(), split_selfjoin_quals(), and TidExprListCreate().
Definition at line 107 of file nodeFuncs.h.
References AND_EXPR, boolop(), fb(), and IsA.
Referenced by clause_selectivity_ext(), ExecInitSubPlan(), extract_or_clause(), find_duplicate_ors(), find_single_rel_for_clauses(), gen_partprune_steps_internal(), generate_bitmap_or_paths(), make_ands_implicit(), make_restrictinfo(), make_sub_restrictinfos(), mcv_get_match_bitmap(), predicate_classify(), process_duplicate_ors(), process_sublinks_mutator(), pull_ands(), pull_up_sublinks_qual_recurse(), remove_rel_from_restrictinfo(), simplify_and_arguments(), statext_is_compatible_clause(), statext_is_compatible_clause_internal(), testexpr_is_hashable(), and TidQualFromRestrictInfoList().
Definition at line 69 of file nodeFuncs.h.
Referenced by array_unnest_support(), boolvarsel(), clause_is_strict_for(), clause_selectivity_ext(), generate_series_int4_support(), generate_series_int8_support(), generate_series_numeric_support(), generate_series_timestamp_support(), like_regex_support(), and network_subset_support().
Definition at line 125 of file nodeFuncs.h.
References boolop(), fb(), IsA, and NOT_EXPR.
Referenced by clause_selectivity_ext(), dependency_is_compatible_clause(), dependency_is_compatible_expression(), match_boolean_index_clause(), match_boolean_partition_clause(), matches_boolean_partition_clause(), mcv_get_match_bitmap(), predicate_implied_by_simple_clause(), pull_up_sublinks_qual_recurse(), and statext_is_compatible_clause_internal().
Definition at line 76 of file nodeFuncs.h.
Referenced by check_hashjoinable(), check_memoizable(), check_mergejoinable(), clause_is_strict_for(), clause_selectivity_ext(), clauselist_selectivity_ext(), CommuteOpExpr(), create_hashjoin_plan(), dependency_is_compatible_clause(), dependency_is_compatible_expression(), get_switched_clauses(), IsBinaryTidClause(), like_regex_support(), make_plain_restrictinfo(), match_clause_to_ordering_op(), match_unique_clauses(), mcv_get_match_bitmap(), mergejoinscansel(), network_subset_support(), operator_predicate_proof(), process_equivalence(), reconsider_full_join_clause(), reconsider_outer_join_clause(), statext_is_compatible_clause_internal(), and TidExprListCreate().
Definition at line 116 of file nodeFuncs.h.
References boolop(), fb(), IsA, and OR_EXPR.
Referenced by clause_selectivity_ext(), dependency_is_compatible_clause(), dependency_is_compatible_expression(), extract_or_clause(), find_duplicate_ors(), gen_partprune_steps_internal(), make_restrictinfo(), make_sub_restrictinfos(), mcv_get_match_bitmap(), predicate_classify(), process_sublinks_mutator(), pull_ors(), remove_rel_from_restrictinfo(), restriction_is_always_false(), restriction_is_always_true(), simplify_or_arguments(), and statext_is_compatible_clause_internal().
|
extern |
Definition at line 4722 of file nodeFuncs.c.
References check_stack_depth(), fb(), PlanState::initPlan, innerPlanState, lfirst, nodeTag, outerPlanState, PlanState::plan, plan, planstate_walk_members(), planstate_walk_subplans(), PSWALK, and PlanState::subPlan.
|
extern |
Definition at line 3968 of file nodeFuncs.c.
References fb(), IsA, and query_tree_mutator.
|
extern |
Definition at line 3945 of file nodeFuncs.c.
References fb(), IsA, query_tree_walker, and WALK.
|
extern |
Definition at line 3776 of file nodeFuncs.c.
References Assert, copyObject, Query::cteList, Query::distinctClause, WindowClause::endOffset, fb(), FLATCOPY, Query::groupClause, Query::havingQual, IsA, Query::jointree, lappend(), lfirst_node, Query::limitCount, Query::limitOffset, Query::mergeActionList, Query::mergeJoinCondition, MUTATE, NIL, Query::onConflict, QTW_DONT_COPY_QUERY, QTW_EXAMINE_SORTGROUP, QTW_IGNORE_CTE_SUBQUERIES, range_table_mutator, Query::returningList, Query::rtable, Query::setOperations, Query::sortClause, WindowClause::startOffset, Query::targetList, and Query::windowClause.
|
extern |
Definition at line 2697 of file nodeFuncs.c.
References Assert, Query::cteList, Query::distinctClause, WindowClause::endOffset, fb(), Query::groupClause, Query::havingQual, IsA, Query::jointree, lfirst_node, Query::limitCount, Query::limitOffset, Query::mergeActionList, Query::mergeJoinCondition, Query::onConflict, QTW_EXAMINE_SORTGROUP, QTW_IGNORE_CTE_SUBQUERIES, QTW_IGNORE_RANGE_TABLE, range_table_walker, Query::returningList, Query::rtable, Query::setOperations, Query::sortClause, WindowClause::startOffset, Query::targetList, WALK, and Query::windowClause.
|
extern |
Definition at line 2821 of file nodeFuncs.c.
References fb(), QTW_EXAMINE_RTES_AFTER, QTW_EXAMINE_RTES_BEFORE, QTW_IGNORE_GROUPEXPRS, QTW_IGNORE_JOINALIASES, QTW_IGNORE_RT_SUBQUERIES, RTE_CTE, RTE_FUNCTION, RTE_GROUP, RTE_JOIN, RTE_NAMEDTUPLESTORE, RTE_RELATION, RTE_RESULT, RTE_SUBQUERY, RTE_TABLEFUNC, RTE_VALUES, and WALK.
|
extern |
Definition at line 3867 of file nodeFuncs.c.
References copyObject, fb(), FLATCOPY, lappend(), lfirst, MUTATE, NIL, QTW_IGNORE_GROUPEXPRS, QTW_IGNORE_JOINALIASES, QTW_IGNORE_RT_SUBQUERIES, RTE_CTE, RTE_FUNCTION, RTE_GROUP, RTE_JOIN, RTE_NAMEDTUPLESTORE, RTE_RELATION, RTE_RESULT, RTE_SUBQUERY, RTE_TABLEFUNC, and RTE_VALUES.
|
extern |
Definition at line 2800 of file nodeFuncs.c.
References fb(), lfirst_node, and range_table_entry_walker.
|
extern |
Definition at line 3999 of file nodeFuncs.c.
References FuncCall::agg_filter, FuncCall::agg_order, RangeSubselect::alias, arg, FuncCall::args, BoolExpr::args, XmlExpr::args, check_stack_depth(), JsonTable::columns, JsonTable::context_item, elog, ERROR, ReturningClause::exprs, fb(), format, JoinExpr::larg, A_Expr::lexpr, lfirst, lfirst_node, A_Indices::lidx, XmlExpr::named_args, nodeTag, JsonTable::on_error, ReturningClause::options, FuncCall::over, JsonTable::passing, JsonTable::pathspec, JoinExpr::quals, JoinExpr::rarg, IntoClause::rel, JsonOutput::returning, A_Expr::rexpr, source, stmt, RangeSubselect::subquery, JsonOutput::typeName, A_Indices::uidx, val, and WALK.
Definition at line 689 of file nodeFuncs.c.
References applyRelabelType(), COERCE_EXPLICIT_CAST, exprCollation(), and exprType().
Referenced by interval_support(), numeric_support(), TemporalSimplify(), varbit_support(), and varchar_support().
Definition at line 1871 of file nodeFuncs.c.
References get_opcode(), InvalidOid, and OpExpr::opno.
Referenced by check_and_push_window_quals(), check_functions_in_node(), cost_qual_eval_walker(), eval_const_expressions_mutator(), expression_returns_set_rows(), find_nonnullable_rels_walker(), find_nonnullable_vars_walker(), fix_expr_common(), fix_opfuncids_walker(), match_opclause_to_indexcol(), and process_equivalence().
|
extern |
Definition at line 1882 of file nodeFuncs.c.
References get_opcode(), InvalidOid, and ScalarArrayOpExpr::opno.
Referenced by check_functions_in_node(), cost_qual_eval_walker(), eval_const_expressions_mutator(), fix_expr_common(), fix_opfuncids_walker(), and is_strict_saop().
Definition at line 705 of file nodeFuncs.c.
References RelabelType::arg, FuncExpr::args, COERCE_IMPLICIT_CAST, fb(), IsA, linitial, and strip_implicit_coercions().
Referenced by AcquireRewriteLocks(), ATExecAlterColumnType(), findTargetlistEntrySQL99(), foreign_expr_walker(), get_rule_expr(), get_update_query_targetlist_def(), and strip_implicit_coercions().