CUBRID Engine
latest
|
Classes | |
struct | argument_resolve |
class | Node |
struct | signature_compatibility |
Enumerations | |
enum | type_compatibility { type_compatibility::EQUIVALENT, type_compatibility::COERCIBLE, type_compatibility::INCOMPATIBLE } |
Functions | |
bool | sig_has_json_args (const func_signature &sig) |
bool | is_type_with_collation (PT_TYPE_ENUM type) |
bool | can_signature_have_collation (const pt_arg_type &arg_sig) |
bool | cmp_types_equivalent (const pt_arg_type &type, pt_type_enum type_enum) |
bool | cmp_types_castable (const pt_arg_type &type, pt_type_enum type_enum) |
|
strong |
Enumerator | |
---|---|
EQUIVALENT | |
COERCIBLE | |
INCOMPATIBLE |
Definition at line 47 of file func_type.hpp.
bool func_type::can_signature_have_collation | ( | const pt_arg_type & | arg_sig | ) |
Definition at line 625 of file func_type.cpp.
References assert, pt_arg_type::GENERIC, pt_arg_type::pt_arg_type_val::generic_type, pt_arg_type::INDEX, is_type_with_collation(), pt_arg_type::NORMAL, PT_GENERIC_TYPE_ANY, PT_GENERIC_TYPE_CHAR, PT_GENERIC_TYPE_NCHAR, PT_GENERIC_TYPE_PRIMITIVE, PT_GENERIC_TYPE_SCALAR, PT_GENERIC_TYPE_STRING, PT_GENERIC_TYPE_STRING_VARYING, pt_arg_type::type, pt_arg_type::pt_arg_type_val::type, and pt_arg_type::val.
Referenced by func_type::Node::check_arg_compat().
bool func_type::cmp_types_castable | ( | const pt_arg_type & | type, |
pt_type_enum | type_enum | ||
) |
Definition at line 658 of file func_type.cpp.
References assert, pt_arg_type::pt_arg_type_val::generic_type, pt_arg_type::INDEX, pt_arg_type::NORMAL, PT_GENERIC_TYPE_ANY, PT_GENERIC_TYPE_BIT, PT_GENERIC_TYPE_CHAR, PT_GENERIC_TYPE_DATE, PT_GENERIC_TYPE_DATETIME, PT_GENERIC_TYPE_DISCRETE_NUMBER, PT_GENERIC_TYPE_JSON_DOC, PT_GENERIC_TYPE_JSON_VAL, PT_GENERIC_TYPE_LOB, PT_GENERIC_TYPE_NCHAR, PT_GENERIC_TYPE_NUMBER, PT_GENERIC_TYPE_PRIMITIVE, PT_GENERIC_TYPE_QUERY, PT_GENERIC_TYPE_SCALAR, PT_GENERIC_TYPE_SEQUENCE, PT_GENERIC_TYPE_STRING, PT_GENERIC_TYPE_STRING_VARYING, PT_IS_BIT_STRING_TYPE, PT_IS_COLLECTION_TYPE, PT_IS_DATE_TIME_TYPE, PT_IS_DISCRETE_NUMBER_TYPE, PT_IS_NATIONAL_CHAR_STRING_TYPE, PT_IS_NUMERIC_TYPE, PT_IS_SIMPLE_CHAR_STRING_TYPE, PT_IS_STRING_TYPE, PT_TYPE_BIGINT, PT_TYPE_ENUMERATION, PT_TYPE_INTEGER, PT_TYPE_JSON, PT_TYPE_MAYBE, PT_TYPE_NULL, PT_TYPE_VARCHAR, PT_TYPE_VARNCHAR, pt_arg_type::type, pt_arg_type::pt_arg_type_val::type, and pt_arg_type::val.
Referenced by func_type::Node::check_arg_compat().
bool func_type::cmp_types_equivalent | ( | const pt_arg_type & | type, |
pt_type_enum | type_enum | ||
) |
Definition at line 651 of file func_type.cpp.
References assert, pt_arg_type::INDEX, pt_are_equivalent_types(), PT_TYPE_NULL, and pt_arg_type::type.
Referenced by func_type::Node::check_arg_compat().
bool func_type::is_type_with_collation | ( | PT_TYPE_ENUM | type | ) |
Definition at line 619 of file func_type.cpp.
References PT_HAS_COLLATION, and PT_TYPE_MAYBE.
Referenced by can_signature_have_collation(), func_type::Node::check_arg_compat(), and func_type::Node::set_return_type().
bool func_type::sig_has_json_args | ( | const func_signature & | sig | ) |
Definition at line 599 of file func_type.cpp.
References func_signature::fix, PT_GENERIC_TYPE_JSON_DOC, PT_GENERIC_TYPE_JSON_VAL, and func_signature::rep.
Referenced by func_type::Node::get_signature().