mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.5 into 10.6
This commit is contained in:
127
sql/sql_type.h
127
sql/sql_type.h
@@ -393,7 +393,7 @@ class Dec_ptr
|
||||
{
|
||||
protected:
|
||||
my_decimal *m_ptr;
|
||||
Dec_ptr() { }
|
||||
Dec_ptr() = default;
|
||||
public:
|
||||
Dec_ptr(my_decimal *ptr) :m_ptr(ptr) { }
|
||||
bool is_null() const { return m_ptr == NULL; }
|
||||
@@ -541,7 +541,7 @@ protected:
|
||||
{
|
||||
m_sec= m_usec= m_neg= m_truncated= 0;
|
||||
}
|
||||
Sec6() { }
|
||||
Sec6() = default;
|
||||
bool add_nanoseconds(uint nanoseconds)
|
||||
{
|
||||
DBUG_ASSERT(nanoseconds <= 1000000000);
|
||||
@@ -701,7 +701,7 @@ protected:
|
||||
Sec6::make_from_int(nr);
|
||||
m_nsec= 0;
|
||||
}
|
||||
Sec9() { }
|
||||
Sec9() = default;
|
||||
public:
|
||||
Sec9(const my_decimal *d)
|
||||
{
|
||||
@@ -2854,7 +2854,7 @@ class Timestamp_or_zero_datetime_native:
|
||||
public NativeBuffer<STRING_BUFFER_TIMESTAMP_BINARY_SIZE>
|
||||
{
|
||||
public:
|
||||
Timestamp_or_zero_datetime_native() { }
|
||||
Timestamp_or_zero_datetime_native() = default;
|
||||
Timestamp_or_zero_datetime_native(const Timestamp_or_zero_datetime &ts,
|
||||
uint decimals)
|
||||
{
|
||||
@@ -3331,13 +3331,9 @@ public:
|
||||
class Type_all_attributes: public Type_std_attributes
|
||||
{
|
||||
public:
|
||||
Type_all_attributes()
|
||||
:Type_std_attributes()
|
||||
{ }
|
||||
Type_all_attributes(const Type_all_attributes &other)
|
||||
:Type_std_attributes(other)
|
||||
{ }
|
||||
virtual ~Type_all_attributes() {}
|
||||
Type_all_attributes() = default;
|
||||
Type_all_attributes(const Type_all_attributes &) = default;
|
||||
virtual ~Type_all_attributes() = default;
|
||||
virtual void set_type_maybe_null(bool maybe_null_arg)= 0;
|
||||
// Returns total number of decimal digits
|
||||
virtual decimal_digits_t decimal_precision() const= 0;
|
||||
@@ -3349,7 +3345,7 @@ public:
|
||||
class Type_cmp_attributes
|
||||
{
|
||||
public:
|
||||
virtual ~Type_cmp_attributes() { }
|
||||
virtual ~Type_cmp_attributes() = default;
|
||||
virtual CHARSET_INFO *compare_collation() const= 0;
|
||||
};
|
||||
|
||||
@@ -3560,9 +3556,9 @@ enum vers_kind_t
|
||||
class Vers_type_handler
|
||||
{
|
||||
protected:
|
||||
Vers_type_handler() {}
|
||||
Vers_type_handler() = default;
|
||||
public:
|
||||
virtual ~Vers_type_handler() {}
|
||||
virtual ~Vers_type_handler() = default;
|
||||
virtual vers_kind_t kind() const
|
||||
{
|
||||
DBUG_ASSERT(0);
|
||||
@@ -3859,7 +3855,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
Type_handler() : m_name(0,0) {}
|
||||
virtual ~Type_handler() {}
|
||||
virtual ~Type_handler() = default;
|
||||
/**
|
||||
Determines MariaDB traditional scalar data types that always present
|
||||
in the server.
|
||||
@@ -4376,7 +4372,7 @@ public:
|
||||
class Type_handler_row: public Type_handler
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_row() {}
|
||||
virtual ~Type_handler_row() = default;
|
||||
const Name &default_value() const override;
|
||||
bool validate_implicit_default_value(THD *, const Column_definition &)
|
||||
const override
|
||||
@@ -4780,7 +4776,7 @@ public:
|
||||
bool Item_func_min_max_get_date(THD *thd, Item_func_min_max*,
|
||||
MYSQL_TIME *, date_mode_t fuzzydate) const
|
||||
override;
|
||||
virtual ~Type_handler_numeric() { }
|
||||
virtual ~Type_handler_numeric() = default;
|
||||
bool can_change_cond_ref_to_const(Item_bool_func2 *target,
|
||||
Item *target_expr, Item *target_value,
|
||||
Item_bool_func2 *source,
|
||||
@@ -4805,7 +4801,7 @@ public:
|
||||
{
|
||||
return DYN_COL_DOUBLE;
|
||||
}
|
||||
virtual ~Type_handler_real_result() {}
|
||||
virtual ~Type_handler_real_result() = default;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
@@ -4926,7 +4922,7 @@ public:
|
||||
{
|
||||
return DYN_COL_DECIMAL;
|
||||
}
|
||||
virtual ~Type_handler_decimal_result() {};
|
||||
virtual ~Type_handler_decimal_result() = default;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
int stored_field_cmp_to_item(THD *, Field *field, Item *item) const override
|
||||
{
|
||||
@@ -5186,7 +5182,7 @@ public:
|
||||
}
|
||||
bool is_order_clause_position_type() const override { return true; }
|
||||
bool is_limit_clause_valid_type() const override { return true; }
|
||||
virtual ~Type_handler_int_result() {}
|
||||
virtual ~Type_handler_int_result() = default;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
int stored_field_cmp_to_item(THD *thd, Field *field, Item *item) const override;
|
||||
bool subquery_type_allows_materialization(const Item *inner,
|
||||
@@ -5306,7 +5302,7 @@ protected:
|
||||
public:
|
||||
Item_result result_type() const override { return STRING_RESULT; }
|
||||
Item_result cmp_type() const override { return TIME_RESULT; }
|
||||
virtual ~Type_handler_temporal_result() {}
|
||||
virtual ~Type_handler_temporal_result() = default;
|
||||
void
|
||||
Column_definition_attributes_frm_pack(const Column_definition_attributes *at,
|
||||
uchar *buff) const override;
|
||||
@@ -5404,7 +5400,7 @@ public:
|
||||
return DYN_COL_STRING;
|
||||
}
|
||||
CHARSET_INFO *charset_for_protocol(const Item *item) const override;
|
||||
virtual ~Type_handler_string_result() {}
|
||||
virtual ~Type_handler_string_result() = default;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
int stored_field_cmp_to_item(THD *thd, Field *field, Item *item) const
|
||||
override;
|
||||
@@ -5594,7 +5590,7 @@ public:
|
||||
class Type_handler_tiny: public Type_handler_general_purpose_int
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_tiny() {}
|
||||
virtual ~Type_handler_tiny() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_TINY; }
|
||||
const Type_handler *type_handler_unsigned() const override;
|
||||
const Type_handler *type_handler_signed() const override;
|
||||
@@ -5645,7 +5641,7 @@ public:
|
||||
class Type_handler_short: public Type_handler_general_purpose_int
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_short() {}
|
||||
virtual ~Type_handler_short() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_SHORT; }
|
||||
const Type_handler *type_handler_unsigned() const override;
|
||||
const Type_handler *type_handler_signed() const override;
|
||||
@@ -5696,7 +5692,7 @@ public:
|
||||
class Type_handler_long: public Type_handler_general_purpose_int
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_long() {}
|
||||
virtual ~Type_handler_long() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_LONG; }
|
||||
const Type_handler *type_handler_unsigned() const override;
|
||||
const Type_handler *type_handler_signed() const override;
|
||||
@@ -5758,7 +5754,7 @@ public:
|
||||
class Type_handler_longlong: public Type_handler_general_purpose_int
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_longlong() {}
|
||||
virtual ~Type_handler_longlong() = default;
|
||||
enum_field_types field_type() const override{ return MYSQL_TYPE_LONGLONG; }
|
||||
const Type_handler *type_handler_unsigned() const override;
|
||||
const Type_handler *type_handler_signed() const override;
|
||||
@@ -5813,7 +5809,7 @@ public:
|
||||
class Type_handler_vers_trx_id: public Type_handler_ulonglong
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_vers_trx_id() {}
|
||||
virtual ~Type_handler_vers_trx_id() = default;
|
||||
Field *make_table_field(MEM_ROOT *root,
|
||||
const LEX_CSTRING *name,
|
||||
const Record_addr &addr,
|
||||
@@ -5825,7 +5821,7 @@ public:
|
||||
class Type_handler_int24: public Type_handler_general_purpose_int
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_int24() {}
|
||||
virtual ~Type_handler_int24() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_INT24; }
|
||||
const Type_handler *type_handler_unsigned() const override;
|
||||
const Type_handler *type_handler_signed() const override;
|
||||
@@ -5870,7 +5866,7 @@ public:
|
||||
class Type_handler_year: public Type_handler_int_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_year() {}
|
||||
virtual ~Type_handler_year() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_YEAR; }
|
||||
uint flags() const override { return UNSIGNED_FLAG; }
|
||||
protocol_send_type_t protocol_send_type() const override
|
||||
@@ -5924,7 +5920,7 @@ public:
|
||||
class Type_handler_bit: public Type_handler_int_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_bit() {}
|
||||
virtual ~Type_handler_bit() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_BIT; }
|
||||
uint flags() const override { return UNSIGNED_FLAG; }
|
||||
protocol_send_type_t protocol_send_type() const override
|
||||
@@ -5989,7 +5985,7 @@ public:
|
||||
class Type_handler_float: public Type_handler_real_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_float() {}
|
||||
virtual ~Type_handler_float() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_FLOAT; }
|
||||
protocol_send_type_t protocol_send_type() const override
|
||||
{
|
||||
@@ -6043,7 +6039,7 @@ public:
|
||||
class Type_handler_double: public Type_handler_real_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_double() {}
|
||||
virtual ~Type_handler_double() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_DOUBLE; }
|
||||
protocol_send_type_t protocol_send_type() const override
|
||||
{
|
||||
@@ -6098,7 +6094,7 @@ public:
|
||||
class Type_handler_time_common: public Type_handler_temporal_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_time_common() { }
|
||||
virtual ~Type_handler_time_common() = default;
|
||||
const Name &default_value() const override;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_TIME; }
|
||||
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr)
|
||||
@@ -6220,7 +6216,7 @@ class Type_handler_time: public Type_handler_time_common
|
||||
static uint m_hires_bytes[MAX_DATETIME_PRECISION+1];
|
||||
public:
|
||||
static uint hires_bytes(uint dec) { return m_hires_bytes[dec]; }
|
||||
virtual ~Type_handler_time() {}
|
||||
virtual ~Type_handler_time() = default;
|
||||
const Name version() const override { return version_mariadb53(); }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override
|
||||
{ return MIN_TIME_WIDTH; }
|
||||
@@ -6250,7 +6246,7 @@ public:
|
||||
class Type_handler_time2: public Type_handler_time_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_time2() {}
|
||||
virtual ~Type_handler_time2() = default;
|
||||
const Name version() const override { return version_mysql56(); }
|
||||
enum_field_types real_field_type() const override { return MYSQL_TYPE_TIME2; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
@@ -6280,7 +6276,7 @@ public:
|
||||
class Type_handler_temporal_with_date: public Type_handler_temporal_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_temporal_with_date() {}
|
||||
virtual ~Type_handler_temporal_with_date() = default;
|
||||
Item_literal *create_literal_item(THD *thd, const char *str, size_t length,
|
||||
CHARSET_INFO *cs, bool send_error)
|
||||
const override;
|
||||
@@ -6310,7 +6306,7 @@ public:
|
||||
class Type_handler_date_common: public Type_handler_temporal_with_date
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_date_common() {}
|
||||
virtual ~Type_handler_date_common() = default;
|
||||
const Name &default_value() const override;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_DATE; }
|
||||
@@ -6381,7 +6377,7 @@ public:
|
||||
class Type_handler_date: public Type_handler_date_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_date() {}
|
||||
virtual ~Type_handler_date() = default;
|
||||
uint32 calc_pack_length(uint32 length) const override { return 4; }
|
||||
Field *make_conversion_table_field(MEM_ROOT *root,
|
||||
TABLE *table, uint metadata,
|
||||
@@ -6408,7 +6404,7 @@ public:
|
||||
class Type_handler_newdate: public Type_handler_date_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_newdate() {}
|
||||
virtual ~Type_handler_newdate() = default;
|
||||
enum_field_types real_field_type() const override
|
||||
{
|
||||
return MYSQL_TYPE_NEWDATE;
|
||||
@@ -6439,7 +6435,7 @@ public:
|
||||
class Type_handler_datetime_common: public Type_handler_temporal_with_date
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_datetime_common() {}
|
||||
virtual ~Type_handler_datetime_common() = default;
|
||||
const Name &default_value() const override;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
enum_field_types field_type() const override
|
||||
@@ -6523,7 +6519,7 @@ class Type_handler_datetime: public Type_handler_datetime_common
|
||||
static uint m_hires_bytes[MAX_DATETIME_PRECISION + 1];
|
||||
public:
|
||||
static uint hires_bytes(uint dec) { return m_hires_bytes[dec]; }
|
||||
virtual ~Type_handler_datetime() {}
|
||||
virtual ~Type_handler_datetime() = default;
|
||||
const Name version() const override { return version_mariadb53(); }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override
|
||||
{ return MAX_DATETIME_WIDTH; }
|
||||
@@ -6553,7 +6549,7 @@ public:
|
||||
class Type_handler_datetime2: public Type_handler_datetime_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_datetime2() {}
|
||||
virtual ~Type_handler_datetime2() = default;
|
||||
const Name version() const override { return version_mysql56(); }
|
||||
enum_field_types real_field_type() const override
|
||||
{
|
||||
@@ -6588,7 +6584,7 @@ class Type_handler_timestamp_common: public Type_handler_temporal_with_date
|
||||
protected:
|
||||
bool TIME_to_native(THD *, const MYSQL_TIME *from, Native *to, uint dec) const;
|
||||
public:
|
||||
virtual ~Type_handler_timestamp_common() {}
|
||||
virtual ~Type_handler_timestamp_common() = default;
|
||||
const Name &default_value() const override;
|
||||
const Type_handler *type_handler_for_comparison() const override;
|
||||
const Type_handler *type_handler_for_native_format() const override;
|
||||
@@ -6690,7 +6686,7 @@ class Type_handler_timestamp: public Type_handler_timestamp_common
|
||||
static uint m_sec_part_bytes[MAX_DATETIME_PRECISION + 1];
|
||||
public:
|
||||
static uint sec_part_bytes(uint dec) { return m_sec_part_bytes[dec]; }
|
||||
virtual ~Type_handler_timestamp() {}
|
||||
virtual ~Type_handler_timestamp() = default;
|
||||
const Name version() const override { return version_mariadb53(); }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override
|
||||
{ return MAX_DATETIME_WIDTH; }
|
||||
@@ -6720,7 +6716,7 @@ public:
|
||||
class Type_handler_timestamp2: public Type_handler_timestamp_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_timestamp2() {}
|
||||
virtual ~Type_handler_timestamp2() = default;
|
||||
const Name version() const override { return version_mysql56(); }
|
||||
enum_field_types real_field_type() const override
|
||||
{
|
||||
@@ -6755,7 +6751,7 @@ public:
|
||||
class Type_handler_olddecimal: public Type_handler_decimal_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_olddecimal() {}
|
||||
virtual ~Type_handler_olddecimal() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_DECIMAL; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
uint32 calc_pack_length(uint32 length) const override { return length; }
|
||||
@@ -6789,7 +6785,7 @@ public:
|
||||
class Type_handler_newdecimal: public Type_handler_decimal_result
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_newdecimal() {}
|
||||
virtual ~Type_handler_newdecimal() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_NEWDECIMAL; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
uint32 calc_pack_length(uint32 length) const override;
|
||||
@@ -6833,7 +6829,7 @@ public:
|
||||
class Type_handler_null: public Type_handler_general_purpose_string
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_null() {}
|
||||
virtual ~Type_handler_null() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_NULL; }
|
||||
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr)
|
||||
const override
|
||||
@@ -6905,7 +6901,7 @@ public:
|
||||
class Type_handler_string: public Type_handler_longstr
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_string() {}
|
||||
virtual ~Type_handler_string() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_STRING; }
|
||||
ulong KEY_pack_flags(uint column_nr) const override
|
||||
{
|
||||
@@ -6960,7 +6956,7 @@ public:
|
||||
class Type_handler_var_string: public Type_handler_string
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_var_string() {}
|
||||
virtual ~Type_handler_var_string() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_VAR_STRING; }
|
||||
enum_field_types real_field_type() const override { return MYSQL_TYPE_STRING; }
|
||||
enum_field_types traditional_merge_field_type() const override
|
||||
@@ -6990,7 +6986,7 @@ public:
|
||||
class Type_handler_varchar: public Type_handler_longstr
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_varchar() {}
|
||||
virtual ~Type_handler_varchar() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_VARCHAR; }
|
||||
ulong KEY_pack_flags(uint column_nr) const override
|
||||
{
|
||||
@@ -7062,7 +7058,7 @@ public:
|
||||
class Type_handler_hex_hybrid: public Type_handler_varchar
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_hex_hybrid() {}
|
||||
virtual ~Type_handler_hex_hybrid() = default;
|
||||
const Type_handler *cast_to_int_type_handler() const override;
|
||||
bool Item_func_round_fix_length_and_dec(Item_func_round *) const override;
|
||||
bool Item_func_int_val_fix_length_and_dec(Item_func_int_val*) const override;
|
||||
@@ -7105,7 +7101,7 @@ public:
|
||||
class Type_handler_blob_common: public Type_handler_longstr
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_blob_common() { }
|
||||
virtual ~Type_handler_blob_common() = default;
|
||||
virtual uint length_bytes() const= 0;
|
||||
ulong KEY_pack_flags(uint column_nr) const override
|
||||
{
|
||||
@@ -7182,7 +7178,7 @@ public:
|
||||
class Type_handler_tiny_blob: public Type_handler_blob_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_tiny_blob() {}
|
||||
virtual ~Type_handler_tiny_blob() = default;
|
||||
uint length_bytes() const override { return 1; }
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_TINY_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
@@ -7199,7 +7195,7 @@ public:
|
||||
class Type_handler_medium_blob: public Type_handler_blob_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_medium_blob() {}
|
||||
virtual ~Type_handler_medium_blob() = default;
|
||||
uint length_bytes() const override { return 3; }
|
||||
enum_field_types field_type() const override
|
||||
{ return MYSQL_TYPE_MEDIUM_BLOB; }
|
||||
@@ -7217,7 +7213,7 @@ public:
|
||||
class Type_handler_long_blob: public Type_handler_blob_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_long_blob() {}
|
||||
virtual ~Type_handler_long_blob() = default;
|
||||
uint length_bytes() const override { return 4; }
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_LONG_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
@@ -7236,7 +7232,7 @@ public:
|
||||
class Type_handler_blob: public Type_handler_blob_common
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_blob() {}
|
||||
virtual ~Type_handler_blob() = default;
|
||||
uint length_bytes() const override { return 2; }
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_BLOB; }
|
||||
uint32 max_display_length_for_field(const Conv_source &src) const override;
|
||||
@@ -7280,7 +7276,7 @@ public:
|
||||
class Type_handler_typelib: public Type_handler_general_purpose_string
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_typelib() { }
|
||||
virtual ~Type_handler_typelib() = default;
|
||||
enum_field_types field_type() const override { return MYSQL_TYPE_STRING; }
|
||||
const Type_handler *type_handler_for_item_field() const override;
|
||||
const Type_handler *cast_to_int_type_handler() const override;
|
||||
@@ -7318,7 +7314,7 @@ public:
|
||||
class Type_handler_enum: public Type_handler_typelib
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_enum() {}
|
||||
virtual ~Type_handler_enum() = default;
|
||||
enum_field_types real_field_type() const override { return MYSQL_TYPE_ENUM; }
|
||||
enum_field_types traditional_merge_field_type() const override
|
||||
{
|
||||
@@ -7359,7 +7355,7 @@ public:
|
||||
class Type_handler_set: public Type_handler_typelib
|
||||
{
|
||||
public:
|
||||
virtual ~Type_handler_set() {}
|
||||
virtual ~Type_handler_set() = default;
|
||||
enum_field_types real_field_type() const override { return MYSQL_TYPE_SET; }
|
||||
enum_field_types traditional_merge_field_type() const override
|
||||
{
|
||||
@@ -7405,7 +7401,7 @@ public:
|
||||
class Function_collection
|
||||
{
|
||||
public:
|
||||
virtual ~Function_collection() {}
|
||||
virtual ~Function_collection() = default;
|
||||
virtual bool init()= 0;
|
||||
virtual void cleanup()= 0;
|
||||
virtual Create_func *find_native_function_builder(THD *thd,
|
||||
@@ -7417,11 +7413,8 @@ public:
|
||||
class Type_collection
|
||||
{
|
||||
public:
|
||||
virtual ~Type_collection() {}
|
||||
virtual bool init(Type_handler_data *data)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
virtual ~Type_collection() = default;
|
||||
virtual bool init(Type_handler_data *) { return false; }
|
||||
virtual const Type_handler *handler_by_name(const LEX_CSTRING &name) const= 0;
|
||||
virtual const Type_handler *aggregate_for_result(const Type_handler *h1,
|
||||
const Type_handler *h2)
|
||||
@@ -7615,7 +7608,7 @@ public:
|
||||
const Type_handler *m_handler1;
|
||||
const Type_handler *m_handler2;
|
||||
const Type_handler *m_result;
|
||||
Pair() { }
|
||||
Pair() = default;
|
||||
Pair(const Type_handler *handler1,
|
||||
const Type_handler *handler2,
|
||||
const Type_handler *result)
|
||||
|
Reference in New Issue
Block a user