|
PostgreSQL Source Code git master
|
#include "parser/parse_node.h"

Go to the source code of this file.
Typedefs | |
| typedef char | TYPCATEGORY |
| typedef enum CoercionPathType | CoercionPathType |
Enumerations | |
| enum | CoercionPathType { COERCION_PATH_NONE , COERCION_PATH_FUNC , COERCION_PATH_RELABELTYPE , COERCION_PATH_ARRAYCOERCE , COERCION_PATH_COERCEVIAIO } |
Definition at line 21 of file parse_coerce.h.
| Enumerator | |
|---|---|
| COERCION_PATH_NONE | |
| COERCION_PATH_FUNC | |
| COERCION_PATH_RELABELTYPE | |
| COERCION_PATH_ARRAYCOERCE | |
| COERCION_PATH_COERCEVIAIO | |
Definition at line 24 of file parse_coerce.h.
|
extern |
Definition at line 558 of file parse_coerce.c.
References check_generic_type_consistency(), COERCION_PATH_NONE, fb(), find_coercion_pathway(), i, is_complex_array(), ISCOMPLEX, typeInheritsFrom(), and typeIsOfTypedTable().
Referenced by ATAddForeignKeyConstraint(), coerce_to_common_type(), coerce_to_target_type(), func_match_argtypes(), func_select_candidate(), jsonb_subscript_transform(), select_common_type(), select_common_type_from_oids(), transformFrameOffset(), verify_common_type(), and verify_common_type_from_oids().
|
extern |
Definition at line 1738 of file parse_coerce.c.
References Assert, fb(), FUNC_MAX_ARGS, get_element_type(), get_multirange_range(), get_range_subtype(), getBaseType(), InvalidOid, j, OidIsValid, select_common_type_from_oids(), type_is_array_domain, type_is_enum(), and verify_common_type_from_oids().
Referenced by can_coerce_type().
|
extern |
Definition at line 2953 of file parse_coerce.c.
References _, fb(), i, and pstrdup().
Referenced by AggregateCreate(), and ProcedureCreate().
|
extern |
Definition at line 2876 of file parse_coerce.c.
References _, fb(), format_type_be(), i, and psprintf().
Referenced by AggregateCreate(), and ProcedureCreate().
|
extern |
Definition at line 1272 of file parse_coerce.c.
References COERCE_IMPLICIT_CAST, coerce_to_domain(), COERCION_IMPLICIT, fb(), getBaseTypeAndTypmod(), and makeConst().
Referenced by expand_insert_targetlist(), ReplaceVarFromTargetList(), rewriteTargetListIU(), and rewriteValuesRTE().
|
extern |
Definition at line 1160 of file parse_coerce.c.
References COERCE_IMPLICIT_CAST, coerce_to_target_type(), COERCION_ASSIGNMENT, ereport, errcode(), errmsg(), ERROR, expression_returns_set(), exprLocation(), exprType(), fb(), format_type_be(), and parser_errposition().
Referenced by cookConstraint(), DoCopy(), domainAddCheckConstraint(), transformAExprIn(), transformBooleanTest(), transformBoolExpr(), transformCaseExpr(), transformJoinUsingClause(), transformWhereClause(), and transformXmlExpr().
|
extern |
Definition at line 1573 of file parse_coerce.c.
References can_coerce_type(), COERCE_IMPLICIT_CAST, coerce_type(), COERCION_IMPLICIT, ereport, errcode(), errmsg(), ERROR, exprLocation(), exprType(), fb(), format_type_be(), and parser_errposition().
Referenced by analyzeCTE(), generate_setop_tlist(), transformAExprIn(), transformArrayExpr(), transformCaseExpr(), transformCoalesceExpr(), transformMinMaxExpr(), transformSetOperationTree(), and transformValuesClause().
|
extern |
Definition at line 676 of file parse_coerce.c.
References arg, CoerceToDomain::arg, Assert, COERCE_IMPLICIT_CAST, coerce_type_typmod(), fb(), hide_coercion_node(), CoerceToDomain::location, makeNode, OidIsValid, and CoerceToDomain::resulttype.
Referenced by coerce_null_to_domain(), coerce_record_to_complex(), coerce_type(), and transformAssignmentIndirection().
|
extern |
Definition at line 1256 of file parse_coerce.c.
References coerce_to_specific_type_typmod(), and fb().
Referenced by coerceJsonFuncExpr(), interpret_function_parameter_list(), transformFrameOffset(), transformJsonScalarExpr(), transformJsonValueExpr(), transformLimitClause(), transformRangeTableFunc(), transformRangeTableSample(), transformXmlExpr(), and transformXmlSerialize().
|
extern |
Definition at line 1207 of file parse_coerce.c.
References COERCE_IMPLICIT_CAST, coerce_to_target_type(), COERCION_ASSIGNMENT, ereport, errcode(), errmsg(), ERROR, expression_returns_set(), exprLocation(), exprType(), fb(), format_type_be(), and parser_errposition().
Referenced by coerce_to_specific_type(), and transformRangeTableFunc().
|
extern |
Definition at line 79 of file parse_coerce.c.
References arg, can_coerce_type(), coerce_type(), coerce_type_typmod(), fb(), IsA, makeNode, and type_is_collatable().
Referenced by array_subscript_transform(), ATExecAddColumn(), ATExecAlterColumnType(), ATPrepAlterColumnType(), build_coercion_expression(), build_column_default(), coerce_fn_result_column(), coerce_record_to_complex(), coerce_to_boolean(), coerce_to_specific_type_typmod(), coerceJsonFuncExpr(), cookDefault(), EvaluateParams(), get_cast_hashentry(), hstore_subscript_transform(), transformArrayExpr(), transformAssignedExpr(), transformAssignmentIndirection(), transformAssignmentSubscripts(), transformJsonBehavior(), transformJsonFuncExpr(), transformJsonParseArg(), transformJsonValueExpr(), transformPartitionBoundValue(), transformPLAssignStmtTarget(), transformTypeCast(), and transformXmlSerialize().
|
extern |
Definition at line 158 of file parse_coerce.c.
References ConvertRowtypeExpr::arg, build_coercion_expression(), cancel_parser_errposition_callback(), COERCE_IMPLICIT_CAST, coerce_record_to_complex(), coerce_to_domain(), coerce_type(), COERCION_PATH_NONE, COERCION_PATH_RELABELTYPE, DatumGetCString(), datumIsEqual(), elog, ERROR, fb(), find_coercion_pathway(), format_type_be(), getBaseType(), getBaseTypeAndTypmod(), InvalidOid, is_complex_array(), IsA, ISCOMPLEX, RelabelType::location, ConvertRowtypeExpr::location, makeNode, makeRelabelType(), ParseState::p_coerce_param_hook, PG_DETOAST_DATUM, PointerGetDatum(), ReleaseSysCache(), ConvertRowtypeExpr::resulttype, setup_parser_errposition_callback(), stringTypeDatum(), type_is_collatable(), typeByVal(), typeidType(), typeInheritsFrom(), typeIsOfTypedTable(), typeLen(), typeTypeCollation(), typeTypeName(), and WARNING.
Referenced by addTargetToGroupList(), addTargetToSortList(), buildMergedJoinVar(), coerce_to_common_type(), coerce_to_target_type(), coerce_type(), jsonb_subscript_transform(), make_fn_arguments(), ParseFuncOrColumn(), resolveTargetListUnknowns(), transformArrayExpr(), and unify_hypothetical_args().
|
extern |
Definition at line 2132 of file parse_coerce.c.
References Assert, ereport, errcode(), errdetail(), errmsg(), errmsg_internal(), ERROR, fb(), format_type_be(), FUNC_MAX_ARGS, get_array_type(), get_element_type(), get_multirange_range(), get_range_multirange(), get_range_subtype(), getBaseType(), InvalidOid, j, OidIsValid, select_common_type_from_oids(), type_is_array_domain, type_is_enum(), and verify_common_type_from_oids().
Referenced by lookup_agg_function(), make_op(), make_scalar_array_op(), ParseFuncOrColumn(), recheck_cast_function_args(), and resolve_aggregate_transtype().
|
extern |
Definition at line 3154 of file parse_coerce.c.
References COERCION_ASSIGNMENT, COERCION_EXPLICIT, COERCION_IMPLICIT, COERCION_PATH_ARRAYCOERCE, COERCION_PATH_COERCEVIAIO, COERCION_PATH_FUNC, COERCION_PATH_NONE, COERCION_PATH_RELABELTYPE, COERCION_PLPGSQL, elog, ERROR, fb(), find_coercion_pathway(), get_element_type(), getBaseType(), GETSTRUCT(), HeapTupleIsValid, InvalidOid, ObjectIdGetDatum(), OidIsValid, ReleaseSysCache(), SearchSysCache2(), and TypeCategory().
Referenced by can_coerce_type(), coerce_type(), find_coercion_pathway(), findFkeyCast(), func_get_detail(), json_categorize_type(), and ri_HashCompareOp().
|
extern |
Definition at line 3317 of file parse_coerce.c.
References COERCION_PATH_ARRAYCOERCE, COERCION_PATH_FUNC, COERCION_PATH_NONE, fb(), GETSTRUCT(), HeapTupleIsValid, InvalidOid, ObjectIdGetDatum(), OidIsValid, ReleaseSysCache(), SearchSysCache2(), and typeidType().
Referenced by coerce_type_typmod().
Definition at line 3031 of file parse_coerce.c.
References fb(), and IsBinaryCoercibleWithCast().
Referenced by AggregateCreate(), binary_coercible(), check_amproc_signature(), compatible_oper(), ExecInitAgg(), findRangeSubOpclass(), GetDefaultOpClass(), initialize_peragg(), lookup_agg_function(), ResolveOpClass(), ri_HashCompareOp(), satisfies_hash_partition(), spgGetCache(), ts_stat_sql(), tsvector_update_trigger(), and tupledesc_match().
Definition at line 3046 of file parse_coerce.c.
References fb(), getBaseType(), GETSTRUCT(), HeapTupleIsValid, InvalidOid, is_complex_array(), ISCOMPLEX, ObjectIdGetDatum(), OidIsValid, ReleaseSysCache(), SearchSysCache2(), type_is_array, type_is_enum(), type_is_multirange(), and type_is_range().
Referenced by CreateCast(), and IsBinaryCoercible().
|
extern |
Definition at line 2996 of file parse_coerce.c.
References fb(), get_type_category_preferred(), and type.
Referenced by func_select_candidate(), and GetDefaultOpClass().
|
extern |
Definition at line 1313 of file parse_coerce.c.
References exprLocation(), fb(), and parser_errposition().
Referenced by coerce_record_to_complex(), coerceJsonFuncExpr(), and transformTypeCast().
|
extern |
Definition at line 1343 of file parse_coerce.c.
References Assert, can_coerce_type(), COERCION_IMPLICIT, ereport, errcode(), errmsg(), ERROR, exprLocation(), exprType(), fb(), for_each_cell, format_type_be(), get_type_category_preferred(), getBaseType(), InvalidOid, lfirst, linitial, list_second_cell(), NIL, and parser_errposition().
Referenced by analyzeCTE(), buildMergedJoinVar(), transformAExprIn(), transformArrayExpr(), transformCaseExpr(), transformCoalesceExpr(), transformMinMaxExpr(), transformSetOperationTree(), transformValuesClause(), and unify_hypothetical_args().
|
extern |
Definition at line 1645 of file parse_coerce.c.
References exprType(), exprTypmod(), fb(), and lfirst.
Referenced by analyzeCTE(), buildMergedJoinVar(), transformSetOperationTree(), transformValuesClause(), and unify_hypothetical_args().
|
extern |
Definition at line 2977 of file parse_coerce.c.
References Assert, fb(), get_type_category_preferred(), and type.
Referenced by find_coercion_pathway(), func_get_detail(), func_select_candidate(), GetDefaultOpClass(), and transformJsonBehavior().
Definition at line 1607 of file parse_coerce.c.
References can_coerce_type(), COERCION_IMPLICIT, exprType(), fb(), and lfirst.
Referenced by transformAExprIn().