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, uintptr_t 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) |
uintptr_t | 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 |
enum AggStrategy |
enum CmdType |
enum JoinType |
enum LimitOption |
enum OnConflictAction |
enum SetOpCmd |
enum SetOpStrategy |
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_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_partition_for_tuple(), get_variable(), group_by_has_partkey(), grouping_planner(), infer_collation_opclass_match(), length_hist_bsearch(), list_delete(), list_member(), match_boolean_partition_clause(), match_clause_to_partition_key(), match_eclasses_to_foreign_key_col(), match_expr_to_partition_keys(), match_index_to_operand(), 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(), search_indexed_tlist_for_sortgroupref(), stat_find_expression(), substitute_grouped_columns_mutator(), tlist_member(), tlist_same_exprs(), transformIndexConstraints(), transformPartitionBound(), transformWindowFuncCall(), and trivial_subqueryscan().
Definition at line 144 of file nodes.h.
References Assert, palloc0(), size, and Node::type.
Referenced by _copyExtensibleNode(), and _readExtensibleNode().
char* nodeToString | ( | const void * | obj | ) |
Definition at line 794 of file outfuncs.c.
References nodeToStringInternal().
Referenced by AlterDomainDefault(), AlterPolicy(), CreatePolicy(), CreateStatistics(), CreateTriggerFiringOn(), DefineDomain(), DetachAddConstraintIfNeeded(), domainAddCheckConstraint(), ExecSerializePlan(), expandTableLikeClause(), InsertRule(), ProcedureCreate(), publication_add_relation(), StoreAttrDefault(), StorePartitionBound(), StorePartitionKey(), StoreRelCheck(), and UpdateIndexRelation().
char* nodeToStringWithLocations | ( | const void * | obj | ) |
Definition at line 800 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, |
uintptr_t | 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 | ) |
uintptr_t readDatum | ( | bool | typbyval | ) |
Definition at line 592 of file readfuncs.c.
References atoui, elog, ERROR, i, palloc(), pg_strtok(), PointerGetDatum(), res, 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(), ATExecValidateConstraint(), 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(), init_sql_fcache(), inline_function(), inline_set_returning_function(), 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(), RelationBuildPartitionDesc(), RelationBuildPartitionKey(), RelationBuildRowSecurity(), RelationBuildRuleLock(), RelationGetDummyIndexExpressions(), RelationGetIndexAttrBitmap(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), TriggerEnabled(), TupleDescGetDefault(), TypeCreate(), and validateDomainCheckConstraint().