
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 |
1.7.1