mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge 10.8 into 10.9
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;
|
||||
};
|
||||
|
||||
@@ -3553,9 +3549,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);
|
||||
@@ -3852,7 +3848,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.
|
||||
@@ -4368,7 +4364,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
|
||||
@@ -4772,7 +4768,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,
|
||||
@@ -4797,7 +4793,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,
|
||||
@@ -4918,7 +4914,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
|
||||
{
|
||||
@@ -5178,7 +5174,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,
|
||||
@@ -5298,7 +5294,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;
|
||||
@@ -5396,7 +5392,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;
|
||||
@@ -5586,7 +5582,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;
|
||||
@@ -5637,7 +5633,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;
|
||||
@@ -5688,7 +5684,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;
|
||||
@@ -5750,7 +5746,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;
|
||||
@@ -5805,7 +5801,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,
|
||||
@@ -5817,7 +5813,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;
|
||||
@@ -5862,7 +5858,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
|
||||
@@ -5916,7 +5912,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
|
||||
@@ -5981,7 +5977,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
|
||||
{
|
||||
@@ -6035,7 +6031,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
|
||||
{
|
||||
@@ -6090,7 +6086,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)
|
||||
@@ -6212,7 +6208,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; }
|
||||
@@ -6242,7 +6238,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;
|
||||
@@ -6272,7 +6268,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;
|
||||
@@ -6302,7 +6298,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; }
|
||||
@@ -6373,7 +6369,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,
|
||||
@@ -6400,7 +6396,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;
|
||||
@@ -6431,7 +6427,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
|
||||
@@ -6515,7 +6511,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; }
|
||||
@@ -6545,7 +6541,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
|
||||
{
|
||||
@@ -6580,7 +6576,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;
|
||||
@@ -6682,7 +6678,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; }
|
||||
@@ -6712,7 +6708,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
|
||||
{
|
||||
@@ -6747,7 +6743,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; }
|
||||
@@ -6781,7 +6777,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;
|
||||
@@ -6825,7 +6821,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
|
||||
@@ -6897,7 +6893,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
|
||||
{
|
||||
@@ -6951,7 +6947,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
|
||||
@@ -6981,7 +6977,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
|
||||
{
|
||||
@@ -7052,7 +7048,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;
|
||||
@@ -7095,7 +7091,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
|
||||
{
|
||||
@@ -7172,7 +7168,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;
|
||||
@@ -7189,7 +7185,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; }
|
||||
@@ -7207,7 +7203,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;
|
||||
@@ -7226,7 +7222,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;
|
||||
@@ -7270,7 +7266,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;
|
||||
@@ -7308,7 +7304,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
|
||||
{
|
||||
@@ -7349,7 +7345,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
|
||||
{
|
||||
@@ -7395,7 +7391,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,
|
||||
@@ -7407,11 +7403,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)
|
||||
@@ -7605,7 +7598,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