PostgreSQL Source Code
git master
|
#include <parsenodes.h>
Public Member Functions | |
QuerySource querySource | pg_node_attr (query_jumble_ignore) |
uint64 queryId | pg_node_attr (equal_ignore, query_jumble_ignore, read_write_ignore, read_as(0)) |
bool canSetTag | pg_node_attr (query_jumble_ignore) |
int resultRelation | pg_node_attr (query_jumble_ignore) |
bool hasAggs | pg_node_attr (query_jumble_ignore) |
bool hasWindowFuncs | pg_node_attr (query_jumble_ignore) |
bool hasTargetSRFs | pg_node_attr (query_jumble_ignore) |
bool hasSubLinks | pg_node_attr (query_jumble_ignore) |
bool hasDistinctOn | pg_node_attr (query_jumble_ignore) |
bool hasRecursive | pg_node_attr (query_jumble_ignore) |
bool hasModifyingCTE | pg_node_attr (query_jumble_ignore) |
bool hasForUpdate | pg_node_attr (query_jumble_ignore) |
bool hasRowSecurity | pg_node_attr (query_jumble_ignore) |
bool isReturn | pg_node_attr (query_jumble_ignore) |
List *rteperminfos | pg_node_attr (query_jumble_ignore) |
bool mergeUseOuterJoin | pg_node_attr (query_jumble_ignore) |
OverridingKind override | pg_node_attr (query_jumble_ignore) |
List *constraintDeps | pg_node_attr (query_jumble_ignore) |
List *withCheckOptions | pg_node_attr (query_jumble_ignore) |
int stmt_len | pg_node_attr (query_jumble_ignore) |
Data Fields | |
NodeTag | type |
CmdType | commandType |
Node * | utilityStmt |
List * | cteList |
List * | rtable |
FromExpr * | jointree |
List * | mergeActionList |
List * | targetList |
OnConflictExpr * | onConflict |
List * | returningList |
List * | groupClause |
bool | groupDistinct |
List * | groupingSets |
Node * | havingQual |
List * | windowClause |
List * | distinctClause |
List * | sortClause |
Node * | limitOffset |
Node * | limitCount |
LimitOption | limitOption |
List * | rowMarks |
Node * | setOperations |
int | stmt_location |
Definition at line 123 of file parsenodes.h.
uint64 queryId Query::pg_node_attr | ( | equal_ignore | , |
query_jumble_ignore | , | ||
read_write_ignore | , | ||
read_as(0) | |||
) |
QuerySource querySource Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool canSetTag Query::pg_node_attr | ( | query_jumble_ignore | ) |
int resultRelation Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasAggs Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasWindowFuncs Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasTargetSRFs Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasSubLinks Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasDistinctOn Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasRecursive Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasModifyingCTE Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasForUpdate Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool hasRowSecurity Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool isReturn Query::pg_node_attr | ( | query_jumble_ignore | ) |
List* rteperminfos Query::pg_node_attr | ( | query_jumble_ignore | ) |
bool mergeUseOuterJoin Query::pg_node_attr | ( | query_jumble_ignore | ) |
OverridingKind override Query::pg_node_attr | ( | query_jumble_ignore | ) |
List* constraintDeps Query::pg_node_attr | ( | query_jumble_ignore | ) |
List* withCheckOptions Query::pg_node_attr | ( | query_jumble_ignore | ) |
int stmt_len Query::pg_node_attr | ( | query_jumble_ignore | ) |
CmdType Query::commandType |
Definition at line 127 of file parsenodes.h.
Referenced by AcquirePlannerLocks(), add_row_identity_columns(), AddQual(), addRangeTableEntryForCTE(), analyzeCTE(), ApplyRetrieveRule(), BeginCopyTo(), CachedPlanAllowsSimpleValidityCheck(), check_sql_fn_retval(), check_sql_fn_statements(), ChoosePortalStrategy(), contain_dml_walker(), DefineQueryRewrite(), DefineView(), deparseLockingClause(), exec_simple_check_plan(), ExecCreateTableAs(), ExplainOneQuery(), extract_query_dependencies_walker(), FetchStatementTargetList(), find_expr_references_walker(), fireRules(), get_query_def(), get_rel_all_updated_cols(), get_row_security_policies(), get_translated_update_targetlist(), getInsertSelectQuery(), init_execution_state(), interpret_AS_clause(), is_simple_subquery(), is_simple_union_all(), make_viewdef(), matchLocks(), PerformCursorOpen(), pg_plan_queries(), pg_rewrite_query(), plan_cluster_use_sort(), plan_create_index_workers(), postgresGetForeignJoinPaths(), QueryRewrite(), RewriteQuery(), rewriteRuleAction(), rewriteSearchAndCycle(), rewriteTargetView(), rewriteValuesRTE(), ScanQueryForLocks(), simplify_EXISTS_query(), transformCallStmt(), transformCreateTableAsStmt(), transformDeclareCursorStmt(), transformDeleteStmt(), transformExplainStmt(), transformInsertStmt(), transformMergeStmt(), transformPLAssignStmt(), transformRangeSubselect(), transformReturnStmt(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformStmt(), transformSubLink(), transformUpdateStmt(), transformValuesClause(), and UtilityContainsQuery().
List* Query::cteList |
Definition at line 172 of file parsenodes.h.
Referenced by AcquireRewriteLocks(), CachedPlanAllowsSimpleValidityCheck(), convert_EXISTS_sublink_to_join(), create_ctescan_plan(), exec_simple_check_plan(), fireRIRrules(), get_setop_query(), get_with_clause(), is_simple_subquery(), is_simple_union_all(), pull_up_simple_subquery(), query_tree_mutator_impl(), query_tree_walker_impl(), RewriteQuery(), rewriteRuleAction(), ScanQueryForLocks(), set_cte_pathlist(), set_deparse_for_query(), setRuleCheckAsUser_Query(), SS_process_ctes(), transformDeleteStmt(), transformInsertStmt(), transformMergeStmt(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformUpdateStmt(), transformValuesClause(), and view_query_is_auto_updatable().
List* Query::distinctClause |
Definition at line 206 of file parsenodes.h.
Referenced by check_output_expressions(), CheckSelectLocking(), examine_simple_variable(), exec_simple_check_plan(), get_basic_select_query(), is_simple_subquery(), query_is_distinct_for(), query_supports_distinctness(), query_tree_mutator_impl(), query_tree_walker_impl(), recurse_set_operations(), remove_unused_subquery_outputs(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), transformDeleteStmt(), transformPLAssignStmt(), transformSelectStmt(), and view_query_is_auto_updatable().
List* Query::groupClause |
Definition at line 197 of file parsenodes.h.
Referenced by appendGroupByClause(), CheckSelectLocking(), create_ordinary_grouping_paths(), examine_simple_variable(), exec_simple_check_plan(), foreign_grouping_ok(), get_basic_select_query(), is_simple_subquery(), parseCheckAggregates(), query_is_distinct_for(), query_supports_distinctness(), query_tree_mutator_impl(), query_tree_walker_impl(), recurse_set_operations(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), subquery_push_qual(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), and view_query_is_auto_updatable().
bool Query::groupDistinct |
Definition at line 198 of file parsenodes.h.
Referenced by get_basic_select_query(), parseCheckAggregates(), and transformSelectStmt().
List* Query::groupingSets |
Definition at line 200 of file parsenodes.h.
Referenced by adjust_group_pathkeys_for_groupagg(), appendGroupByClause(), CheckSelectLocking(), create_groupingsets_plan(), examine_simple_variable(), exec_simple_check_plan(), foreign_grouping_ok(), get_basic_select_query(), is_simple_subquery(), parseCheckAggregates(), query_is_distinct_for(), query_supports_distinctness(), recurse_set_operations(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), subquery_push_qual(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), and view_query_is_auto_updatable().
Node* Query::havingQual |
Definition at line 202 of file parsenodes.h.
Referenced by build_base_rel_tlists(), CheckSelectLocking(), exec_simple_check_plan(), get_basic_select_query(), is_simple_subquery(), parseCheckAggregates(), query_is_distinct_for(), query_supports_distinctness(), query_tree_mutator_impl(), query_tree_walker_impl(), simplify_EXISTS_query(), subquery_push_qual(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), and view_query_is_auto_updatable().
FromExpr* Query::jointree |
Definition at line 181 of file parsenodes.h.
Referenced by AddQual(), adjustJoinTreeList(), ApplyRetrieveRule(), check_sql_fn_retval(), convert_EXISTS_sublink_to_join(), convert_EXISTS_to_ANY(), deconstruct_jointree(), exec_simple_check_plan(), find_placeholders_in_jointree(), get_basic_select_query(), get_delete_query_def(), get_from_clause(), get_merge_query_def(), get_relids_for_join(), get_update_query_def(), getInsertSelectQuery(), is_safe_append_member(), is_simple_subquery(), markQueryForLocking(), pull_up_simple_subquery(), pull_up_sublinks(), pull_up_subqueries(), query_tree_mutator_impl(), query_tree_walker_impl(), reduce_outer_joins(), relation_is_updatable(), remove_useless_result_rtes(), remove_useless_results_recurse(), RewriteQuery(), rewriteRuleAction(), rewriteSearchAndCycle(), rewriteTargetView(), set_deparse_for_query(), subquery_push_qual(), transformDeleteStmt(), transformMergeStmt(), transformPLAssignStmt(), transformReturnStmt(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformUpdateStmt(), transformValuesClause(), view_cols_are_auto_updatable(), and view_query_is_auto_updatable().
Node* Query::limitCount |
Definition at line 211 of file parsenodes.h.
Referenced by appendLimitClause(), create_minmaxagg_plan(), exec_simple_check_plan(), get_select_query_def(), get_setop_query(), is_simple_subquery(), is_simple_union_all(), query_tree_mutator_impl(), query_tree_walker_impl(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), transformValuesClause(), and view_query_is_auto_updatable().
Node* Query::limitOffset |
Definition at line 210 of file parsenodes.h.
Referenced by appendLimitClause(), create_minmaxagg_plan(), exec_simple_check_plan(), get_select_query_def(), get_setop_query(), is_simple_subquery(), is_simple_union_all(), query_tree_mutator_impl(), query_tree_walker_impl(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), transformValuesClause(), and view_query_is_auto_updatable().
LimitOption Query::limitOption |
Definition at line 212 of file parsenodes.h.
Referenced by create_minmaxagg_plan(), get_select_query_def(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), and transformValuesClause().
List* Query::mergeActionList |
Definition at line 184 of file parsenodes.h.
Referenced by get_merge_query_def(), query_tree_mutator_impl(), query_tree_walker_impl(), RewriteQuery(), and transformMergeStmt().
OnConflictExpr* Query::onConflict |
Definition at line 193 of file parsenodes.h.
Referenced by ChangeVarNodes(), fireRIRrules(), get_insert_query_def(), get_row_security_policies(), infer_arbiter_indexes(), OffsetVarNodes(), query_tree_mutator_impl(), query_tree_walker_impl(), RewriteQuery(), and rewriteTargetView().
List* Query::returningList |
Definition at line 195 of file parsenodes.h.
Referenced by addRangeTableEntryForCTE(), ApplyRetrieveRule(), BeginCopyTo(), ChoosePortalStrategy(), DefineQueryRewrite(), FetchStatementTargetList(), get_delete_query_def(), get_insert_query_def(), get_merge_query_def(), get_update_query_def(), PlanCacheComputeResultDesc(), query_tree_mutator_impl(), query_tree_walker_impl(), RewriteQuery(), rewriteRuleAction(), transformDeleteStmt(), transformMergeStmt(), and transformUpdateStmt().
List* Query::rowMarks |
Definition at line 214 of file parsenodes.h.
Referenced by applyLockingClause(), ChangeVarNodes(), contain_dml_walker(), get_parse_rowmark(), get_select_query_def(), get_setop_query(), is_simple_union_all(), make_outerjoininfo(), max_parallel_hazard_walker(), OffsetVarNodes(), pull_up_simple_subquery(), simplify_EXISTS_query(), and transformDeclareCursorStmt().
List* Query::rtable |
Definition at line 174 of file parsenodes.h.
Referenced by AcquireRewriteLocks(), add_rtes_to_flat_rtable(), adjust_appendrel_attrs_mutator(), alias_relid_set(), ApplyRetrieveRule(), CachedPlanAllowsSimpleValidityCheck(), check_sql_fn_retval(), convert_EXISTS_sublink_to_join(), CopyAndAddInvertedQual(), currtid_for_view(), exec_simple_check_plan(), expandRecordVariable(), extract_query_dependencies_walker(), find_dependent_phvs_in_jointree(), find_expr_references_walker(), fireRIRrules(), flatten_join_alias_vars_mutator(), foreign_join_ok(), get_delete_query_def(), get_from_clause(), get_from_clause_item(), get_insert_query_def(), get_merge_query_def(), get_query_def(), get_relation_foreign_keys(), get_result_relid(), get_setop_query(), get_simple_values_rte(), get_update_query_def(), getInsertSelectQuery(), infer_arbiter_indexes(), InsertRule(), is_simple_union_all_recurse(), is_simple_values(), isQueryUsingTempRelation_walker(), LockViewRecurse_walker(), make_ruledef(), markQueryForLocking(), plan_cluster_use_sort(), plan_create_index_workers(), preprocess_function_rtes(), pull_up_simple_subquery(), pull_up_simple_union_all(), pull_up_subqueries_recurse(), query_tree_mutator_impl(), query_tree_walker_impl(), recurse_push_qual(), recurse_pushdown_safe(), reduce_outer_joins_pass2(), relation_is_updatable(), remove_useless_result_rtes(), replace_vars_in_jointree(), RewriteQuery(), rewriteRuleAction(), rewriteSearchAndCycle(), rewriteTargetView(), ScanQueryForLocks(), set_deparse_for_query(), setRuleCheckAsUser_Query(), setup_simple_rel_arrays(), transformDeleteStmt(), transformLockingClause(), transformMergeStmt(), transformPLAssignStmt(), transformReturnStmt(), transformRuleStmt(), transformSelectStmt(), transformSetOperationStmt(), transformUpdateStmt(), transformValuesClause(), and view_query_is_auto_updatable().
Node* Query::setOperations |
Definition at line 216 of file parsenodes.h.
Referenced by AddQual(), analyzeCTE(), CheckSelectLocking(), examine_simple_variable(), exec_simple_check_plan(), get_select_query_def(), get_setop_query(), is_simple_subquery(), is_simple_union_all(), pull_up_simple_union_all(), query_is_distinct_for(), query_supports_distinctness(), query_tree_mutator_impl(), query_tree_walker_impl(), remove_unused_subquery_outputs(), rewriteRuleAction(), rewriteSearchAndCycle(), set_subquery_size_estimates(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), subquery_push_qual(), transformRuleStmt(), transformSetOperationStmt(), and view_query_is_auto_updatable().
List* Query::sortClause |
Definition at line 208 of file parsenodes.h.
Referenced by exec_simple_check_plan(), find_em_for_rel_target(), get_select_query_def(), get_setop_query(), is_simple_subquery(), is_simple_union_all(), minmax_qp_callback(), query_tree_mutator_impl(), query_tree_walker_impl(), simplify_EXISTS_query(), transformPLAssignStmt(), transformSelectStmt(), transformSetOperationStmt(), and transformValuesClause().
int Query::stmt_location |
Definition at line 235 of file parsenodes.h.
Referenced by init_execution_state(), pg_plan_queries(), pgss_post_parse_analyze(), and transformTopLevelStmt().
List* Query::targetList |
Definition at line 188 of file parsenodes.h.
Referenced by addRangeTableEntryForSubquery(), ApplyRetrieveRule(), assign_collations_walker(), build_physical_tlist(), check_and_push_window_quals(), check_output_expressions(), check_sql_fn_retval(), convert_ANY_sublink_to_join(), convert_EXISTS_to_ANY(), CopyAndAddInvertedQual(), count_rowexpr_columns(), currtid_for_view(), DefineQueryRewrite(), DefineView(), determineRecursiveColTypes(), examine_simple_variable(), exec_simple_check_plan(), ExecCreateTableAs(), expandRecordVariable(), expandRTE(), exprCollation(), exprSetCollation(), exprType(), exprTypmod(), FetchStatementTargetList(), FigureColnameInternal(), find_expr_references_walker(), get_basic_select_query(), get_insert_query_def(), get_name_for_var_field(), get_rule_windowclause(), get_select_query_def(), get_simple_values_rte(), get_update_query_def(), get_windowclause_startup_tuples(), is_simple_subquery(), is_simple_union_all_recurse(), make_setop_translation_list(), markTargetListOrigin(), minmax_qp_callback(), parseCheckAggregates(), plan_set_operations(), PlanCacheComputeResultDesc(), pull_up_simple_subquery(), query_is_distinct_for(), query_tree_mutator_impl(), query_tree_walker_impl(), recurse_set_operations(), relation_is_updatable(), remove_unused_subquery_outputs(), RewriteQuery(), rewriteRuleAction(), rewriteSearchAndCycle(), rewriteTargetView(), rewriteValuesRTE(), set_subquery_pathlist(), set_subquery_size_estimates(), simplify_EXISTS_query(), subquery_is_pushdown_safe(), subquery_push_qual(), transformInsertStmt(), transformJsonArrayQueryConstructor(), transformMergeStmt(), transformMultiAssignRef(), transformPLAssignStmt(), transformReturnStmt(), transformSelectStmt(), transformSetOperationStmt(), transformSetOperationTree(), transformSubLink(), transformUpdateStmt(), transformValuesClause(), view_cols_are_auto_updatable(), and view_query_is_auto_updatable().
NodeTag Query::type |
Definition at line 125 of file parsenodes.h.
Node* Query::utilityStmt |
Definition at line 142 of file parsenodes.h.
Referenced by AcquirePlannerLocks(), AddQual(), analyzeCTE(), BeginCopyTo(), check_sql_fn_statements(), ChoosePortalStrategy(), DefineView(), ExecCreateTableAs(), ExplainOneQuery(), extract_query_dependencies_walker(), FetchStatementTargetList(), get_utility_query_def(), init_execution_state(), interpret_AS_clause(), JumbleQuery(), pg_plan_queries(), pgss_post_parse_analyze(), PlanCacheComputeResultDesc(), transformCallStmt(), transformCreateTableAsStmt(), transformDeclareCursorStmt(), transformExplainStmt(), transformStmt(), and UtilityContainsQuery().
List* Query::windowClause |
Definition at line 204 of file parsenodes.h.
Referenced by exec_simple_check_plan(), find_window_run_conditions(), get_basic_select_query(), get_rule_windowclause(), get_select_query_def(), optimize_window_clauses(), query_tree_mutator_impl(), query_tree_walker_impl(), select_active_windows(), simplify_EXISTS_query(), targetIsInAllPartitionLists(), transformPLAssignStmt(), and transformSelectStmt().