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

Go to the source code of this file.
Data Structures | |
| struct | Node |
Macros | |
| #define | pg_node_attr(...) |
| #define | nodeTag(nodeptr) (((const Node*)(nodeptr))->type) |
| #define | makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_)) |
| #define | NodeSetTag(nodeptr, t) (((Node*)(nodeptr))->type = (t)) |
| #define | IsA(nodeptr, _type_) (nodeTag(nodeptr) == T_##_type_) |
| #define | castNode(_type_, nodeptr) ((_type_ *) (nodeptr)) |
| #define | copyObject(obj) copyObjectImpl(obj) |
| #define | IS_OUTER_JOIN(jointype) |
| #define | AGGSPLITOP_COMBINE 0x01 /* substitute combinefn for transfn */ |
| #define | AGGSPLITOP_SKIPFINAL 0x02 /* skip finalfn, return state as-is */ |
| #define | AGGSPLITOP_SERIALIZE 0x04 /* apply serialfn to output */ |
| #define | AGGSPLITOP_DESERIALIZE 0x08 /* apply deserialfn to input */ |
| #define | DO_AGGSPLIT_COMBINE(as) (((as) & AGGSPLITOP_COMBINE) != 0) |
| #define | DO_AGGSPLIT_SKIPFINAL(as) (((as) & AGGSPLITOP_SKIPFINAL) != 0) |
| #define | DO_AGGSPLIT_SERIALIZE(as) (((as) & AGGSPLITOP_SERIALIZE) != 0) |
| #define | DO_AGGSPLIT_DESERIALIZE(as) (((as) & AGGSPLITOP_DESERIALIZE) != 0) |
Typedefs | |
| typedef enum NodeTag | NodeTag |
| typedef struct Node | Node |
| typedef int | ParseLoc |
| typedef double | Selectivity |
| typedef double | Cost |
| typedef double | Cardinality |
| typedef enum CmdType | CmdType |
| typedef enum JoinType | JoinType |
| typedef enum AggStrategy | AggStrategy |
| typedef enum AggSplit | AggSplit |
| typedef enum SetOpCmd | SetOpCmd |
| typedef enum SetOpStrategy | SetOpStrategy |
| typedef enum OnConflictAction | OnConflictAction |
| typedef enum LimitOption | LimitOption |
Enumerations | |
| enum | NodeTag { T_Invalid = 0 } |
| enum | CmdType { CMD_UNKNOWN , CMD_SELECT , CMD_UPDATE , CMD_INSERT , CMD_DELETE , CMD_MERGE , CMD_UTILITY , CMD_NOTHING } |
| enum | JoinType { JOIN_INNER , JOIN_LEFT , JOIN_FULL , JOIN_RIGHT , JOIN_SEMI , JOIN_ANTI , JOIN_RIGHT_SEMI , JOIN_RIGHT_ANTI , JOIN_UNIQUE_OUTER , JOIN_UNIQUE_INNER } |
| enum | AggStrategy { AGG_PLAIN , AGG_SORTED , AGG_HASHED , AGG_MIXED } |
| enum | AggSplit { AGGSPLIT_SIMPLE = 0 , AGGSPLIT_INITIAL_SERIAL = AGGSPLITOP_SKIPFINAL | AGGSPLITOP_SERIALIZE , AGGSPLIT_FINAL_DESERIAL = AGGSPLITOP_COMBINE | AGGSPLITOP_DESERIALIZE } |
| enum | SetOpCmd { SETOPCMD_INTERSECT , SETOPCMD_INTERSECT_ALL , SETOPCMD_EXCEPT , SETOPCMD_EXCEPT_ALL } |
| enum | SetOpStrategy { SETOP_SORTED , SETOP_HASHED } |
| enum | OnConflictAction { ONCONFLICT_NONE , ONCONFLICT_NOTHING , ONCONFLICT_UPDATE } |
| enum | LimitOption { LIMIT_OPTION_COUNT , LIMIT_OPTION_WITH_TIES } |
Functions | |
| static Node * | newNode (size_t size, NodeTag tag) |
| void | outNode (struct StringInfoData *str, const void *obj) |
| void | outToken (struct StringInfoData *str, const char *s) |
| void | outBitmapset (struct StringInfoData *str, const struct Bitmapset *bms) |
| void | outDatum (struct StringInfoData *str, Datum value, int typlen, bool typbyval) |
| char * | nodeToString (const void *obj) |
| char * | nodeToStringWithLocations (const void *obj) |
| char * | bmsToString (const struct Bitmapset *bms) |
| void * | stringToNode (const char *str) |
| struct Bitmapset * | readBitmapset (void) |
| Datum | readDatum (bool typbyval) |
| bool * | readBoolCols (int numCols) |
| int * | readIntCols (int numCols) |
| Oid * | readOidCols (int numCols) |
| int16 * | readAttrNumberCols (int numCols) |
| void * | copyObjectImpl (const void *from) |
| bool | equal (const void *a, const void *b) |
| #define AGGSPLITOP_COMBINE 0x01 /* substitute combinefn for transfn */ |
| #define AGGSPLITOP_DESERIALIZE 0x08 /* apply deserialfn to input */ |
| #define AGGSPLITOP_SERIALIZE 0x04 /* apply serialfn to output */ |
| #define copyObject | ( | obj | ) | copyObjectImpl(obj) |
| #define DO_AGGSPLIT_COMBINE | ( | as | ) | (((as) & AGGSPLITOP_COMBINE) != 0) |
| #define DO_AGGSPLIT_DESERIALIZE | ( | as | ) | (((as) & AGGSPLITOP_DESERIALIZE) != 0) |
| #define DO_AGGSPLIT_SERIALIZE | ( | as | ) | (((as) & AGGSPLITOP_SERIALIZE) != 0) |
| #define DO_AGGSPLIT_SKIPFINAL | ( | as | ) | (((as) & AGGSPLITOP_SKIPFINAL) != 0) |
| #define IS_OUTER_JOIN | ( | jointype | ) |
| #define IsA | ( | nodeptr, | |
| _type_ | |||
| ) | (nodeTag(nodeptr) == T_##_type_) |
| #define makeNode | ( | _type_ | ) | ((_type_ *) newNode(sizeof(_type_),T_##_type_)) |
| typedef enum AggStrategy AggStrategy |
| typedef double Cardinality |
| typedef enum LimitOption LimitOption |
| typedef enum OnConflictAction OnConflictAction |
| typedef double Selectivity |
| typedef enum SetOpStrategy SetOpStrategy |
| enum AggSplit |
| Enumerator | |
|---|---|
| AGGSPLIT_SIMPLE | |
| AGGSPLIT_INITIAL_SERIAL | |
| AGGSPLIT_FINAL_DESERIAL | |
Definition at line 384 of file nodes.h.
| enum AggStrategy |
| Enumerator | |
|---|---|
| AGG_PLAIN | |
| AGG_SORTED | |
| AGG_HASHED | |
| AGG_MIXED | |
Definition at line 362 of file nodes.h.
| enum CmdType |
| Enumerator | |
|---|---|
| CMD_UNKNOWN | |
| CMD_SELECT | |
| CMD_UPDATE | |
| CMD_INSERT | |
| CMD_DELETE | |
| CMD_MERGE | |
| CMD_UTILITY | |
| CMD_NOTHING | |
| enum JoinType |
| Enumerator | |
|---|---|
| JOIN_INNER | |
| JOIN_LEFT | |
| JOIN_FULL | |
| JOIN_RIGHT | |
| JOIN_SEMI | |
| JOIN_ANTI | |
| JOIN_RIGHT_SEMI | |
| JOIN_RIGHT_ANTI | |
| JOIN_UNIQUE_OUTER | |
| JOIN_UNIQUE_INNER | |
Definition at line 297 of file nodes.h.
| enum LimitOption |
| Enumerator | |
|---|---|
| LIMIT_OPTION_COUNT | |
| LIMIT_OPTION_WITH_TIES | |
Definition at line 439 of file nodes.h.
| enum NodeTag |
| enum OnConflictAction |
| Enumerator | |
|---|---|
| ONCONFLICT_NONE | |
| ONCONFLICT_NOTHING | |
| ONCONFLICT_UPDATE | |
Definition at line 426 of file nodes.h.
| enum SetOpCmd |
| Enumerator | |
|---|---|
| SETOPCMD_INTERSECT | |
| SETOPCMD_INTERSECT_ALL | |
| SETOPCMD_EXCEPT | |
| SETOPCMD_EXCEPT_ALL | |
| enum SetOpStrategy |
| Enumerator | |
|---|---|
| SETOP_SORTED | |
| SETOP_HASHED | |
Definition at line 414 of file nodes.h.
| char * bmsToString | ( | const struct Bitmapset * | bms | ) |
| void * copyObjectImpl | ( | const void * | from | ) |
Definition at line 177 of file copyfuncs.c.
References check_stack_depth(), elog, ERROR, list_copy(), list_copy_deep(), and nodeTag.
Referenced by list_copy_deep().
| bool equal | ( | const void * | a, |
| const void * | b | ||
| ) |
Definition at line 223 of file equalfuncs.c.
References _equalList(), a, b, check_stack_depth(), elog, ERROR, and nodeTag.
Referenced by _equalA_Const(), _equalList(), add_row_identity_var(), add_sp_item_to_pathtarget(), add_unique_group_var(), addRangeClause(), AlterPublicationTables(), calc_hist_selectivity_scalar(), calc_length_hist_frac(), check_new_partition_bound(), clause_is_strict_for(), CompareIndexInfo(), convert_subquery_pathkeys(), create_ordered_paths(), create_projection_path(), CreateStatistics(), deparseParam(), deparseVar(), dependencies_clauselist_selectivity(), dependency_is_compatible_expression(), ec_member_matches_foreign(), equalPolicy(), equalRuleLocks(), estimate_multivariate_bucketsize(), estimate_multivariate_ndistinct(), examine_variable(), ExecInitWindowAgg(), expand_grouping_sets(), exprs_known_equal(), finalize_grouping_exprs_walker(), find_compatible_agg(), find_ec_member_matching_expr(), find_em_for_rel_target(), find_list_position(), find_minmax_agg_replacement_param(), findTargetlistEntrySQL92(), findTargetlistEntrySQL99(), fix_expr_common(), fix_indexqual_operand(), get_eclass_for_sort_expr(), get_expression_sortgroupref(), get_partition_for_tuple(), get_variable(), group_by_has_partkey(), grouping_planner(), infer_collation_opclass_match(), length_hist_bsearch(), list_delete(), list_member(), list_member_rangevar(), match_boolean_partition_clause(), match_clause_to_partition_key(), match_eclasses_to_foreign_key_col(), match_expr_to_partition_keys(), match_index_to_operand(), match_unique_clauses(), matches_boolean_partition_clause(), maybe_reread_subscription(), mcv_match_expression(), MergeAttributes(), MergeCheckConstraint(), MergeWithExistingConstraint(), operator_predicate_proof(), optimize_window_clauses(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), plan_union_children(), predicate_implied_by_simple_clause(), predicate_refuted_by_simple_clause(), preprocess_groupclause(), process_duplicate_ors(), process_equivalence(), process_matched_tle(), process_subquery_nestloop_params(), rbound_bsearch(), recomputeNamespacePath(), reconsider_full_join_clause(), reconsider_outer_join_clause(), RelationGetIndexAttrBitmap(), replace_nestloop_param_placeholdervar(), replace_nestloop_param_var(), replace_relid_callback(), restrict_infos_logically_equal(), search_indexed_tlist_for_sortgroupref(), split_selfjoin_quals(), stat_find_expression(), substitute_grouped_columns_mutator(), tlist_member(), tlist_same_exprs(), transformIndexConstraints(), transformPartitionBound(), transformWindowFuncCall(), trivial_subqueryscan(), and update_eclasses().
Definition at line 150 of file nodes.h.
References Assert(), palloc0(), and Node::type.
Referenced by _copyExtensibleNode(), and _readExtensibleNode().
| char * nodeToString | ( | const void * | obj | ) |
Definition at line 802 of file outfuncs.c.
References nodeToStringInternal().
Referenced by AlterDomainDefault(), AlterPolicy(), CreatePolicy(), CreateStatistics(), CreateTriggerFiringOn(), DefineDomain(), domainAddCheckConstraint(), ExecSerializePlan(), expandTableLikeClause(), InsertRule(), ProcedureCreate(), publication_add_relation(), StoreAttrDefault(), StorePartitionBound(), StorePartitionKey(), StoreRelCheck(), and UpdateIndexRelation().
| char * nodeToStringWithLocations | ( | const void * | obj | ) |
Definition at line 808 of file outfuncs.c.
References nodeToStringInternal().
Referenced by elog_node_display(), pg_parse_query(), pg_plan_query(), pg_rewrite_query(), pprint(), and print().
| void outBitmapset | ( | struct StringInfoData * | str, |
| const struct Bitmapset * | bms | ||
| ) |
| void outDatum | ( | struct StringInfoData * | str, |
| Datum | value, | ||
| int | typlen, | ||
| bool | typbyval | ||
| ) |
| void outNode | ( | struct StringInfoData * | str, |
| const void * | obj | ||
| ) |
| void outToken | ( | struct StringInfoData * | str, |
| const char * | s | ||
| ) |
| int16 * readAttrNumberCols | ( | int | numCols | ) |
| struct Bitmapset * readBitmapset | ( | void | ) |
| bool * readBoolCols | ( | int | numCols | ) |
| Datum readDatum | ( | bool | typbyval | ) |
Definition at line 600 of file readfuncs.c.
References atoui, elog, ERROR, i, palloc(), pg_strtok(), PointerGetDatum(), and token.
Referenced by _readConst().
| int * readIntCols | ( | int | numCols | ) |
| Oid * readOidCols | ( | int | numCols | ) |
| void * stringToNode | ( | const char * | str | ) |
Definition at line 90 of file read.c.
References str, and stringToNodeInternal().
Referenced by AddRelationNewConstraints(), AlterPolicy(), AlterPublicationTables(), CloneRowTriggersToPartition(), ConstraintImpliedByRelConstraint(), ExecParallelGetQueryDesc(), ExecRelCheck(), expandTableLikeClause(), fetch_function_defaults(), fetch_statentries_for_relation(), fmgr_sql_validator(), func_get_detail(), generate_partition_qual(), generateClonedExtStatsStmt(), generateClonedIndexStmt(), GenerateTypeDependencies(), get_dependent_generated_columns(), get_qual_for_range(), get_relation_constraints(), get_relation_statistics(), get_typdefault(), index_concurrently_create_copy(), inline_function(), inline_sql_function_in_from(), load_domaintype_info(), make_ruledef(), make_viewdef(), MergeAttributes(), MergeWithExistingConstraint(), pg_get_constraintdef_worker(), pg_get_expr_worker(), pg_get_function_arg_default(), pg_get_indexdef_worker(), pg_get_partkeydef_worker(), pg_get_statisticsobj_worker(), pg_get_statisticsobjdef_expressions(), pg_get_triggerdef_worker(), pgoutput_row_filter_init(), print_function_arguments(), print_function_sqlbody(), ProcedureCreate(), pub_rf_contains_invalid_column(), QueueCheckConstraintValidation(), RelationBuildPartitionDesc(), RelationBuildPartitionKey(), RelationBuildRowSecurity(), RelationBuildRuleLock(), RelationGetDummyIndexExpressions(), RelationGetIndexAttrBitmap(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), sql_compile_callback(), TriggerEnabled(), TupleDescGetDefault(), TypeCreate(), and validateDomainCheckConstraint().