Go to the source code of this file.
#define IS_OUTER_JOIN | ( | jointype | ) |
(((1 << (jointype)) & \ ((1 << JOIN_LEFT) | \ (1 << JOIN_FULL) | \ (1 << JOIN_RIGHT) | \ (1 << JOIN_ANTI))) != 0)
Definition at line 606 of file nodes.h.
Referenced by calc_joinrel_size_estimate(), create_hashjoin_plan(), create_mergejoin_plan(), create_nestloop_plan(), hash_inner_and_outer(), reduce_outer_joins_pass1(), select_mergejoin_clauses(), and subquery_planner().
#define IsA | ( | nodeptr, | ||
_type_ | ||||
) | (nodeTag(nodeptr) == T_##_type_) |
Definition at line 487 of file nodes.h.
Referenced by _outList(), _outNode(), _SPI_execute_plan(), accumulate_append_subpath(), AcquireExecutorLocks(), acquireLocksOnSubLinks(), AcquirePlannerLocks(), AcquireRewriteLocks(), add_base_rels_to_query(), add_path(), add_vars_to_targetlist(), AddQual(), addRangeTableEntryForCTE(), AddRelationNewConstraints(), adjust_appendrel_attrs(), adjust_appendrel_attrs_mutator(), adjust_inherited_tlist(), adjust_view_column_set(), adjustJoinTreeList(), AggCheckCallContext(), AlterDomainAddConstraint(), AlterDomainDefault(), AlterOpFamilyAdd(), AlterOpFamilyDrop(), AlterTableGetLockLevel(), analyzeCTE(), and_clause(), arraycontsel(), assign_collations_walker(), assign_param_for_placeholdervar(), assign_param_for_var(), assign_query_collations_walker(), ATColumnChangeRequiresRewrite(), ATExecAddConstraint(), ATExecAddIndex(), ATExecAddIndexConstraint(), ATExecSetOptions(), ATExecSetStatistics(), ATExecSetStorage(), ATPostAlterTypeParse(), attribute_used_walker(), BeginCopy(), BitmapHeapNext(), btcostestimate(), btree_predicate_proof(), build_index_paths(), build_joinrel_tlist(), build_physical_tlist(), build_subplan(), build_tlist_index(), build_tlist_index_other_vars(), buildMergedJoinVar(), buildScalarFunctionAlias(), cached_plan_cost(), calc_joinrel_size_estimate(), canonicalize_ec_expression(), ChangeVarNodes(), ChangeVarNodes_walker(), check_agg_arguments_walker(), check_constant_qual(), check_functional_grouping(), check_parameter_resolution_walker(), check_ungrouped_columns_walker(), checkExprHasSubLink_walker(), checkWellFormedRecursion(), checkWellFormedRecursionWalker(), ChoosePortalStrategy(), clause_selectivity(), clauselist_selectivity(), coerce_record_to_complex(), coerce_to_target_type(), coerce_type(), CommandIsReadOnly(), CommuteRowCompareExpr(), compute_semi_anti_join_factors(), ComputeIndexAttrs(), connectby_text(), connectby_text_serial(), contain_agg_clause_walker(), contain_aggs_of_level_walker(), contain_mutable_functions_walker(), contain_nonstrict_functions_walker(), contain_subplans_walker(), contain_var_clause_walker(), contain_vars_of_level_walker(), contain_volatile_functions_walker(), contain_windowfuncs_walker(), convert_EXISTS_to_ANY(), convert_testexpr_mutator(), cost_bitmap_heap_scan(), cost_bitmap_or_node(), cost_bitmap_tree_node(), cost_index(), cost_qual_eval_walker(), cost_tidscan(), cost_windowagg(), count_agg_clauses_walker(), count_rowexpr_columns(), create_bitmap_scan_plan(), create_bitmap_subplan(), create_hashjoin_plan(), create_indexscan_plan(), create_lateral_join_info(), create_mergejoin_plan(), create_nestloop_plan(), create_or_index_quals(), create_unique_path(), CreateCommandTag(), createdb(), crosstab(), crosstab_hash(), currtid_for_view(), deconstruct_jointree(), deconstruct_recurse(), DefineDomain(), DefineOpClass(), DefineView(), deflist_to_tuplestore(), deparseArrayRef(), determineRecursiveColTypes(), drop_indexable_join_clauses(), each_worker(), eqsel(), errdetail_execute(), estimate_array_length(), eval_const_expressions_mutator(), evaluate_function(), examine_simple_variable(), examine_variable(), exec_init_tuple_store(), exec_simple_check_plan(), exec_simple_query(), exec_simple_recheck_plan(), exec_stmt_execsql(), ExecAlternativeSubPlan(), ExecAssignScanProjectionInfo(), ExecBuildProjectionInfo(), ExecCheckPlanOutput(), ExecCleanTargetListLength(), ExecCreateTableAs(), ExecDropSingleTupleTableSlot(), ExecIndexBuildScanKeys(), ExecInitCteScan(), ExecInitExpr(), ExecInitHashJoin(), ExecInitLockRows(), ExecInitMergeJoin(), ExecInitModifyTable(), ExecInitNode(), ExecInitSubPlan(), ExecMakeTableFunctionResult(), ExecNestLoop(), ExecRefreshMatView(), ExecResetTupleTable(), ExecSetVariableStmt(), execute_sql_string(), ExecuteQuery(), ExecWorkTableScan(), expand_boolean_index_clause(), expand_function_arguments(), expand_indexqual_conditions(), expandRecordVariable(), ExpandRowReference(), expandRTE(), ExplainExecuteQuery(), ExplainNode(), ExplainOneUtility(), ExplainQuery(), ExplainTargetRel(), exprCollation(), expression_returns_set_rows_walker(), expression_returns_set_walker(), expression_tree_walker(), exprIsLengthCoercion(), exprIsNullConstant(), exprSetCollation(), exprType(), exprTypmod(), extract_actual_clauses(), extract_actual_join_clauses(), extract_lateral_references(), extract_not_arg(), extract_query_dependencies_walker(), extract_strong_not_arg(), fetch_function_defaults(), FetchStatementTargetList(), FigureColnameInternal(), final_cost_hashjoin(), final_cost_mergejoin(), finalize_primnode(), find_ec_member_for_tle(), find_expr_references_walker(), find_forced_null_var(), find_forced_null_vars(), find_indexpath_quals(), find_jointree_node_for_rel(), find_minmax_aggs_walker(), find_nonnullable_rels_walker(), find_nonnullable_vars_walker(), find_param_referent(), find_placeholders_in_jointree(), find_placeholders_recurse(), find_unaggregated_cols_walker(), find_window_functions_walker(), findTargetlistEntrySQL92(), fireRIRonSubLink(), fix_expr_common(), fix_indexorderby_references(), fix_indexqual_operand(), fix_indexqual_references(), fix_join_expr_mutator(), fix_opfuncids_walker(), fix_scan_expr_mutator(), fix_scan_expr_walker(), fix_upper_expr_mutator(), flatCopyTargetEntry(), flatten_join_alias_vars_mutator(), flatten_join_using_qual(), flatten_set_variable_args(), flatten_simple_union_all(), fmgr_security_definer(), fmgr_sql(), func_get_detail(), generate_base_implied_equalities_const(), generate_bitmap_or_paths(), generate_join_implied_equalities_normal(), generate_setop_tlist(), genericcostestimate(), get_actual_clauses(), get_agg_expr(), get_all_actual_clauses(), get_assignment_input(), get_base_rel_indexes(), get_bitmap_tree_required_outer(), get_call_expr_arg_stable(), get_call_expr_argtype(), get_coercion_expr(), get_expr_result_type(), get_first_col_type(), get_fn_expr_variadic(), get_from_clause(), get_from_clause_item(), get_func_expr(), get_indexpath_pages(), get_last_attnums(), get_name_for_var_field(), get_parameter(), get_relids_in_jointree(), get_rte_attribute_is_dropped(), get_rule_expr(), get_rule_sortgroupclause(), get_select_query_def(), get_setop_query(), get_sublink_expr(), get_target_list(), get_utility_query_def(), get_variable(), get_variable_numdistinct(), get_windowfunc_expr(), GetFdwRoutine(), getInsertSelectQuery(), gincost_opexpr(), gincost_scalararrayopexpr(), gincostestimate(), has_indexed_join_quals(), has_unnamed_full_join_using(), hide_coercion_node(), identify_join_columns(), IncrementVarSublevelsUp_walker(), init_execution_state(), init_MultiFuncCall(), inline_function(), inline_set_returning_function(), internal_get_result_type(), interval_transform(), is_dummy_plan(), is_safe_append_member(), is_simple_subquery(), is_simple_union_all(), is_simple_union_all_recurse(), is_strict_saop(), isAssignmentIndirectionExpr(), isQueryUsingTempRelation_walker(), isSimpleNode(), IsTidEqualAnyClause(), IsTidEqualClause(), IsTransactionExitStmt(), IsTransactionExitStmtList(), IsTransactionStmtList(), json_array_elements(), json_populate_recordset(), JumbleExpr(), JumbleQuery(), JumbleRangeTable(), limit_needed(), list_member_strip(), locate_agg_of_level_walker(), locate_var_of_level_walker(), locate_windowfunc_walker(), ltreeparentsel(), make_ands_implicit(), make_fn_arguments(), make_rel_from_joinlist(), make_restrictinfo_from_bitmapqual(), make_row_comparison_op(), make_subplan(), make_subplanTargetList(), makeDependencyGraphWalker(), map_variable_attnos_mutator(), mark_placeholders_in_expr(), markQueryForLocking(), markRTEForSelectPriv(), markTargetListOrigin(), markVarForSelectPriv(), match_boolean_index_clause(), match_clause_to_indexcol(), match_clauses_to_index(), match_index_to_operand(), match_special_index_operator(), MJExamineQuals(), MultiExecBitmapAnd(), MultiExecBitmapOr(), NameListToString(), not_clause(), numeric_transform(), OffsetVarNodes(), OffsetVarNodes_walker(), or_clause(), parseCheckAggregates(), ParseComplexProjection(), ParseFuncOrColumn(), parseTypeString(), pass_down_bound(), patternsel(), PerformCursorOpen(), pg_available_extension_versions(), pg_available_extensions(), pg_cursor(), pg_event_trigger_dropped_objects(), pg_extension_update_paths(), pg_get_indexdef_worker(), pg_prepared_statement(), pg_stat_get_wal_senders(), pg_stat_statements(), pgss_ProcessUtility(), plan_list_is_transient(), plan_set_operations(), PlanCacheComputeResultDesc(), PlanCacheFuncCallback(), PlanCacheRelCallback(), plperl_func_handler(), plpgsql_exec_function(), plpgsql_inline_handler(), PLy_exec_function(), PortalListGetPrimaryStmt(), PortalRunMulti(), PortalRunUtility(), PortalStart(), postgresGetForeignPlan(), postquel_start(), predicate_classify(), predicate_implied_by_recurse(), predicate_implied_by_simple_clause(), predicate_refuted_by_recurse(), predicate_refuted_by_simple_clause(), preprocess_limit(), preprocess_minmax_aggregates(), preprocess_qual_conditions(), preprocess_targetlist(), prepTuplestoreResult(), print_expr(), print_function_arguments(), ProcedureCreate(), process_implied_equality(), process_matched_tle(), process_sublinks_mutator(), process_subquery_nestloop_params(), ProcessCopyOptions(), processIndirection(), ProcessUtilitySlow(), pull_up_sublinks(), pull_up_sublinks_jointree_recurse(), pull_up_sublinks_qual_recurse(), pull_up_subqueries_recurse(), pull_up_union_leaf_queries(), pull_var_clause_walker(), pull_varattnos_walker(), pull_varnos_walker(), pull_vars_walker(), pullup_replace_vars_callback(), pullup_replace_vars_subquery(), qual_is_pushdown_safe(), query_contains_extern_params_walker(), query_is_distinct_for(), query_or_expression_tree_mutator(), query_or_expression_tree_walker(), query_tree_mutator(), query_tree_walker(), rangesel(), rangeTableEntry_used_walker(), RangeVarCallbackForAlterRelation(), raw_expression_tree_walker(), reconsider_full_join_clause(), recurse_push_qual(), recurse_pushdown_safe(), recurse_set_operations(), recurse_union_children(), reduce_outer_joins_pass1(), reduce_outer_joins_pass2(), relabel_to_typmod(), remove_rel_from_joinlist(), reorder_function_arguments(), replace_aggs_with_params_mutator(), replace_correlation_vars_mutator(), replace_nestloop_params_mutator(), replace_rte_variables(), replace_rte_variables_mutator(), replace_vars_in_jointree(), ResetPlanCache(), resolve_column_ref(), restriction_is_constant_false(), RewriteQuery(), rewriteTargetListIU(), rewriteTargetView(), rewriteValuesRTE(), scalararraysel(), scalararraysel_containment(), scalargtsel(), scalarltsel(), ScanQueryWalker(), searchForDefault(), select_mergejoin_clauses(), set_append_rel_size(), set_cheapest(), set_deparse_planstate(), set_dummy_tlist_references(), set_join_references(), set_plan_references(), set_rel_width(), set_subquery_size_estimates(), set_upper_references(), set_using_names(), setRuleCheckAsUser_walker(), show_hash_info(), show_plan_tlist(), show_scan_qual(), show_sort_info(), simplify_and_arguments(), simplify_boolean_equality(), simplify_or_arguments(), SPI_cursor_open_internal(), sql_fn_post_column_ref(), standard_planner(), standard_ProcessUtility(), strip_array_coercion(), strip_implicit_coercions(), subquery_is_pushdown_safe(), substitute_actual_parameters_mutator(), substitute_actual_srf_parameters_mutator(), substitute_multiple_relids_walker(), TemporalTransform(), testexpr_is_hashable(), TidListCreate(), TidQualFromExpr(), TidQualFromRestrictinfo(), tlist_matches_tupdesc(), tlist_member_ignore_relabel(), transformAExprDistinct(), transformAExprIn(), transformAExprOp(), transformAlterTableStmt(), transformArrayExpr(), transformArraySubscripts(), transformAssignedExpr(), transformAssignmentIndirection(), transformCaseExpr(), transformColumnDefinition(), transformColumnRef(), transformConstraintAttrs(), transformCreateStmt(), transformCurrentOfExpr(), transformDeclareCursorStmt(), transformExpressionList(), transformExprRecurse(), transformFromClauseItem(), transformIndexConstraint(), transformIndexConstraints(), transformIndirection(), transformInsertRow(), transformInsertStmt(), transformRangeSubselect(), transformSetOperationStmt(), transformSetOperationTree(), transformSubLink(), transformTargetList(), transformTopLevelStmt(), transformUpdateStmt(), transformValuesClause(), transformWithClause(), transformXmlExpr(), translate_col_privs(), translate_sub_tlist(), trivial_subqueryscan(), tsmatchsel(), TypeNameListToString(), typenameTypeMod(), unknown_attribute(), update_proconfig_value(), UtilityContainsQuery(), varbit_transform(), varchar_transform(), view_is_auto_updatable(), and xpath_table().
#define makeNode | ( | _type_ | ) | ((_type_ *) newNode(sizeof(_type_),T_##_type_)) |
Definition at line 484 of file nodes.h.
Referenced by _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyAStar(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _copyBooleanTest(), _copyBoolExpr(), _copyCaseExpr(), _copyCaseTestExpr(), _copyCaseWhen(), _copyClosePortalStmt(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceToDomainValue(), _copyCoerceViaIO(), _copyCollateClause(), _copyCollateExpr(), _copyColumnDef(), _copyColumnRef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyCompositeTypeStmt(), _copyConst(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateDomainStmt(), _copyCreateEnumStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreateRangeStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateStmt(), _copyCreateTableAsStmt(), _copyCreateTableSpaceStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyCteScan(), _copyCurrentOfExpr(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyFuncWithArgs(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyHash(), _copyHashJoin(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInsertStmt(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyLateralJoinInfo(), _copyLimit(), _copyList(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyNamedArgExpr(), _copyNestLoop(), _copyNestLoopParam(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPrepareStmt(), _copyPrivGrantee(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTblEntry(), _copyRangeTblRef(), _copyRangeVar(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableLikeClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumStmt(), _copyValue(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), add_eq_member(), add_lateral_info(), AddInvertedQual(), addRangeTableEntry(), addRangeTableEntryForCTE(), addRangeTableEntryForFunction(), addRangeTableEntryForJoin(), addRangeTableEntryForRelation(), addRangeTableEntryForSubquery(), addRangeTableEntryForValues(), addRTEtoQuery(), addTargetToGroupList(), addTargetToSortList(), adjust_appendrel_attrs_mutator(), adjust_rowcompare_for_index(), applyLockingClause(), assign_nestloop_param_placeholdervar(), assign_nestloop_param_var(), assign_param_for_placeholdervar(), assign_param_for_var(), ATPostAlterTypeParse(), ATPrepAddOids(), ATPrepCmd(), build_aggregate_fnexprs(), build_coercion_expression(), build_join_rel(), build_minmax_path(), build_simple_rel(), build_subplan(), BuildIndexInfo(), buildMergedJoinVar(), CatalogOpenIndexes(), CheckIndexCompatible(), checkInsertTargets(), coerce_record_to_complex(), coerce_to_domain(), coerce_to_target_type(), coerce_type(), convert_ANY_sublink_to_join(), convert_EXISTS_sublink_to_join(), ConvertTriggerToFK(), CopyFrom(), copyObject(), create_append_path(), create_bitmap_and_path(), create_bitmap_heap_path(), create_bitmap_or_path(), create_ctescan_path(), create_foreignscan_path(), create_functionscan_path(), create_hashjoin_path(), create_index_path(), create_material_path(), create_merge_append_path(), create_merge_append_plan(), create_mergejoin_path(), create_nestloop_path(), create_result_path(), create_seqscan_path(), create_subqueryscan_path(), create_tidscan_path(), create_toast_table(), create_unique_path(), create_unique_plan(), create_valuesscan_path(), create_worktablescan_path(), CreateExecutorState(), CreateExprContext(), CreateExtension(), CreateFKCheckTrigger(), createForeignKeyTriggers(), CreateStandaloneExprContext(), DefineCompositeType(), DefineIndex(), DefineSequence(), DefineVirtualRelation(), deparse_context_for(), DoCopy(), domainAddConstraint(), eval_const_expressions_mutator(), evaluate_function(), ExecBuildProjectionInfo(), ExecGetTriggerResultRel(), ExecInitAgg(), ExecInitAlternativeSubPlan(), ExecInitAppend(), ExecInitBitmapAnd(), ExecInitBitmapHeapScan(), ExecInitBitmapIndexScan(), ExecInitBitmapOr(), ExecInitCteScan(), ExecInitExpr(), ExecInitForeignScan(), ExecInitFunctionScan(), ExecInitGroup(), ExecInitHash(), ExecInitHashJoin(), ExecInitIndexOnlyScan(), ExecInitIndexScan(), ExecInitJunkFilter(), ExecInitJunkFilterConversion(), ExecInitLimit(), ExecInitLockRows(), ExecInitMaterial(), ExecInitMergeAppend(), ExecInitMergeJoin(), ExecInitModifyTable(), ExecInitNestLoop(), ExecInitRecursiveUnion(), ExecInitResult(), ExecInitSeqScan(), ExecInitSetOp(), ExecInitSort(), ExecInitSubPlan(), ExecInitSubqueryScan(), ExecInitTidScan(), ExecInitUnique(), ExecInitValuesScan(), ExecInitWindowAgg(), ExecInitWorkTableScan(), ExecuteDoStmt(), expand_inherited_rtentry(), ExpandRowReference(), file_fdw_handler(), find_minmax_aggs_walker(), find_placeholder_info(), fixed_paramref_hook(), flatCopyTargetEntry(), flatten_join_alias_vars_mutator(), flatten_simple_union_all(), generate_new_param(), generateClonedIndexStmt(), get_appendrel_parampathinfo(), get_baserel_parampathinfo(), get_eclass_for_sort_expr(), get_joinrel_parampathinfo(), get_relation_constraints(), get_relation_info(), get_switched_clauses(), GetDomainConstraints(), index_check_primary_key(), index_constraint_create(), inheritance_planner(), inline_function(), intorel_startup(), make_agg(), make_andclause(), make_append(), make_bitmap_and(), make_bitmap_heapscan(), make_bitmap_indexscan(), make_bitmap_or(), make_canonical_pathkey(), make_ctescan(), make_datum_param(), make_foreignscan(), make_functionscan(), make_group(), make_hash(), make_hashjoin(), make_indexonlyscan(), make_indexscan(), make_limit(), make_lockrows(), make_material(), make_mergejoin(), make_modifytable(), make_nestloop(), make_notclause(), make_op(), make_opclause(), make_orclause(), make_outerjoininfo(), make_placeholder_expr(), make_recursive_union(), make_restrictinfo_internal(), make_result(), make_row_comparison_op(), make_scalar_array_op(), make_seqscan(), make_setop(), make_sort(), make_subplan(), make_subqueryscan(), make_tidscan(), make_unique(), make_valuesscan(), make_windowagg(), make_worktablescan(), makeA_Expr(), makeAlias(), makeBitString(), makeBoolExpr(), makeConst(), makeDefElem(), makeDefElemExtended(), makeFloat(), makeFromExpr(), makeFuncExpr(), makeInteger(), makeRangeVar(), makeRelabelType(), makeSimpleA_Expr(), makeString(), makeTargetEntry(), MakeTupleTableSlot(), makeTypeNameFromNameList(), makeTypeNameFromOid(), makeVar(), match_clause_to_ordering_op(), MergeAttributes(), negate_clause(), parseCheckAggregates(), ParseComplexProjection(), ParseFuncOrColumn(), pg_get_triggerdef_worker(), plan_cluster_use_sort(), postgres_fdw_handler(), preprocess_rowmarks(), process_equivalence(), process_matched_tle(), process_subquery_nestloop_params(), pull_up_simple_subquery(), pull_up_union_leaf_queries(), pullup_replace_vars_callback(), record_plan_function_dependency(), reparameterize_path(), replace_nestloop_params_mutator(), replace_outer_agg(), replace_outer_placeholdervar(), replace_outer_var(), ReplaceVarsFromTargetList_callback(), RI_Initial_Check(), scalararraysel(), sql_fn_make_param(), SS_make_initplan_from_plan(), SS_process_ctes(), standard_planner(), subquery_planner(), tbm_create(), transformAExprIn(), transformAExprOp(), transformAlterTableStmt(), transformArrayExpr(), transformArraySubscripts(), transformAssignmentIndirection(), transformCaseExpr(), transformCoalesceExpr(), transformCollateClause(), transformColumnDefinition(), transformCreateTableAsStmt(), transformCurrentOfExpr(), transformDeleteStmt(), transformExplainStmt(), transformFKConstraints(), transformFromClauseItem(), transformIndexConstraint(), transformInsertStmt(), transformLockingClause(), transformMinMaxExpr(), transformOfType(), transformRowExpr(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformSetOperationTree(), transformStmt(), transformSubLink(), transformTableLikeClause(), transformTopLevelStmt(), transformUpdateStmt(), transformValuesClause(), transformWindowDefinitions(), transformXmlExpr(), transformXmlSerialize(), and variable_paramref_hook().
#define newNode | ( | size, | ||
tag | ||||
) |
( \ AssertMacro((size) >= sizeof(Node)), /* need the tag, at least */ \ newNodeMacroHolder = (Node *) palloc0fast(size), \ newNodeMacroHolder->type = (tag), \ newNodeMacroHolder \ )
#define NodeSetTag | ( | nodeptr, | ||
t | ||||
) | (((Node*)(nodeptr))->type = (t)) |
Definition at line 485 of file nodes.h.
Referenced by make_distinct_op(), and transformAExprNullIf().
#define nodeTag | ( | nodeptr | ) | (((const Node*)(nodeptr))->type) |
Definition at line 441 of file nodes.h.
Referenced by _outNode(), _outQuery(), add_base_rels_to_query(), add_vars_to_targetlist(), AlterDomainAddConstraint(), analyze_requires_snapshot(), assign_collations_walker(), ATPostAlterTypeParse(), btcostestimate(), build_joinrel_tlist(), build_subplan(), check_xact_readonly(), contain_leaky_functions_walker(), copyObject(), cost_bitmap_tree_node(), cost_subplan(), create_bitmap_subplan(), CreateCommandTag(), createdb(), deconstruct_recurse(), defGetBoolean(), defGetInt64(), defGetNumeric(), defGetQualifiedName(), defGetString(), defGetTypeLength(), defGetTypeName(), DefineDomain(), deparseExpr(), equal(), eval_const_expressions_mutator(), exec_simple_check_node(), ExecEndNode(), ExecEvalWholeRowVar(), ExecIndexBuildScanKeys(), ExecInitExpr(), ExecInitNode(), ExecInitSubPlan(), ExecMarkPos(), ExecProcNode(), ExecReScan(), ExecRestrPos(), ExecSetVariableStmt(), ExecSupportsBackwardScan(), expand_indexqual_conditions(), ExplainNode(), ExplainPreScanNode(), ExplainTargetRel(), exprCollation(), expression_tree_mutator(), expression_tree_walker(), exprInputCollation(), exprLocation(), exprSetCollation(), exprSetInputCollation(), exprType(), exprTypmod(), FigureColnameInternal(), finalize_plan(), find_indexpath_quals(), find_jointree_node_for_rel(), find_placeholders_recurse(), fix_indexorderby_references(), fix_indexqual_references(), flatten_join_using_qual(), flatten_set_variable_args(), foreign_expr_walker(), get_base_rel_indexes(), get_bitmap_tree_required_outer(), get_from_clause_item(), get_indexpath_pages(), get_relids_in_jointree(), get_rule_expr(), get_setop_query(), get_sublink_expr(), GetCommandLogLevel(), gincostestimate(), has_unnamed_full_join_using(), hide_coercion_node(), identify_join_columns(), is_projection_capable_plan(), is_simple_union_all_recurse(), isSimpleNode(), JumbleExpr(), make_const(), make_rel_from_joinlist(), make_restrictinfo_from_bitmapqual(), markQueryForLocking(), markRTEForSelectPriv(), MultiExecProcNode(), NameListToString(), negate_clause(), oidparse(), preprocess_qual_conditions(), ProcessUtilitySlow(), pull_up_sublinks_jointree_recurse(), pull_up_subqueries_recurse(), pull_up_union_leaf_queries(), RangeVarCallbackForAlterRelation(), raw_expression_tree_walker(), recurse_push_qual(), recurse_pushdown_safe(), recurse_set_operations(), reduce_outer_joins_pass1(), reduce_outer_joins_pass2(), remove_rel_from_joinlist(), replace_vars_in_jointree(), search_plan_tree(), sepgsql_utility_command(), set_plan_refs(), set_using_names(), standard_ProcessUtility(), transformAlterTableStmt(), transformConstraintAttrs(), transformCreateSchemaStmt(), transformCreateStmt(), transformExprRecurse(), transformFromClauseItem(), transformStmt(), UtilityContainsQuery(), UtilityReturnsTuples(), and UtilityTupleDescriptor().
typedef double Selectivity |
enum CmdType |
Definition at line 533 of file nodes.h.
{ CMD_UNKNOWN, CMD_SELECT, /* select stmt */ CMD_UPDATE, /* update stmt */ CMD_INSERT, /* insert stmt */ CMD_DELETE, CMD_UTILITY, /* cmds like create, destroy, copy, vacuum, * etc. */ CMD_NOTHING /* dummy command for instead nothing rules * with qual */ } CmdType;
enum JoinType |
JOIN_INNER | |
JOIN_LEFT | |
JOIN_FULL | |
JOIN_RIGHT | |
JOIN_SEMI | |
JOIN_ANTI | |
JOIN_UNIQUE_OUTER | |
JOIN_UNIQUE_INNER |
Definition at line 557 of file nodes.h.
{ /* * The canonical kinds of joins according to the SQL JOIN syntax. Only * these codes can appear in parser output (e.g., JoinExpr nodes). */ JOIN_INNER, /* matching tuple pairs only */ JOIN_LEFT, /* pairs + unmatched LHS tuples */ JOIN_FULL, /* pairs + unmatched LHS + unmatched RHS */ JOIN_RIGHT, /* pairs + unmatched RHS tuples */ /* * Semijoins and anti-semijoins (as defined in relational theory) do not * appear in the SQL JOIN syntax, but there are standard idioms for * representing them (e.g., using EXISTS). The planner recognizes these * cases and converts them to joins. So the planner and executor must * support these codes. NOTE: in JOIN_SEMI output, it is unspecified * which matching RHS row is joined to. In JOIN_ANTI output, the row is * guaranteed to be null-extended. */ JOIN_SEMI, /* 1 copy of each LHS row that has match(es) */ JOIN_ANTI, /* 1 copy of each LHS row that has no match */ /* * These codes are used internally in the planner, but are not supported * by the executor (nor, indeed, by most of the planner). */ JOIN_UNIQUE_OUTER, /* LHS path must be made unique */ JOIN_UNIQUE_INNER /* RHS path must be made unique */ /* * We might need additional join types someday. */ } JoinType;
enum NodeTag |
Definition at line 26 of file nodes.h.
{ T_Invalid = 0, /* * TAGS FOR EXECUTOR NODES (execnodes.h) */ T_IndexInfo = 10, T_ExprContext, T_ProjectionInfo, T_JunkFilter, T_ResultRelInfo, T_EState, T_TupleTableSlot, /* * TAGS FOR PLAN NODES (plannodes.h) */ T_Plan = 100, T_Result, T_ModifyTable, T_Append, T_MergeAppend, T_RecursiveUnion, T_BitmapAnd, T_BitmapOr, T_Scan, T_SeqScan, T_IndexScan, T_IndexOnlyScan, T_BitmapIndexScan, T_BitmapHeapScan, T_TidScan, T_SubqueryScan, T_FunctionScan, T_ValuesScan, T_CteScan, T_WorkTableScan, T_ForeignScan, T_Join, T_NestLoop, T_MergeJoin, T_HashJoin, T_Material, T_Sort, T_Group, T_Agg, T_WindowAgg, T_Unique, T_Hash, T_SetOp, T_LockRows, T_Limit, /* these aren't subclasses of Plan: */ T_NestLoopParam, T_PlanRowMark, T_PlanInvalItem, /* * TAGS FOR PLAN STATE NODES (execnodes.h) * * These should correspond one-to-one with Plan node types. */ T_PlanState = 200, T_ResultState, T_ModifyTableState, T_AppendState, T_MergeAppendState, T_RecursiveUnionState, T_BitmapAndState, T_BitmapOrState, T_ScanState, T_SeqScanState, T_IndexScanState, T_IndexOnlyScanState, T_BitmapIndexScanState, T_BitmapHeapScanState, T_TidScanState, T_SubqueryScanState, T_FunctionScanState, T_ValuesScanState, T_CteScanState, T_WorkTableScanState, T_ForeignScanState, T_JoinState, T_NestLoopState, T_MergeJoinState, T_HashJoinState, T_MaterialState, T_SortState, T_GroupState, T_AggState, T_WindowAggState, T_UniqueState, T_HashState, T_SetOpState, T_LockRowsState, T_LimitState, /* * TAGS FOR PRIMITIVE NODES (primnodes.h) */ T_Alias = 300, T_RangeVar, T_Expr, T_Var, T_Const, T_Param, T_Aggref, T_WindowFunc, T_ArrayRef, T_FuncExpr, T_NamedArgExpr, T_OpExpr, T_DistinctExpr, T_NullIfExpr, T_ScalarArrayOpExpr, T_BoolExpr, T_SubLink, T_SubPlan, T_AlternativeSubPlan, T_FieldSelect, T_FieldStore, T_RelabelType, T_CoerceViaIO, T_ArrayCoerceExpr, T_ConvertRowtypeExpr, T_CollateExpr, T_CaseExpr, T_CaseWhen, T_CaseTestExpr, T_ArrayExpr, T_RowExpr, T_RowCompareExpr, T_CoalesceExpr, T_MinMaxExpr, T_XmlExpr, T_NullTest, T_BooleanTest, T_CoerceToDomain, T_CoerceToDomainValue, T_SetToDefault, T_CurrentOfExpr, T_TargetEntry, T_RangeTblRef, T_JoinExpr, T_FromExpr, T_IntoClause, /* * TAGS FOR EXPRESSION STATE NODES (execnodes.h) * * These correspond (not always one-for-one) to primitive nodes derived * from Expr. */ T_ExprState = 400, T_GenericExprState, T_WholeRowVarExprState, T_AggrefExprState, T_WindowFuncExprState, T_ArrayRefExprState, T_FuncExprState, T_ScalarArrayOpExprState, T_BoolExprState, T_SubPlanState, T_AlternativeSubPlanState, T_FieldSelectState, T_FieldStoreState, T_CoerceViaIOState, T_ArrayCoerceExprState, T_ConvertRowtypeExprState, T_CaseExprState, T_CaseWhenState, T_ArrayExprState, T_RowExprState, T_RowCompareExprState, T_CoalesceExprState, T_MinMaxExprState, T_XmlExprState, T_NullTestState, T_CoerceToDomainState, T_DomainConstraintState, /* * TAGS FOR PLANNER NODES (relation.h) */ T_PlannerInfo = 500, T_PlannerGlobal, T_RelOptInfo, T_IndexOptInfo, T_ParamPathInfo, T_Path, T_IndexPath, T_BitmapHeapPath, T_BitmapAndPath, T_BitmapOrPath, T_NestPath, T_MergePath, T_HashPath, T_TidPath, T_ForeignPath, T_AppendPath, T_MergeAppendPath, T_ResultPath, T_MaterialPath, T_UniquePath, T_EquivalenceClass, T_EquivalenceMember, T_PathKey, T_RestrictInfo, T_PlaceHolderVar, T_SpecialJoinInfo, T_LateralJoinInfo, T_AppendRelInfo, T_PlaceHolderInfo, T_MinMaxAggInfo, T_PlannerParamItem, /* * TAGS FOR MEMORY NODES (memnodes.h) */ T_MemoryContext = 600, T_AllocSetContext, /* * TAGS FOR VALUE NODES (value.h) */ T_Value = 650, T_Integer, T_Float, T_String, T_BitString, T_Null, /* * TAGS FOR LIST NODES (pg_list.h) */ T_List, T_IntList, T_OidList, /* * TAGS FOR STATEMENT NODES (mostly in parsenodes.h) */ T_Query = 700, T_PlannedStmt, T_InsertStmt, T_DeleteStmt, T_UpdateStmt, T_SelectStmt, T_AlterTableStmt, T_AlterTableCmd, T_AlterDomainStmt, T_SetOperationStmt, T_GrantStmt, T_GrantRoleStmt, T_AlterDefaultPrivilegesStmt, T_ClosePortalStmt, T_ClusterStmt, T_CopyStmt, T_CreateStmt, T_DefineStmt, T_DropStmt, T_TruncateStmt, T_CommentStmt, T_FetchStmt, T_IndexStmt, T_CreateFunctionStmt, T_AlterFunctionStmt, T_DoStmt, T_RenameStmt, T_RuleStmt, T_NotifyStmt, T_ListenStmt, T_UnlistenStmt, T_TransactionStmt, T_ViewStmt, T_LoadStmt, T_CreateDomainStmt, T_CreatedbStmt, T_DropdbStmt, T_VacuumStmt, T_ExplainStmt, T_CreateTableAsStmt, T_CreateSeqStmt, T_AlterSeqStmt, T_VariableSetStmt, T_VariableShowStmt, T_DiscardStmt, T_CreateTrigStmt, T_CreatePLangStmt, T_CreateRoleStmt, T_AlterRoleStmt, T_DropRoleStmt, T_LockStmt, T_ConstraintsSetStmt, T_ReindexStmt, T_CheckPointStmt, T_CreateSchemaStmt, T_AlterDatabaseStmt, T_AlterDatabaseSetStmt, T_AlterRoleSetStmt, T_CreateConversionStmt, T_CreateCastStmt, T_CreateOpClassStmt, T_CreateOpFamilyStmt, T_AlterOpFamilyStmt, T_PrepareStmt, T_ExecuteStmt, T_DeallocateStmt, T_DeclareCursorStmt, T_CreateTableSpaceStmt, T_DropTableSpaceStmt, T_AlterObjectSchemaStmt, T_AlterOwnerStmt, T_DropOwnedStmt, T_ReassignOwnedStmt, T_CompositeTypeStmt, T_CreateEnumStmt, T_CreateRangeStmt, T_AlterEnumStmt, T_AlterTSDictionaryStmt, T_AlterTSConfigurationStmt, T_CreateFdwStmt, T_AlterFdwStmt, T_CreateForeignServerStmt, T_AlterForeignServerStmt, T_CreateUserMappingStmt, T_AlterUserMappingStmt, T_DropUserMappingStmt, T_AlterTableSpaceOptionsStmt, T_SecLabelStmt, T_CreateForeignTableStmt, T_CreateExtensionStmt, T_AlterExtensionStmt, T_AlterExtensionContentsStmt, T_CreateEventTrigStmt, T_AlterEventTrigStmt, T_RefreshMatViewStmt, /* * TAGS FOR PARSE TREE NODES (parsenodes.h) */ T_A_Expr = 900, T_ColumnRef, T_ParamRef, T_A_Const, T_FuncCall, T_A_Star, T_A_Indices, T_A_Indirection, T_A_ArrayExpr, T_ResTarget, T_TypeCast, T_CollateClause, T_SortBy, T_WindowDef, T_RangeSubselect, T_RangeFunction, T_TypeName, T_ColumnDef, T_IndexElem, T_Constraint, T_DefElem, T_RangeTblEntry, T_SortGroupClause, T_WindowClause, T_PrivGrantee, T_FuncWithArgs, T_AccessPriv, T_CreateOpClassItem, T_TableLikeClause, T_FunctionParameter, T_LockingClause, T_RowMarkClause, T_XmlSerialize, T_WithClause, T_CommonTableExpr, /* * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h) */ T_IdentifySystemCmd, T_BaseBackupCmd, T_StartReplicationCmd, T_TimeLineHistoryCmd, /* * TAGS FOR RANDOM OTHER STUFF * * These are objects that aren't part of parse/plan/execute node tree * structures, but we give them NodeTags anyway for identification * purposes (usually because they are involved in APIs where we want to * pass multiple object types through the same pointer). */ T_TriggerData = 950, /* in commands/trigger.h */ T_EventTriggerData, /* in commands/event_trigger.h */ T_ReturnSetInfo, /* in nodes/execnodes.h */ T_WindowObjectData, /* private in nodeWindowAgg.c */ T_TIDBitmap, /* in nodes/tidbitmap.h */ T_InlineCodeBlock, /* in nodes/parsenodes.h */ T_FdwRoutine /* in foreign/fdwapi.h */ } NodeTag;
void* copyObject | ( | const void * | obj | ) |
Definition at line 3828 of file copyfuncs.c.
References _copyA_ArrayExpr(), _copyA_Indirection(), _copyAccessPriv(), _copyAConst(), _copyAExpr(), _copyAgg(), _copyAggref(), _copyAIndices(), _copyAlias(), _copyAlterDatabaseSetStmt(), _copyAlterDatabaseStmt(), _copyAlterDefaultPrivilegesStmt(), _copyAlterDomainStmt(), _copyAlterEnumStmt(), _copyAlterEventTrigStmt(), _copyAlterExtensionContentsStmt(), _copyAlterExtensionStmt(), _copyAlterFdwStmt(), _copyAlterForeignServerStmt(), _copyAlterFunctionStmt(), _copyAlternativeSubPlan(), _copyAlterObjectSchemaStmt(), _copyAlterOpFamilyStmt(), _copyAlterOwnerStmt(), _copyAlterRoleSetStmt(), _copyAlterRoleStmt(), _copyAlterSeqStmt(), _copyAlterTableCmd(), _copyAlterTableSpaceOptionsStmt(), _copyAlterTableStmt(), _copyAlterTSConfigurationStmt(), _copyAlterTSDictionaryStmt(), _copyAlterUserMappingStmt(), _copyAppend(), _copyAppendRelInfo(), _copyArrayCoerceExpr(), _copyArrayExpr(), _copyArrayRef(), _copyAStar(), _copyBitmapAnd(), _copyBitmapHeapScan(), _copyBitmapIndexScan(), _copyBitmapOr(), _copyBooleanTest(), _copyBoolExpr(), _copyCaseExpr(), _copyCaseTestExpr(), _copyCaseWhen(), _copyClosePortalStmt(), _copyClusterStmt(), _copyCoalesceExpr(), _copyCoerceToDomain(), _copyCoerceToDomainValue(), _copyCoerceViaIO(), _copyCollateClause(), _copyCollateExpr(), _copyColumnDef(), _copyColumnRef(), _copyCommentStmt(), _copyCommonTableExpr(), _copyCompositeTypeStmt(), _copyConst(), _copyConstraint(), _copyConstraintsSetStmt(), _copyConvertRowtypeExpr(), _copyCopyStmt(), _copyCreateCastStmt(), _copyCreateConversionStmt(), _copyCreatedbStmt(), _copyCreateDomainStmt(), _copyCreateEnumStmt(), _copyCreateEventTrigStmt(), _copyCreateExtensionStmt(), _copyCreateFdwStmt(), _copyCreateForeignServerStmt(), _copyCreateForeignTableStmt(), _copyCreateFunctionStmt(), _copyCreateOpClassItem(), _copyCreateOpClassStmt(), _copyCreateOpFamilyStmt(), _copyCreatePLangStmt(), _copyCreateRangeStmt(), _copyCreateRoleStmt(), _copyCreateSchemaStmt(), _copyCreateSeqStmt(), _copyCreateStmt(), _copyCreateTableAsStmt(), _copyCreateTableSpaceStmt(), _copyCreateTrigStmt(), _copyCreateUserMappingStmt(), _copyCteScan(), _copyCurrentOfExpr(), _copyDeallocateStmt(), _copyDeclareCursorStmt(), _copyDefElem(), _copyDefineStmt(), _copyDeleteStmt(), _copyDiscardStmt(), _copyDistinctExpr(), _copyDoStmt(), _copyDropdbStmt(), _copyDropOwnedStmt(), _copyDropRoleStmt(), _copyDropStmt(), _copyDropTableSpaceStmt(), _copyDropUserMappingStmt(), _copyExecuteStmt(), _copyExplainStmt(), _copyFetchStmt(), _copyFieldSelect(), _copyFieldStore(), _copyForeignScan(), _copyFromExpr(), _copyFuncCall(), _copyFuncExpr(), _copyFunctionParameter(), _copyFunctionScan(), _copyFuncWithArgs(), _copyGrantRoleStmt(), _copyGrantStmt(), _copyGroup(), _copyHash(), _copyHashJoin(), _copyIndexElem(), _copyIndexOnlyScan(), _copyIndexScan(), _copyIndexStmt(), _copyInsertStmt(), _copyIntoClause(), _copyJoin(), _copyJoinExpr(), _copyLateralJoinInfo(), _copyLimit(), _copyList(), _copyListenStmt(), _copyLoadStmt(), _copyLockingClause(), _copyLockRows(), _copyLockStmt(), _copyMaterial(), _copyMergeAppend(), _copyMergeJoin(), _copyMinMaxExpr(), _copyModifyTable(), _copyNamedArgExpr(), _copyNestLoop(), _copyNestLoopParam(), _copyNotifyStmt(), _copyNullIfExpr(), _copyNullTest(), _copyOpExpr(), _copyParam(), _copyParamRef(), _copyPathKey(), _copyPlaceHolderInfo(), _copyPlaceHolderVar(), _copyPlan(), _copyPlanInvalItem(), _copyPlannedStmt(), _copyPlanRowMark(), _copyPrepareStmt(), _copyPrivGrantee(), _copyQuery(), _copyRangeFunction(), _copyRangeSubselect(), _copyRangeTblEntry(), _copyRangeTblRef(), _copyRangeVar(), _copyReassignOwnedStmt(), _copyRecursiveUnion(), _copyRefreshMatViewStmt(), _copyReindexStmt(), _copyRelabelType(), _copyRenameStmt(), _copyResTarget(), _copyRestrictInfo(), _copyResult(), _copyRowCompareExpr(), _copyRowExpr(), _copyRowMarkClause(), _copyRuleStmt(), _copyScalarArrayOpExpr(), _copyScan(), _copySecLabelStmt(), _copySelectStmt(), _copySeqScan(), _copySetOp(), _copySetOperationStmt(), _copySetToDefault(), _copySort(), _copySortBy(), _copySortGroupClause(), _copySpecialJoinInfo(), _copySubLink(), _copySubPlan(), _copySubqueryScan(), _copyTableLikeClause(), _copyTargetEntry(), _copyTidScan(), _copyTransactionStmt(), _copyTruncateStmt(), _copyTypeCast(), _copyTypeName(), _copyUnique(), _copyUnlistenStmt(), _copyUpdateStmt(), _copyVacuumStmt(), _copyValue(), _copyValuesScan(), _copyVar(), _copyVariableSetStmt(), _copyVariableShowStmt(), _copyViewStmt(), _copyWindowAgg(), _copyWindowClause(), _copyWindowDef(), _copyWindowFunc(), _copyWithClause(), _copyWorkTableScan(), _copyXmlExpr(), _copyXmlSerialize(), check_stack_depth(), elog, ERROR, list_copy(), makeNode, nodeTag, NULL, T_A_ArrayExpr, T_A_Const, T_A_Expr, T_A_Indices, T_A_Indirection, T_A_Star, T_AccessPriv, T_Agg, T_Aggref, T_Alias, T_AlterDatabaseSetStmt, T_AlterDatabaseStmt, T_AlterDefaultPrivilegesStmt, T_AlterDomainStmt, T_AlterEnumStmt, T_AlterEventTrigStmt, T_AlterExtensionContentsStmt, T_AlterExtensionStmt, T_AlterFdwStmt, T_AlterForeignServerStmt, T_AlterFunctionStmt, T_AlternativeSubPlan, T_AlterObjectSchemaStmt, T_AlterOpFamilyStmt, T_AlterOwnerStmt, T_AlterRoleSetStmt, T_AlterRoleStmt, T_AlterSeqStmt, T_AlterTableCmd, T_AlterTableSpaceOptionsStmt, T_AlterTableStmt, T_AlterTSConfigurationStmt, T_AlterTSDictionaryStmt, T_AlterUserMappingStmt, T_Append, T_AppendRelInfo, T_ArrayCoerceExpr, T_ArrayExpr, T_ArrayRef, T_BitmapAnd, T_BitmapHeapScan, T_BitmapIndexScan, T_BitmapOr, T_BitString, T_BooleanTest, T_BoolExpr, T_CaseExpr, T_CaseTestExpr, T_CaseWhen, T_CheckPointStmt, T_ClosePortalStmt, T_ClusterStmt, T_CoalesceExpr, T_CoerceToDomain, T_CoerceToDomainValue, T_CoerceViaIO, T_CollateClause, T_CollateExpr, T_ColumnDef, T_ColumnRef, T_CommentStmt, T_CommonTableExpr, T_CompositeTypeStmt, T_Const, T_Constraint, T_ConstraintsSetStmt, T_ConvertRowtypeExpr, T_CopyStmt, T_CreateCastStmt, T_CreateConversionStmt, T_CreatedbStmt, T_CreateDomainStmt, T_CreateEnumStmt, T_CreateEventTrigStmt, T_CreateExtensionStmt, T_CreateFdwStmt, T_CreateForeignServerStmt, T_CreateForeignTableStmt, T_CreateFunctionStmt, T_CreateOpClassItem, T_CreateOpClassStmt, T_CreateOpFamilyStmt, T_CreatePLangStmt, T_CreateRangeStmt, T_CreateRoleStmt, T_CreateSchemaStmt, T_CreateSeqStmt, T_CreateStmt, T_CreateTableAsStmt, T_CreateTableSpaceStmt, T_CreateTrigStmt, T_CreateUserMappingStmt, T_CteScan, T_CurrentOfExpr, T_DeallocateStmt, T_DeclareCursorStmt, T_DefElem, T_DefineStmt, T_DeleteStmt, T_DiscardStmt, T_DistinctExpr, T_DoStmt, T_DropdbStmt, T_DropOwnedStmt, T_DropRoleStmt, T_DropStmt, T_DropTableSpaceStmt, T_DropUserMappingStmt, T_ExecuteStmt, T_ExplainStmt, T_FetchStmt, T_FieldSelect, T_FieldStore, T_Float, T_ForeignScan, T_FromExpr, T_FuncCall, T_FuncExpr, T_FunctionParameter, T_FunctionScan, T_FuncWithArgs, T_GrantRoleStmt, T_GrantStmt, T_Group, T_Hash, T_HashJoin, T_IndexElem, T_IndexOnlyScan, T_IndexScan, T_IndexStmt, T_InsertStmt, T_Integer, T_IntList, T_IntoClause, T_Join, T_JoinExpr, T_LateralJoinInfo, T_Limit, T_List, T_ListenStmt, T_LoadStmt, T_LockingClause, T_LockRows, T_LockStmt, T_Material, T_MergeAppend, T_MergeJoin, T_MinMaxExpr, T_ModifyTable, T_NamedArgExpr, T_NestLoop, T_NestLoopParam, T_NotifyStmt, T_Null, T_NullIfExpr, T_NullTest, T_OidList, T_OpExpr, T_Param, T_ParamRef, T_PathKey, T_PlaceHolderInfo, T_PlaceHolderVar, T_Plan, T_PlanInvalItem, T_PlannedStmt, T_PlanRowMark, T_PrepareStmt, T_PrivGrantee, T_Query, T_RangeFunction, T_RangeSubselect, T_RangeTblEntry, T_RangeTblRef, T_RangeVar, T_ReassignOwnedStmt, T_RecursiveUnion, T_RefreshMatViewStmt, T_ReindexStmt, T_RelabelType, T_RenameStmt, T_ResTarget, T_RestrictInfo, T_Result, T_RowCompareExpr, T_RowExpr, T_RowMarkClause, T_RuleStmt, T_ScalarArrayOpExpr, T_Scan, T_SecLabelStmt, T_SelectStmt, T_SeqScan, T_SetOp, T_SetOperationStmt, T_SetToDefault, T_Sort, T_SortBy, T_SortGroupClause, T_SpecialJoinInfo, T_String, T_SubLink, T_SubPlan, T_SubqueryScan, T_TableLikeClause, T_TargetEntry, T_TidScan, T_TransactionStmt, T_TruncateStmt, T_TypeCast, T_TypeName, T_Unique, T_UnlistenStmt, T_UpdateStmt, T_VacuumStmt, T_ValuesScan, T_Var, T_VariableSetStmt, T_VariableShowStmt, T_ViewStmt, T_WindowAgg, T_WindowClause, T_WindowDef, T_WindowFunc, T_WithClause, T_WorkTableScan, T_XmlExpr, and T_XmlSerialize.
Referenced by add_placeholders_to_base_rels(), add_to_flat_tlist(), add_vars_to_targetlist(), AddQual(), addRangeTableEntryForCTE(), addRangeTableEntryForJoin(), addRangeTableEntryForSubquery(), addRangeTableEntryForValues(), adjust_appendrel_attrs_mutator(), adjust_rowcompare_for_index(), adjustJoinTreeList(), analyzeCTETargetList(), ApplyRetrieveRule(), assign_param_for_placeholdervar(), assign_param_for_var(), ATAddCheckConstraint(), ATExecAddColumn(), ATPrepCmd(), BeginCopy(), build_implied_join_equality(), build_minmax_path(), build_relation_tlist(), BuildCachedPlan(), buildScalarFunctionAlias(), CompleteCachedPlan(), convert_EXISTS_sublink_to_join(), convert_testexpr_mutator(), ConvertTriggerToFK(), CopyAndAddInvertedQual(), CopyCachedPlan(), create_scan_plan(), create_unique_path(), CreateCachedPlan(), CreateTrigger(), DefineView(), eval_const_expressions_mutator(), EvaluateParams(), ExecCreateTableAs(), expand_inherited_rtentry(), ExpandIndirectionStar(), ExpandRowReference(), expandRTE(), ExplainOneUtility(), ExplainQuery(), expression_tree_mutator(), extract_lateral_references(), FetchPreparedStatementTargetList(), find_placeholder_info(), fireRules(), fix_indexqual_operand(), fix_scan_expr_mutator(), flatten_join_alias_vars_mutator(), flatten_simple_union_all(), generate_setop_grouplist(), get_eclass_for_sort_expr(), grouping_planner(), index_register(), inheritance_planner(), inline_function(), inline_set_returning_function(), intorel_startup(), make_subplan(), PerformCursorOpen(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), prepare_sort_from_pathkeys(), PrepareQuery(), process_implied_equality(), process_subquery_nestloop_params(), pull_up_simple_subquery(), pull_up_simple_union_all(), pullup_replace_vars_callback(), query_tree_mutator(), range_table_mutator(), refresh_matview_datafill(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), replace_outer_agg(), ReplaceVarsFromTargetList_callback(), RevalidateCachedQuery(), rewriteRuleAction(), rewriteTargetView(), set_plan_refs(), set_subquery_pathlist(), SPI_cursor_open_internal(), SS_process_ctes(), subquery_planner(), substitute_actual_srf_parameters_mutator(), transformAExprIn(), transformAlterTableStmt(), transformColumnRef(), transformCreateStmt(), transformCreateTableAsStmt(), transformDistinctClause(), transformDistinctOnClause(), transformExprRecurse(), transformGroupClause(), transformIndexStmt(), transformJoinUsingClause(), transformRuleStmt(), transformWindowDefinitions(), UpdateRangeTableOfViewParse(), and verify_dictoptions().
{ void *retval; if (from == NULL) return NULL; /* Guard against stack overflow due to overly complex expressions */ check_stack_depth(); switch (nodeTag(from)) { /* * PLAN NODES */ case T_PlannedStmt: retval = _copyPlannedStmt(from); break; case T_Plan: retval = _copyPlan(from); break; case T_Result: retval = _copyResult(from); break; case T_ModifyTable: retval = _copyModifyTable(from); break; case T_Append: retval = _copyAppend(from); break; case T_MergeAppend: retval = _copyMergeAppend(from); break; case T_RecursiveUnion: retval = _copyRecursiveUnion(from); break; case T_BitmapAnd: retval = _copyBitmapAnd(from); break; case T_BitmapOr: retval = _copyBitmapOr(from); break; case T_Scan: retval = _copyScan(from); break; case T_SeqScan: retval = _copySeqScan(from); break; case T_IndexScan: retval = _copyIndexScan(from); break; case T_IndexOnlyScan: retval = _copyIndexOnlyScan(from); break; case T_BitmapIndexScan: retval = _copyBitmapIndexScan(from); break; case T_BitmapHeapScan: retval = _copyBitmapHeapScan(from); break; case T_TidScan: retval = _copyTidScan(from); break; case T_SubqueryScan: retval = _copySubqueryScan(from); break; case T_FunctionScan: retval = _copyFunctionScan(from); break; case T_ValuesScan: retval = _copyValuesScan(from); break; case T_CteScan: retval = _copyCteScan(from); break; case T_WorkTableScan: retval = _copyWorkTableScan(from); break; case T_ForeignScan: retval = _copyForeignScan(from); break; case T_Join: retval = _copyJoin(from); break; case T_NestLoop: retval = _copyNestLoop(from); break; case T_MergeJoin: retval = _copyMergeJoin(from); break; case T_HashJoin: retval = _copyHashJoin(from); break; case T_Material: retval = _copyMaterial(from); break; case T_Sort: retval = _copySort(from); break; case T_Group: retval = _copyGroup(from); break; case T_Agg: retval = _copyAgg(from); break; case T_WindowAgg: retval = _copyWindowAgg(from); break; case T_Unique: retval = _copyUnique(from); break; case T_Hash: retval = _copyHash(from); break; case T_SetOp: retval = _copySetOp(from); break; case T_LockRows: retval = _copyLockRows(from); break; case T_Limit: retval = _copyLimit(from); break; case T_NestLoopParam: retval = _copyNestLoopParam(from); break; case T_PlanRowMark: retval = _copyPlanRowMark(from); break; case T_PlanInvalItem: retval = _copyPlanInvalItem(from); break; /* * PRIMITIVE NODES */ case T_Alias: retval = _copyAlias(from); break; case T_RangeVar: retval = _copyRangeVar(from); break; case T_IntoClause: retval = _copyIntoClause(from); break; case T_Var: retval = _copyVar(from); break; case T_Const: retval = _copyConst(from); break; case T_Param: retval = _copyParam(from); break; case T_Aggref: retval = _copyAggref(from); break; case T_WindowFunc: retval = _copyWindowFunc(from); break; case T_ArrayRef: retval = _copyArrayRef(from); break; case T_FuncExpr: retval = _copyFuncExpr(from); break; case T_NamedArgExpr: retval = _copyNamedArgExpr(from); break; case T_OpExpr: retval = _copyOpExpr(from); break; case T_DistinctExpr: retval = _copyDistinctExpr(from); break; case T_NullIfExpr: retval = _copyNullIfExpr(from); break; case T_ScalarArrayOpExpr: retval = _copyScalarArrayOpExpr(from); break; case T_BoolExpr: retval = _copyBoolExpr(from); break; case T_SubLink: retval = _copySubLink(from); break; case T_SubPlan: retval = _copySubPlan(from); break; case T_AlternativeSubPlan: retval = _copyAlternativeSubPlan(from); break; case T_FieldSelect: retval = _copyFieldSelect(from); break; case T_FieldStore: retval = _copyFieldStore(from); break; case T_RelabelType: retval = _copyRelabelType(from); break; case T_CoerceViaIO: retval = _copyCoerceViaIO(from); break; case T_ArrayCoerceExpr: retval = _copyArrayCoerceExpr(from); break; case T_ConvertRowtypeExpr: retval = _copyConvertRowtypeExpr(from); break; case T_CollateExpr: retval = _copyCollateExpr(from); break; case T_CaseExpr: retval = _copyCaseExpr(from); break; case T_CaseWhen: retval = _copyCaseWhen(from); break; case T_CaseTestExpr: retval = _copyCaseTestExpr(from); break; case T_ArrayExpr: retval = _copyArrayExpr(from); break; case T_RowExpr: retval = _copyRowExpr(from); break; case T_RowCompareExpr: retval = _copyRowCompareExpr(from); break; case T_CoalesceExpr: retval = _copyCoalesceExpr(from); break; case T_MinMaxExpr: retval = _copyMinMaxExpr(from); break; case T_XmlExpr: retval = _copyXmlExpr(from); break; case T_NullTest: retval = _copyNullTest(from); break; case T_BooleanTest: retval = _copyBooleanTest(from); break; case T_CoerceToDomain: retval = _copyCoerceToDomain(from); break; case T_CoerceToDomainValue: retval = _copyCoerceToDomainValue(from); break; case T_SetToDefault: retval = _copySetToDefault(from); break; case T_CurrentOfExpr: retval = _copyCurrentOfExpr(from); break; case T_TargetEntry: retval = _copyTargetEntry(from); break; case T_RangeTblRef: retval = _copyRangeTblRef(from); break; case T_JoinExpr: retval = _copyJoinExpr(from); break; case T_FromExpr: retval = _copyFromExpr(from); break; /* * RELATION NODES */ case T_PathKey: retval = _copyPathKey(from); break; case T_RestrictInfo: retval = _copyRestrictInfo(from); break; case T_PlaceHolderVar: retval = _copyPlaceHolderVar(from); break; case T_SpecialJoinInfo: retval = _copySpecialJoinInfo(from); break; case T_LateralJoinInfo: retval = _copyLateralJoinInfo(from); break; case T_AppendRelInfo: retval = _copyAppendRelInfo(from); break; case T_PlaceHolderInfo: retval = _copyPlaceHolderInfo(from); break; /* * VALUE NODES */ case T_Integer: case T_Float: case T_String: case T_BitString: case T_Null: retval = _copyValue(from); break; /* * LIST NODES */ case T_List: retval = _copyList(from); break; /* * Lists of integers and OIDs don't need to be deep-copied, so we * perform a shallow copy via list_copy() */ case T_IntList: case T_OidList: retval = list_copy(from); break; /* * PARSE NODES */ case T_Query: retval = _copyQuery(from); break; case T_InsertStmt: retval = _copyInsertStmt(from); break; case T_DeleteStmt: retval = _copyDeleteStmt(from); break; case T_UpdateStmt: retval = _copyUpdateStmt(from); break; case T_SelectStmt: retval = _copySelectStmt(from); break; case T_SetOperationStmt: retval = _copySetOperationStmt(from); break; case T_AlterTableStmt: retval = _copyAlterTableStmt(from); break; case T_AlterTableCmd: retval = _copyAlterTableCmd(from); break; case T_AlterDomainStmt: retval = _copyAlterDomainStmt(from); break; case T_GrantStmt: retval = _copyGrantStmt(from); break; case T_GrantRoleStmt: retval = _copyGrantRoleStmt(from); break; case T_AlterDefaultPrivilegesStmt: retval = _copyAlterDefaultPrivilegesStmt(from); break; case T_DeclareCursorStmt: retval = _copyDeclareCursorStmt(from); break; case T_ClosePortalStmt: retval = _copyClosePortalStmt(from); break; case T_ClusterStmt: retval = _copyClusterStmt(from); break; case T_CopyStmt: retval = _copyCopyStmt(from); break; case T_CreateStmt: retval = _copyCreateStmt(from); break; case T_TableLikeClause: retval = _copyTableLikeClause(from); break; case T_DefineStmt: retval = _copyDefineStmt(from); break; case T_DropStmt: retval = _copyDropStmt(from); break; case T_TruncateStmt: retval = _copyTruncateStmt(from); break; case T_CommentStmt: retval = _copyCommentStmt(from); break; case T_SecLabelStmt: retval = _copySecLabelStmt(from); break; case T_FetchStmt: retval = _copyFetchStmt(from); break; case T_IndexStmt: retval = _copyIndexStmt(from); break; case T_CreateFunctionStmt: retval = _copyCreateFunctionStmt(from); break; case T_FunctionParameter: retval = _copyFunctionParameter(from); break; case T_AlterFunctionStmt: retval = _copyAlterFunctionStmt(from); break; case T_DoStmt: retval = _copyDoStmt(from); break; case T_RenameStmt: retval = _copyRenameStmt(from); break; case T_AlterObjectSchemaStmt: retval = _copyAlterObjectSchemaStmt(from); break; case T_AlterOwnerStmt: retval = _copyAlterOwnerStmt(from); break; case T_RuleStmt: retval = _copyRuleStmt(from); break; case T_NotifyStmt: retval = _copyNotifyStmt(from); break; case T_ListenStmt: retval = _copyListenStmt(from); break; case T_UnlistenStmt: retval = _copyUnlistenStmt(from); break; case T_TransactionStmt: retval = _copyTransactionStmt(from); break; case T_CompositeTypeStmt: retval = _copyCompositeTypeStmt(from); break; case T_CreateEnumStmt: retval = _copyCreateEnumStmt(from); break; case T_CreateRangeStmt: retval = _copyCreateRangeStmt(from); break; case T_AlterEnumStmt: retval = _copyAlterEnumStmt(from); break; case T_ViewStmt: retval = _copyViewStmt(from); break; case T_LoadStmt: retval = _copyLoadStmt(from); break; case T_CreateDomainStmt: retval = _copyCreateDomainStmt(from); break; case T_CreateOpClassStmt: retval = _copyCreateOpClassStmt(from); break; case T_CreateOpClassItem: retval = _copyCreateOpClassItem(from); break; case T_CreateOpFamilyStmt: retval = _copyCreateOpFamilyStmt(from); break; case T_AlterOpFamilyStmt: retval = _copyAlterOpFamilyStmt(from); break; case T_CreatedbStmt: retval = _copyCreatedbStmt(from); break; case T_AlterDatabaseStmt: retval = _copyAlterDatabaseStmt(from); break; case T_AlterDatabaseSetStmt: retval = _copyAlterDatabaseSetStmt(from); break; case T_DropdbStmt: retval = _copyDropdbStmt(from); break; case T_VacuumStmt: retval = _copyVacuumStmt(from); break; case T_ExplainStmt: retval = _copyExplainStmt(from); break; case T_CreateTableAsStmt: retval = _copyCreateTableAsStmt(from); break; case T_RefreshMatViewStmt: retval = _copyRefreshMatViewStmt(from); break; case T_CreateSeqStmt: retval = _copyCreateSeqStmt(from); break; case T_AlterSeqStmt: retval = _copyAlterSeqStmt(from); break; case T_VariableSetStmt: retval = _copyVariableSetStmt(from); break; case T_VariableShowStmt: retval = _copyVariableShowStmt(from); break; case T_DiscardStmt: retval = _copyDiscardStmt(from); break; case T_CreateTableSpaceStmt: retval = _copyCreateTableSpaceStmt(from); break; case T_DropTableSpaceStmt: retval = _copyDropTableSpaceStmt(from); break; case T_AlterTableSpaceOptionsStmt: retval = _copyAlterTableSpaceOptionsStmt(from); break; case T_CreateExtensionStmt: retval = _copyCreateExtensionStmt(from); break; case T_AlterExtensionStmt: retval = _copyAlterExtensionStmt(from); break; case T_AlterExtensionContentsStmt: retval = _copyAlterExtensionContentsStmt(from); break; case T_CreateFdwStmt: retval = _copyCreateFdwStmt(from); break; case T_AlterFdwStmt: retval = _copyAlterFdwStmt(from); break; case T_CreateForeignServerStmt: retval = _copyCreateForeignServerStmt(from); break; case T_AlterForeignServerStmt: retval = _copyAlterForeignServerStmt(from); break; case T_CreateUserMappingStmt: retval = _copyCreateUserMappingStmt(from); break; case T_AlterUserMappingStmt: retval = _copyAlterUserMappingStmt(from); break; case T_DropUserMappingStmt: retval = _copyDropUserMappingStmt(from); break; case T_CreateForeignTableStmt: retval = _copyCreateForeignTableStmt(from); break; case T_CreateTrigStmt: retval = _copyCreateTrigStmt(from); break; case T_CreateEventTrigStmt: retval = _copyCreateEventTrigStmt(from); break; case T_AlterEventTrigStmt: retval = _copyAlterEventTrigStmt(from); break; case T_CreatePLangStmt: retval = _copyCreatePLangStmt(from); break; case T_CreateRoleStmt: retval = _copyCreateRoleStmt(from); break; case T_AlterRoleStmt: retval = _copyAlterRoleStmt(from); break; case T_AlterRoleSetStmt: retval = _copyAlterRoleSetStmt(from); break; case T_DropRoleStmt: retval = _copyDropRoleStmt(from); break; case T_LockStmt: retval = _copyLockStmt(from); break; case T_ConstraintsSetStmt: retval = _copyConstraintsSetStmt(from); break; case T_ReindexStmt: retval = _copyReindexStmt(from); break; case T_CheckPointStmt: retval = (void *) makeNode(CheckPointStmt); break; case T_CreateSchemaStmt: retval = _copyCreateSchemaStmt(from); break; case T_CreateConversionStmt: retval = _copyCreateConversionStmt(from); break; case T_CreateCastStmt: retval = _copyCreateCastStmt(from); break; case T_PrepareStmt: retval = _copyPrepareStmt(from); break; case T_ExecuteStmt: retval = _copyExecuteStmt(from); break; case T_DeallocateStmt: retval = _copyDeallocateStmt(from); break; case T_DropOwnedStmt: retval = _copyDropOwnedStmt(from); break; case T_ReassignOwnedStmt: retval = _copyReassignOwnedStmt(from); break; case T_AlterTSDictionaryStmt: retval = _copyAlterTSDictionaryStmt(from); break; case T_AlterTSConfigurationStmt: retval = _copyAlterTSConfigurationStmt(from); break; case T_A_Expr: retval = _copyAExpr(from); break; case T_ColumnRef: retval = _copyColumnRef(from); break; case T_ParamRef: retval = _copyParamRef(from); break; case T_A_Const: retval = _copyAConst(from); break; case T_FuncCall: retval = _copyFuncCall(from); break; case T_A_Star: retval = _copyAStar(from); break; case T_A_Indices: retval = _copyAIndices(from); break; case T_A_Indirection: retval = _copyA_Indirection(from); break; case T_A_ArrayExpr: retval = _copyA_ArrayExpr(from); break; case T_ResTarget: retval = _copyResTarget(from); break; case T_TypeCast: retval = _copyTypeCast(from); break; case T_CollateClause: retval = _copyCollateClause(from); break; case T_SortBy: retval = _copySortBy(from); break; case T_WindowDef: retval = _copyWindowDef(from); break; case T_RangeSubselect: retval = _copyRangeSubselect(from); break; case T_RangeFunction: retval = _copyRangeFunction(from); break; case T_TypeName: retval = _copyTypeName(from); break; case T_IndexElem: retval = _copyIndexElem(from); break; case T_ColumnDef: retval = _copyColumnDef(from); break; case T_Constraint: retval = _copyConstraint(from); break; case T_DefElem: retval = _copyDefElem(from); break; case T_LockingClause: retval = _copyLockingClause(from); break; case T_RangeTblEntry: retval = _copyRangeTblEntry(from); break; case T_SortGroupClause: retval = _copySortGroupClause(from); break; case T_WindowClause: retval = _copyWindowClause(from); break; case T_RowMarkClause: retval = _copyRowMarkClause(from); break; case T_WithClause: retval = _copyWithClause(from); break; case T_CommonTableExpr: retval = _copyCommonTableExpr(from); break; case T_PrivGrantee: retval = _copyPrivGrantee(from); break; case T_FuncWithArgs: retval = _copyFuncWithArgs(from); break; case T_AccessPriv: retval = _copyAccessPriv(from); break; case T_XmlSerialize: retval = _copyXmlSerialize(from); break; default: elog(ERROR, "unrecognized node type: %d", (int) nodeTag(from)); retval = 0; /* keep compiler quiet */ break; } return retval; }
bool equal | ( | const void * | a, | |
const void * | b | |||
) |
Definition at line 2423 of file equalfuncs.c.
References _equalA_ArrayExpr(), _equalA_Indirection(), _equalAccessPriv(), _equalAConst(), _equalAExpr(), _equalAggref(), _equalAIndices(), _equalAlias(), _equalAlterDatabaseSetStmt(), _equalAlterDatabaseStmt(), _equalAlterDefaultPrivilegesStmt(), _equalAlterDomainStmt(), _equalAlterEnumStmt(), _equalAlterEventTrigStmt(), _equalAlterExtensionContentsStmt(), _equalAlterExtensionStmt(), _equalAlterFdwStmt(), _equalAlterForeignServerStmt(), _equalAlterFunctionStmt(), _equalAlternativeSubPlan(), _equalAlterObjectSchemaStmt(), _equalAlterOpFamilyStmt(), _equalAlterOwnerStmt(), _equalAlterRoleSetStmt(), _equalAlterRoleStmt(), _equalAlterSeqStmt(), _equalAlterTableCmd(), _equalAlterTableSpaceOptionsStmt(), _equalAlterTableStmt(), _equalAlterTSConfigurationStmt(), _equalAlterTSDictionaryStmt(), _equalAlterUserMappingStmt(), _equalAppendRelInfo(), _equalArrayCoerceExpr(), _equalArrayExpr(), _equalArrayRef(), _equalAStar(), _equalBooleanTest(), _equalBoolExpr(), _equalCaseExpr(), _equalCaseTestExpr(), _equalCaseWhen(), _equalClosePortalStmt(), _equalClusterStmt(), _equalCoalesceExpr(), _equalCoerceToDomain(), _equalCoerceToDomainValue(), _equalCoerceViaIO(), _equalCollateClause(), _equalCollateExpr(), _equalColumnDef(), _equalColumnRef(), _equalCommentStmt(), _equalCommonTableExpr(), _equalCompositeTypeStmt(), _equalConst(), _equalConstraint(), _equalConstraintsSetStmt(), _equalConvertRowtypeExpr(), _equalCopyStmt(), _equalCreateCastStmt(), _equalCreateConversionStmt(), _equalCreatedbStmt(), _equalCreateDomainStmt(), _equalCreateEnumStmt(), _equalCreateEventTrigStmt(), _equalCreateExtensionStmt(), _equalCreateFdwStmt(), _equalCreateForeignServerStmt(), _equalCreateForeignTableStmt(), _equalCreateFunctionStmt(), _equalCreateOpClassItem(), _equalCreateOpClassStmt(), _equalCreateOpFamilyStmt(), _equalCreatePLangStmt(), _equalCreateRangeStmt(), _equalCreateRoleStmt(), _equalCreateSchemaStmt(), _equalCreateSeqStmt(), _equalCreateStmt(), _equalCreateTableAsStmt(), _equalCreateTableSpaceStmt(), _equalCreateTrigStmt(), _equalCreateUserMappingStmt(), _equalCurrentOfExpr(), _equalDeallocateStmt(), _equalDeclareCursorStmt(), _equalDefElem(), _equalDefineStmt(), _equalDeleteStmt(), _equalDiscardStmt(), _equalDistinctExpr(), _equalDoStmt(), _equalDropdbStmt(), _equalDropOwnedStmt(), _equalDropRoleStmt(), _equalDropStmt(), _equalDropTableSpaceStmt(), _equalDropUserMappingStmt(), _equalExecuteStmt(), _equalExplainStmt(), _equalFetchStmt(), _equalFieldSelect(), _equalFieldStore(), _equalFromExpr(), _equalFuncCall(), _equalFuncExpr(), _equalFunctionParameter(), _equalFuncWithArgs(), _equalGrantRoleStmt(), _equalGrantStmt(), _equalIndexElem(), _equalIndexStmt(), _equalInsertStmt(), _equalIntoClause(), _equalJoinExpr(), _equalLateralJoinInfo(), _equalList(), _equalListenStmt(), _equalLoadStmt(), _equalLockingClause(), _equalLockStmt(), _equalMinMaxExpr(), _equalNamedArgExpr(), _equalNotifyStmt(), _equalNullIfExpr(), _equalNullTest(), _equalOpExpr(), _equalParam(), _equalParamRef(), _equalPathKey(), _equalPlaceHolderInfo(), _equalPlaceHolderVar(), _equalPrepareStmt(), _equalPrivGrantee(), _equalQuery(), _equalRangeFunction(), _equalRangeSubselect(), _equalRangeTblEntry(), _equalRangeTblRef(), _equalRangeVar(), _equalReassignOwnedStmt(), _equalRefreshMatViewStmt(), _equalReindexStmt(), _equalRelabelType(), _equalRenameStmt(), _equalResTarget(), _equalRestrictInfo(), _equalRowCompareExpr(), _equalRowExpr(), _equalRowMarkClause(), _equalRuleStmt(), _equalScalarArrayOpExpr(), _equalSecLabelStmt(), _equalSelectStmt(), _equalSetOperationStmt(), _equalSetToDefault(), _equalSortBy(), _equalSortGroupClause(), _equalSpecialJoinInfo(), _equalSubLink(), _equalSubPlan(), _equalTableLikeClause(), _equalTargetEntry(), _equalTransactionStmt(), _equalTruncateStmt(), _equalTypeCast(), _equalTypeName(), _equalUnlistenStmt(), _equalUpdateStmt(), _equalVacuumStmt(), _equalValue(), _equalVar(), _equalVariableSetStmt(), _equalVariableShowStmt(), _equalViewStmt(), _equalWindowClause(), _equalWindowDef(), _equalWindowFunc(), _equalWithClause(), _equalXmlExpr(), _equalXmlSerialize(), elog, ERROR, nodeTag, NULL, T_A_ArrayExpr, T_A_Const, T_A_Expr, T_A_Indices, T_A_Indirection, T_A_Star, T_AccessPriv, T_Aggref, T_Alias, T_AlterDatabaseSetStmt, T_AlterDatabaseStmt, T_AlterDefaultPrivilegesStmt, T_AlterDomainStmt, T_AlterEnumStmt, T_AlterEventTrigStmt, T_AlterExtensionContentsStmt, T_AlterExtensionStmt, T_AlterFdwStmt, T_AlterForeignServerStmt, T_AlterFunctionStmt, T_AlternativeSubPlan, T_AlterObjectSchemaStmt, T_AlterOpFamilyStmt, T_AlterOwnerStmt, T_AlterRoleSetStmt, T_AlterRoleStmt, T_AlterSeqStmt, T_AlterTableCmd, T_AlterTableSpaceOptionsStmt, T_AlterTableStmt, T_AlterTSConfigurationStmt, T_AlterTSDictionaryStmt, T_AlterUserMappingStmt, T_AppendRelInfo, T_ArrayCoerceExpr, T_ArrayExpr, T_ArrayRef, T_BitString, T_BooleanTest, T_BoolExpr, T_CaseExpr, T_CaseTestExpr, T_CaseWhen, T_CheckPointStmt, T_ClosePortalStmt, T_ClusterStmt, T_CoalesceExpr, T_CoerceToDomain, T_CoerceToDomainValue, T_CoerceViaIO, T_CollateClause, T_CollateExpr, T_ColumnDef, T_ColumnRef, T_CommentStmt, T_CommonTableExpr, T_CompositeTypeStmt, T_Const, T_Constraint, T_ConstraintsSetStmt, T_ConvertRowtypeExpr, T_CopyStmt, T_CreateCastStmt, T_CreateConversionStmt, T_CreatedbStmt, T_CreateDomainStmt, T_CreateEnumStmt, T_CreateEventTrigStmt, T_CreateExtensionStmt, T_CreateFdwStmt, T_CreateForeignServerStmt, T_CreateForeignTableStmt, T_CreateFunctionStmt, T_CreateOpClassItem, T_CreateOpClassStmt, T_CreateOpFamilyStmt, T_CreatePLangStmt, T_CreateRangeStmt, T_CreateRoleStmt, T_CreateSchemaStmt, T_CreateSeqStmt, T_CreateStmt, T_CreateTableAsStmt, T_CreateTableSpaceStmt, T_CreateTrigStmt, T_CreateUserMappingStmt, T_CurrentOfExpr, T_DeallocateStmt, T_DeclareCursorStmt, T_DefElem, T_DefineStmt, T_DeleteStmt, T_DiscardStmt, T_DistinctExpr, T_DoStmt, T_DropdbStmt, T_DropOwnedStmt, T_DropRoleStmt, T_DropStmt, T_DropTableSpaceStmt, T_DropUserMappingStmt, T_ExecuteStmt, T_ExplainStmt, T_FetchStmt, T_FieldSelect, T_FieldStore, T_Float, T_FromExpr, T_FuncCall, T_FuncExpr, T_FunctionParameter, T_FuncWithArgs, T_GrantRoleStmt, T_GrantStmt, T_IndexElem, T_IndexStmt, T_InsertStmt, T_Integer, T_IntList, T_IntoClause, T_JoinExpr, T_LateralJoinInfo, T_List, T_ListenStmt, T_LoadStmt, T_LockingClause, T_LockStmt, T_MinMaxExpr, T_NamedArgExpr, T_NotifyStmt, T_Null, T_NullIfExpr, T_NullTest, T_OidList, T_OpExpr, T_Param, T_ParamRef, T_PathKey, T_PlaceHolderInfo, T_PlaceHolderVar, T_PrepareStmt, T_PrivGrantee, T_Query, T_RangeFunction, T_RangeSubselect, T_RangeTblEntry, T_RangeTblRef, T_RangeVar, T_ReassignOwnedStmt, T_RefreshMatViewStmt, T_ReindexStmt, T_RelabelType, T_RenameStmt, T_ResTarget, T_RestrictInfo, T_RowCompareExpr, T_RowExpr, T_RowMarkClause, T_RuleStmt, T_ScalarArrayOpExpr, T_SecLabelStmt, T_SelectStmt, T_SetOperationStmt, T_SetToDefault, T_SortBy, T_SortGroupClause, T_SpecialJoinInfo, T_String, T_SubLink, T_SubPlan, T_TableLikeClause, T_TargetEntry, T_TransactionStmt, T_TruncateStmt, T_TypeCast, T_TypeName, T_UnlistenStmt, T_UpdateStmt, T_VacuumStmt, T_Var, T_VariableSetStmt, T_VariableShowStmt, T_ViewStmt, T_WindowClause, T_WindowDef, T_WindowFunc, T_WithClause, T_XmlExpr, and T_XmlSerialize.
Referenced by _equalAConst(), _equalList(), add_unique_group_var(), addRangeClause(), btree_predicate_proof(), check_ungrouped_columns_walker(), convert_subquery_pathkeys(), ConvertTriggerToFK(), cube_out(), deparseParam(), deparseVar(), ec_member_matches_foreign(), equalRuleLocks(), examine_variable(), ExecInitAgg(), ExecInitWindowAgg(), exprs_known_equal(), find_ec_member_for_tle(), find_list_position(), find_minmax_aggs_walker(), findTargetlistEntrySQL92(), findTargetlistEntrySQL99(), fix_indexqual_operand(), get_eclass_for_sort_expr(), list_delete(), list_member(), list_member_strip(), match_index_to_operand(), MergeAttributes(), MergeCheckConstraint(), MergeWithExistingConstraint(), OverrideSearchPathMatchesCurrent(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), predicate_implied_by_simple_clause(), predicate_refuted_by_recurse(), predicate_refuted_by_simple_clause(), preprocess_groupclause(), process_duplicate_ors(), process_equivalence(), process_matched_tle(), process_subquery_nestloop_params(), reconsider_full_join_clause(), reconsider_outer_join_clause(), recurse_union_children(), replace_aggs_with_params_mutator(), replace_nestloop_params_mutator(), search_indexed_tlist_for_sortgroupref(), select_active_windows(), tlist_member(), tlist_member_ignore_relabel(), tlist_same_exprs(), transformIndexConstraints(), transformWindowFuncCall(), and trivial_subqueryscan().
{ bool retval; if (a == b) return true; /* * note that a!=b, so only one of them can be NULL */ if (a == NULL || b == NULL) return false; /* * are they the same type of nodes? */ if (nodeTag(a) != nodeTag(b)) return false; switch (nodeTag(a)) { /* * PRIMITIVE NODES */ case T_Alias: retval = _equalAlias(a, b); break; case T_RangeVar: retval = _equalRangeVar(a, b); break; case T_IntoClause: retval = _equalIntoClause(a, b); break; case T_Var: retval = _equalVar(a, b); break; case T_Const: retval = _equalConst(a, b); break; case T_Param: retval = _equalParam(a, b); break; case T_Aggref: retval = _equalAggref(a, b); break; case T_WindowFunc: retval = _equalWindowFunc(a, b); break; case T_ArrayRef: retval = _equalArrayRef(a, b); break; case T_FuncExpr: retval = _equalFuncExpr(a, b); break; case T_NamedArgExpr: retval = _equalNamedArgExpr(a, b); break; case T_OpExpr: retval = _equalOpExpr(a, b); break; case T_DistinctExpr: retval = _equalDistinctExpr(a, b); break; case T_NullIfExpr: retval = _equalNullIfExpr(a, b); break; case T_ScalarArrayOpExpr: retval = _equalScalarArrayOpExpr(a, b); break; case T_BoolExpr: retval = _equalBoolExpr(a, b); break; case T_SubLink: retval = _equalSubLink(a, b); break; case T_SubPlan: retval = _equalSubPlan(a, b); break; case T_AlternativeSubPlan: retval = _equalAlternativeSubPlan(a, b); break; case T_FieldSelect: retval = _equalFieldSelect(a, b); break; case T_FieldStore: retval = _equalFieldStore(a, b); break; case T_RelabelType: retval = _equalRelabelType(a, b); break; case T_CoerceViaIO: retval = _equalCoerceViaIO(a, b); break; case T_ArrayCoerceExpr: retval = _equalArrayCoerceExpr(a, b); break; case T_ConvertRowtypeExpr: retval = _equalConvertRowtypeExpr(a, b); break; case T_CollateExpr: retval = _equalCollateExpr(a, b); break; case T_CaseExpr: retval = _equalCaseExpr(a, b); break; case T_CaseWhen: retval = _equalCaseWhen(a, b); break; case T_CaseTestExpr: retval = _equalCaseTestExpr(a, b); break; case T_ArrayExpr: retval = _equalArrayExpr(a, b); break; case T_RowExpr: retval = _equalRowExpr(a, b); break; case T_RowCompareExpr: retval = _equalRowCompareExpr(a, b); break; case T_CoalesceExpr: retval = _equalCoalesceExpr(a, b); break; case T_MinMaxExpr: retval = _equalMinMaxExpr(a, b); break; case T_XmlExpr: retval = _equalXmlExpr(a, b); break; case T_NullTest: retval = _equalNullTest(a, b); break; case T_BooleanTest: retval = _equalBooleanTest(a, b); break; case T_CoerceToDomain: retval = _equalCoerceToDomain(a, b); break; case T_CoerceToDomainValue: retval = _equalCoerceToDomainValue(a, b); break; case T_SetToDefault: retval = _equalSetToDefault(a, b); break; case T_CurrentOfExpr: retval = _equalCurrentOfExpr(a, b); break; case T_TargetEntry: retval = _equalTargetEntry(a, b); break; case T_RangeTblRef: retval = _equalRangeTblRef(a, b); break; case T_FromExpr: retval = _equalFromExpr(a, b); break; case T_JoinExpr: retval = _equalJoinExpr(a, b); break; /* * RELATION NODES */ case T_PathKey: retval = _equalPathKey(a, b); break; case T_RestrictInfo: retval = _equalRestrictInfo(a, b); break; case T_PlaceHolderVar: retval = _equalPlaceHolderVar(a, b); break; case T_SpecialJoinInfo: retval = _equalSpecialJoinInfo(a, b); break; case T_LateralJoinInfo: retval = _equalLateralJoinInfo(a, b); break; case T_AppendRelInfo: retval = _equalAppendRelInfo(a, b); break; case T_PlaceHolderInfo: retval = _equalPlaceHolderInfo(a, b); break; case T_List: case T_IntList: case T_OidList: retval = _equalList(a, b); break; case T_Integer: case T_Float: case T_String: case T_BitString: case T_Null: retval = _equalValue(a, b); break; /* * PARSE NODES */ case T_Query: retval = _equalQuery(a, b); break; case T_InsertStmt: retval = _equalInsertStmt(a, b); break; case T_DeleteStmt: retval = _equalDeleteStmt(a, b); break; case T_UpdateStmt: retval = _equalUpdateStmt(a, b); break; case T_SelectStmt: retval = _equalSelectStmt(a, b); break; case T_SetOperationStmt: retval = _equalSetOperationStmt(a, b); break; case T_AlterTableStmt: retval = _equalAlterTableStmt(a, b); break; case T_AlterTableCmd: retval = _equalAlterTableCmd(a, b); break; case T_AlterDomainStmt: retval = _equalAlterDomainStmt(a, b); break; case T_GrantStmt: retval = _equalGrantStmt(a, b); break; case T_GrantRoleStmt: retval = _equalGrantRoleStmt(a, b); break; case T_AlterDefaultPrivilegesStmt: retval = _equalAlterDefaultPrivilegesStmt(a, b); break; case T_DeclareCursorStmt: retval = _equalDeclareCursorStmt(a, b); break; case T_ClosePortalStmt: retval = _equalClosePortalStmt(a, b); break; case T_ClusterStmt: retval = _equalClusterStmt(a, b); break; case T_CopyStmt: retval = _equalCopyStmt(a, b); break; case T_CreateStmt: retval = _equalCreateStmt(a, b); break; case T_TableLikeClause: retval = _equalTableLikeClause(a, b); break; case T_DefineStmt: retval = _equalDefineStmt(a, b); break; case T_DropStmt: retval = _equalDropStmt(a, b); break; case T_TruncateStmt: retval = _equalTruncateStmt(a, b); break; case T_CommentStmt: retval = _equalCommentStmt(a, b); break; case T_SecLabelStmt: retval = _equalSecLabelStmt(a, b); break; case T_FetchStmt: retval = _equalFetchStmt(a, b); break; case T_IndexStmt: retval = _equalIndexStmt(a, b); break; case T_CreateFunctionStmt: retval = _equalCreateFunctionStmt(a, b); break; case T_FunctionParameter: retval = _equalFunctionParameter(a, b); break; case T_AlterFunctionStmt: retval = _equalAlterFunctionStmt(a, b); break; case T_DoStmt: retval = _equalDoStmt(a, b); break; case T_RenameStmt: retval = _equalRenameStmt(a, b); break; case T_AlterObjectSchemaStmt: retval = _equalAlterObjectSchemaStmt(a, b); break; case T_AlterOwnerStmt: retval = _equalAlterOwnerStmt(a, b); break; case T_RuleStmt: retval = _equalRuleStmt(a, b); break; case T_NotifyStmt: retval = _equalNotifyStmt(a, b); break; case T_ListenStmt: retval = _equalListenStmt(a, b); break; case T_UnlistenStmt: retval = _equalUnlistenStmt(a, b); break; case T_TransactionStmt: retval = _equalTransactionStmt(a, b); break; case T_CompositeTypeStmt: retval = _equalCompositeTypeStmt(a, b); break; case T_CreateEnumStmt: retval = _equalCreateEnumStmt(a, b); break; case T_CreateRangeStmt: retval = _equalCreateRangeStmt(a, b); break; case T_AlterEnumStmt: retval = _equalAlterEnumStmt(a, b); break; case T_ViewStmt: retval = _equalViewStmt(a, b); break; case T_LoadStmt: retval = _equalLoadStmt(a, b); break; case T_CreateDomainStmt: retval = _equalCreateDomainStmt(a, b); break; case T_CreateOpClassStmt: retval = _equalCreateOpClassStmt(a, b); break; case T_CreateOpClassItem: retval = _equalCreateOpClassItem(a, b); break; case T_CreateOpFamilyStmt: retval = _equalCreateOpFamilyStmt(a, b); break; case T_AlterOpFamilyStmt: retval = _equalAlterOpFamilyStmt(a, b); break; case T_CreatedbStmt: retval = _equalCreatedbStmt(a, b); break; case T_AlterDatabaseStmt: retval = _equalAlterDatabaseStmt(a, b); break; case T_AlterDatabaseSetStmt: retval = _equalAlterDatabaseSetStmt(a, b); break; case T_DropdbStmt: retval = _equalDropdbStmt(a, b); break; case T_VacuumStmt: retval = _equalVacuumStmt(a, b); break; case T_ExplainStmt: retval = _equalExplainStmt(a, b); break; case T_CreateTableAsStmt: retval = _equalCreateTableAsStmt(a, b); break; case T_RefreshMatViewStmt: retval = _equalRefreshMatViewStmt(a, b); break; case T_CreateSeqStmt: retval = _equalCreateSeqStmt(a, b); break; case T_AlterSeqStmt: retval = _equalAlterSeqStmt(a, b); break; case T_VariableSetStmt: retval = _equalVariableSetStmt(a, b); break; case T_VariableShowStmt: retval = _equalVariableShowStmt(a, b); break; case T_DiscardStmt: retval = _equalDiscardStmt(a, b); break; case T_CreateTableSpaceStmt: retval = _equalCreateTableSpaceStmt(a, b); break; case T_DropTableSpaceStmt: retval = _equalDropTableSpaceStmt(a, b); break; case T_AlterTableSpaceOptionsStmt: retval = _equalAlterTableSpaceOptionsStmt(a, b); break; case T_CreateExtensionStmt: retval = _equalCreateExtensionStmt(a, b); break; case T_AlterExtensionStmt: retval = _equalAlterExtensionStmt(a, b); break; case T_AlterExtensionContentsStmt: retval = _equalAlterExtensionContentsStmt(a, b); break; case T_CreateFdwStmt: retval = _equalCreateFdwStmt(a, b); break; case T_AlterFdwStmt: retval = _equalAlterFdwStmt(a, b); break; case T_CreateForeignServerStmt: retval = _equalCreateForeignServerStmt(a, b); break; case T_AlterForeignServerStmt: retval = _equalAlterForeignServerStmt(a, b); break; case T_CreateUserMappingStmt: retval = _equalCreateUserMappingStmt(a, b); break; case T_AlterUserMappingStmt: retval = _equalAlterUserMappingStmt(a, b); break; case T_DropUserMappingStmt: retval = _equalDropUserMappingStmt(a, b); break; case T_CreateForeignTableStmt: retval = _equalCreateForeignTableStmt(a, b); break; case T_CreateTrigStmt: retval = _equalCreateTrigStmt(a, b); break; case T_CreateEventTrigStmt: retval = _equalCreateEventTrigStmt(a, b); break; case T_AlterEventTrigStmt: retval = _equalAlterEventTrigStmt(a, b); break; case T_CreatePLangStmt: retval = _equalCreatePLangStmt(a, b); break; case T_CreateRoleStmt: retval = _equalCreateRoleStmt(a, b); break; case T_AlterRoleStmt: retval = _equalAlterRoleStmt(a, b); break; case T_AlterRoleSetStmt: retval = _equalAlterRoleSetStmt(a, b); break; case T_DropRoleStmt: retval = _equalDropRoleStmt(a, b); break; case T_LockStmt: retval = _equalLockStmt(a, b); break; case T_ConstraintsSetStmt: retval = _equalConstraintsSetStmt(a, b); break; case T_ReindexStmt: retval = _equalReindexStmt(a, b); break; case T_CheckPointStmt: retval = true; break; case T_CreateSchemaStmt: retval = _equalCreateSchemaStmt(a, b); break; case T_CreateConversionStmt: retval = _equalCreateConversionStmt(a, b); break; case T_CreateCastStmt: retval = _equalCreateCastStmt(a, b); break; case T_PrepareStmt: retval = _equalPrepareStmt(a, b); break; case T_ExecuteStmt: retval = _equalExecuteStmt(a, b); break; case T_DeallocateStmt: retval = _equalDeallocateStmt(a, b); break; case T_DropOwnedStmt: retval = _equalDropOwnedStmt(a, b); break; case T_ReassignOwnedStmt: retval = _equalReassignOwnedStmt(a, b); break; case T_AlterTSDictionaryStmt: retval = _equalAlterTSDictionaryStmt(a, b); break; case T_AlterTSConfigurationStmt: retval = _equalAlterTSConfigurationStmt(a, b); break; case T_A_Expr: retval = _equalAExpr(a, b); break; case T_ColumnRef: retval = _equalColumnRef(a, b); break; case T_ParamRef: retval = _equalParamRef(a, b); break; case T_A_Const: retval = _equalAConst(a, b); break; case T_FuncCall: retval = _equalFuncCall(a, b); break; case T_A_Star: retval = _equalAStar(a, b); break; case T_A_Indices: retval = _equalAIndices(a, b); break; case T_A_Indirection: retval = _equalA_Indirection(a, b); break; case T_A_ArrayExpr: retval = _equalA_ArrayExpr(a, b); break; case T_ResTarget: retval = _equalResTarget(a, b); break; case T_TypeCast: retval = _equalTypeCast(a, b); break; case T_CollateClause: retval = _equalCollateClause(a, b); break; case T_SortBy: retval = _equalSortBy(a, b); break; case T_WindowDef: retval = _equalWindowDef(a, b); break; case T_RangeSubselect: retval = _equalRangeSubselect(a, b); break; case T_RangeFunction: retval = _equalRangeFunction(a, b); break; case T_TypeName: retval = _equalTypeName(a, b); break; case T_IndexElem: retval = _equalIndexElem(a, b); break; case T_ColumnDef: retval = _equalColumnDef(a, b); break; case T_Constraint: retval = _equalConstraint(a, b); break; case T_DefElem: retval = _equalDefElem(a, b); break; case T_LockingClause: retval = _equalLockingClause(a, b); break; case T_RangeTblEntry: retval = _equalRangeTblEntry(a, b); break; case T_SortGroupClause: retval = _equalSortGroupClause(a, b); break; case T_WindowClause: retval = _equalWindowClause(a, b); break; case T_RowMarkClause: retval = _equalRowMarkClause(a, b); break; case T_WithClause: retval = _equalWithClause(a, b); break; case T_CommonTableExpr: retval = _equalCommonTableExpr(a, b); break; case T_PrivGrantee: retval = _equalPrivGrantee(a, b); break; case T_FuncWithArgs: retval = _equalFuncWithArgs(a, b); break; case T_AccessPriv: retval = _equalAccessPriv(a, b); break; case T_XmlSerialize: retval = _equalXmlSerialize(a, b); break; default: elog(ERROR, "unrecognized node type: %d", (int) nodeTag(a)); retval = false; /* keep compiler quiet */ break; } return retval; }
char* nodeToString | ( | const void * | obj | ) |
Definition at line 3212 of file outfuncs.c.
References _outNode(), StringInfoData::data, and initStringInfo().
Referenced by AlterDomainDefault(), CreateTrigger(), DefineDomain(), domainAddConstraint(), elog_node_display(), InsertRule(), pprint(), print(), ProcedureCreate(), StoreAttrDefault(), StoreRelCheck(), transformTableLikeClause(), and UpdateIndexRelation().
{ StringInfoData str; /* see stringinfo.h for an explanation of this maneuver */ initStringInfo(&str); _outNode(&str, obj); return str.data; }
void* stringToNode | ( | char * | str | ) |
Definition at line 38 of file read.c.
References nodeRead(), NULL, and pg_strtok_ptr.
Referenced by AddRelationNewConstraints(), build_column_default(), ExecRelCheck(), fetch_function_defaults(), func_get_detail(), generateClonedIndexStmt(), get_relation_constraints(), get_typdefault(), GetDomainConstraints(), make_ruledef(), make_viewdef(), MergeAttributes(), MergeWithExistingConstraint(), pg_get_constraintdef_worker(), pg_get_expr_worker(), pg_get_indexdef_worker(), pg_get_triggerdef_worker(), print_function_arguments(), ProcedureCreate(), RelationBuildRuleLock(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), transformTableLikeClause(), TriggerEnabled(), TypeCreate(), validateCheckConstraint(), and validateDomainConstraint().
{ char *save_strtok; void *retval; /* * We save and restore the pre-existing state of pg_strtok. This makes the * world safe for re-entrant invocation of stringToNode, without incurring * a lot of notational overhead by having to pass the next-character * pointer around through all the readfuncs.c code. */ save_strtok = pg_strtok_ptr; pg_strtok_ptr = str; /* point pg_strtok at the string to read */ retval = nodeRead(NULL, 0); /* do the reading */ pg_strtok_ptr = save_strtok; return retval; }
PGDLLIMPORT Node* newNodeMacroHolder |