Commit 3f7659b8 authored by Alexander Barkov's avatar Alexander Barkov

Fixing -Winconsistent-missing-override with CLANG

parent e81db2ba
...@@ -3888,59 +3888,61 @@ class Type_handler_row: public Type_handler ...@@ -3888,59 +3888,61 @@ class Type_handler_row: public Type_handler
static const Name m_name_row; static const Name m_name_row;
public: public:
virtual ~Type_handler_row() {} virtual ~Type_handler_row() {}
const Name name() const { return m_name_row; } const Name name() const override { return m_name_row; }
const Name &default_value() const; const Name &default_value() const override;
bool validate_implicit_default_value(THD *thd, bool validate_implicit_default_value(THD *thd,
const Column_definition &def) const const Column_definition &def) const
override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
const Type_collection *type_collection() const override; const Type_collection *type_collection() const override;
bool is_scalar_type() const { return false; } bool is_scalar_type() const override { return false; }
bool can_return_int() const { return false; } bool can_return_int() const override { return false; }
bool can_return_decimal() const { return false; } bool can_return_decimal() const override { return false; }
bool can_return_real() const { return false; } bool can_return_real() const override { return false; }
bool can_return_str() const { return false; } bool can_return_str() const override { return false; }
bool can_return_text() const { return false; } bool can_return_text() const override { return false; }
bool can_return_date() const { return false; } bool can_return_date() const override { return false; }
bool can_return_time() const { return false; } bool can_return_time() const override { return false; }
enum_field_types field_type() const enum_field_types field_type() const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return MYSQL_TYPE_NULL; return MYSQL_TYPE_NULL;
}; };
protocol_send_type_t protocol_send_type() const protocol_send_type_t protocol_send_type() const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return PROTOCOL_SEND_STRING; return PROTOCOL_SEND_STRING;
} }
Item_result result_type() const Item_result result_type() const override
{ {
return ROW_RESULT; return ROW_RESULT;
} }
Item_result cmp_type() const Item_result cmp_type() const override
{ {
return ROW_RESULT; return ROW_RESULT;
} }
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr) const enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return DYN_COL_NULL; return DYN_COL_NULL;
} }
const Type_handler *type_handler_for_comparison() const; const Type_handler *type_handler_for_comparison() const override;
int stored_field_cmp_to_item(THD *thd, Field *field, Item *item) const int stored_field_cmp_to_item(THD *thd, Field *field, Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
bool subquery_type_allows_materialization(const Item *inner, bool subquery_type_allows_materialization(const Item *inner,
const Item *outer) const const Item *outer) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return false; return false;
} }
Field *make_num_distinct_aggregator_field(MEM_ROOT *, const Item *) const Field *make_num_distinct_aggregator_field(MEM_ROOT *, const Item *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
...@@ -3948,18 +3950,19 @@ class Type_handler_row: public Type_handler ...@@ -3948,18 +3950,19 @@ class Type_handler_row: public Type_handler
Field *make_conversion_table_field(MEM_ROOT *root, Field *make_conversion_table_field(MEM_ROOT *root,
TABLE *table, TABLE *table,
uint metadata, uint metadata,
const Field *target) const const Field *target) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
bool Column_definition_fix_attributes(Column_definition *c) const bool Column_definition_fix_attributes(Column_definition *c) const override
{ {
return false; return false;
} }
void Column_definition_reuse_fix_attributes(THD *thd, void Column_definition_reuse_fix_attributes(THD *thd,
Column_definition *c, Column_definition *c,
const Field *field) const const Field *field)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
} }
...@@ -3967,19 +3970,19 @@ class Type_handler_row: public Type_handler ...@@ -3967,19 +3970,19 @@ class Type_handler_row: public Type_handler
MEM_ROOT *mem_root, MEM_ROOT *mem_root,
Column_definition *c, Column_definition *c,
handler *file, handler *file,
ulonglong table_flags) const; ulonglong table_flags) const override;
bool Column_definition_redefine_stage1(Column_definition *def, bool Column_definition_redefine_stage1(Column_definition *def,
const Column_definition *dup, const Column_definition *dup,
const handler *file, const handler *file,
const Schema_specification_st *schema) const Schema_specification_st *schema)
const const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Column_definition_prepare_stage2(Column_definition *c, bool Column_definition_prepare_stage2(Column_definition *c,
handler *file, handler *file,
ulonglong table_flags) const ulonglong table_flags) const override
{ {
return false; return false;
} }
...@@ -3987,7 +3990,7 @@ class Type_handler_row: public Type_handler ...@@ -3987,7 +3990,7 @@ class Type_handler_row: public Type_handler
const LEX_CSTRING *name, const LEX_CSTRING *name,
const Record_addr &addr, const Record_addr &addr,
const Type_all_attributes &attr, const Type_all_attributes &attr,
TABLE *table) const TABLE *table) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
...@@ -3998,150 +4001,155 @@ class Type_handler_row: public Type_handler ...@@ -3998,150 +4001,155 @@ class Type_handler_row: public Type_handler
const Record_addr &addr, const Record_addr &addr,
const Bit_addr &bit, const Bit_addr &bit,
const Column_definition_attributes *attr, const Column_definition_attributes *attr,
uint32 flags) const; uint32 flags) const override;
void make_sort_key(uchar *to, Item *item, void make_sort_key(uchar *to, Item *item,
const SORT_FIELD_ATTR *sort_field, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const Sort_param *param) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
} }
void sortlength(THD *thd, const Type_std_attributes *item, void sortlength(THD *thd, const Type_std_attributes *item,
SORT_FIELD_ATTR *attr) const SORT_FIELD_ATTR *attr) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
} }
uint32 max_display_length(const Item *item) const uint32 max_display_length(const Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
uint32 max_display_length_for_field(const Conv_source &src) const uint32 max_display_length_for_field(const Conv_source &src) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
uint32 calc_pack_length(uint32 length) const uint32 calc_pack_length(uint32 length) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr, bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr,
Item *a, Item *b) const; Item *a, Item *b) const override;
uint Item_decimal_precision(const Item *item) const uint Item_decimal_precision(const Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return DECIMAL_MAX_PRECISION; return DECIMAL_MAX_PRECISION;
} }
bool Item_save_in_value(THD *thd, Item *item, st_value *value) const; bool Item_save_in_value(THD *thd, Item *item, st_value *value) const override;
bool Item_param_set_from_value(THD *thd, bool Item_param_set_from_value(THD *thd,
Item_param *param, Item_param *param,
const Type_all_attributes *attr, const Type_all_attributes *attr,
const st_value *value) const; const st_value *value) const override;
bool Item_send(Item *item, Protocol *protocol, st_value *buf) const bool Item_send(Item *item, Protocol *protocol, st_value *buf) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
void Item_update_null_value(Item *item) const; void Item_update_null_value(Item *item) const override;
int Item_save_in_field(Item *item, Field *field, bool no_conversions) const int Item_save_in_field(Item *item, Field *field, bool no_conversions)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 1; return 1;
} }
String *print_item_value(THD *thd, Item *item, String *str) const; String *print_item_value(THD *thd, Item *item, String *str) const override;
bool can_change_cond_ref_to_const(Item_bool_func2 *target, bool can_change_cond_ref_to_const(Item_bool_func2 *target,
Item *target_expr, Item *target_value, Item *target_expr, Item *target_value,
Item_bool_func2 *source, Item_bool_func2 *source,
Item *source_expr, Item *source_const) const Item *source_expr, Item *source_const)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return false; return false;
} }
Item *make_const_item_for_comparison(THD *, Item *src, const Item *cmp) const; Item *make_const_item_for_comparison(THD *, Item *src, const Item *cmp)
Item_cache *Item_get_cache(THD *thd, const Item *item) const; const override;
Item_copy *create_item_copy(THD *thd, Item *item) const Item_cache *Item_get_cache(THD *thd, const Item *item) const override;
Item_copy *create_item_copy(THD *thd, Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
bool set_comparator_func(Arg_comparator *cmp) const; bool set_comparator_func(Arg_comparator *cmp) const override;
bool Item_hybrid_func_fix_attributes(THD *thd, bool Item_hybrid_func_fix_attributes(THD *thd,
const char *name, const char *name,
Type_handler_hybrid_field_type *, Type_handler_hybrid_field_type *,
Type_all_attributes *atrr, Type_all_attributes *atrr,
Item **items, uint nitems) const Item **items, uint nitems)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_sum_hybrid_fix_length_and_dec(Item_sum_hybrid *func) const bool Item_sum_hybrid_fix_length_and_dec(Item_sum_hybrid *func) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_sum_sum_fix_length_and_dec(Item_sum_sum *) const bool Item_sum_sum_fix_length_and_dec(Item_sum_sum *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_sum_avg_fix_length_and_dec(Item_sum_avg *) const bool Item_sum_avg_fix_length_and_dec(Item_sum_avg *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_sum_variance_fix_length_and_dec(Item_sum_variance *) const bool Item_sum_variance_fix_length_and_dec(Item_sum_variance *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_val_bool(Item *item) const bool Item_val_bool(Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return false; return false;
} }
void Item_get_date(THD *thd, Item *item, void Item_get_date(THD *thd, Item *item,
Temporal::Warn *warn, MYSQL_TIME *ltime, Temporal::Warn *warn, MYSQL_TIME *ltime,
date_mode_t fuzzydate) const date_mode_t fuzzydate) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
set_zero_time(ltime, MYSQL_TIMESTAMP_NONE); set_zero_time(ltime, MYSQL_TIMESTAMP_NONE);
} }
longlong Item_val_int_signed_typecast(Item *item) const longlong Item_val_int_signed_typecast(Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
longlong Item_val_int_unsigned_typecast(Item *item) const longlong Item_val_int_unsigned_typecast(Item *item) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
String *Item_func_hex_val_str_ascii(Item_func_hex *item, String *str) const String *Item_func_hex_val_str_ascii(Item_func_hex *item, String *str)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
String *Item_func_hybrid_field_type_val_str(Item_func_hybrid_field_type *, String *Item_func_hybrid_field_type_val_str(Item_func_hybrid_field_type *,
String *) const String *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
double Item_func_hybrid_field_type_val_real(Item_func_hybrid_field_type *) double Item_func_hybrid_field_type_val_real(Item_func_hybrid_field_type *)
const const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0.0; return 0.0;
} }
longlong Item_func_hybrid_field_type_val_int(Item_func_hybrid_field_type *) longlong Item_func_hybrid_field_type_val_int(Item_func_hybrid_field_type *)
const const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
my_decimal *Item_func_hybrid_field_type_val_decimal( my_decimal *Item_func_hybrid_field_type_val_decimal(
Item_func_hybrid_field_type *, Item_func_hybrid_field_type *,
my_decimal *) const my_decimal *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
...@@ -4150,105 +4158,116 @@ class Type_handler_row: public Type_handler ...@@ -4150,105 +4158,116 @@ class Type_handler_row: public Type_handler
Item_func_hybrid_field_type *, Item_func_hybrid_field_type *,
Temporal::Warn *, Temporal::Warn *,
MYSQL_TIME *ltime, MYSQL_TIME *ltime,
date_mode_t fuzzydate) const date_mode_t fuzzydate)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
set_zero_time(ltime, MYSQL_TIMESTAMP_NONE); set_zero_time(ltime, MYSQL_TIMESTAMP_NONE);
} }
String *Item_func_min_max_val_str(Item_func_min_max *, String *) const String *Item_func_min_max_val_str(Item_func_min_max *, String *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
double Item_func_min_max_val_real(Item_func_min_max *) const double Item_func_min_max_val_real(Item_func_min_max *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
longlong Item_func_min_max_val_int(Item_func_min_max *) const longlong Item_func_min_max_val_int(Item_func_min_max *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return 0; return 0;
} }
my_decimal *Item_func_min_max_val_decimal(Item_func_min_max *, my_decimal *Item_func_min_max_val_decimal(Item_func_min_max *,
my_decimal *) const my_decimal *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return NULL; return NULL;
} }
bool Item_func_min_max_get_date(THD *thd, Item_func_min_max*, bool Item_func_min_max_get_date(THD *thd, Item_func_min_max*,
MYSQL_TIME *, date_mode_t fuzzydate) const MYSQL_TIME *, date_mode_t fuzzydate)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_func_between_fix_length_and_dec(Item_func_between *func) const bool Item_func_between_fix_length_and_dec(Item_func_between *func)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
longlong Item_func_between_val_int(Item_func_between *func) const; longlong Item_func_between_val_int(Item_func_between *func) const override;
cmp_item *make_cmp_item(THD *thd, CHARSET_INFO *cs) const; cmp_item *make_cmp_item(THD *thd, CHARSET_INFO *cs) const override;
in_vector *make_in_vector(THD *thd, const Item_func_in *f, uint nargs) const; in_vector *make_in_vector(THD *thd, const Item_func_in *f, uint nargs)
bool Item_func_in_fix_comparator_compatible_types(THD *thd, const override;
Item_func_in *) const; bool Item_func_in_fix_comparator_compatible_types(THD *thd, Item_func_in *)
bool Item_func_round_fix_length_and_dec(Item_func_round *) const; const override;
bool Item_func_int_val_fix_length_and_dec(Item_func_int_val *) const; bool Item_func_round_fix_length_and_dec(Item_func_round *) const override;
bool Item_func_abs_fix_length_and_dec(Item_func_abs *) const; bool Item_func_int_val_fix_length_and_dec(Item_func_int_val *) const override;
bool Item_func_neg_fix_length_and_dec(Item_func_neg *) const; bool Item_func_abs_fix_length_and_dec(Item_func_abs *) const override;
bool Item_func_neg_fix_length_and_dec(Item_func_neg *) const override;
bool Item_func_signed_fix_length_and_dec(Item_func_signed *) const bool Item_func_signed_fix_length_and_dec(Item_func_signed *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_func_unsigned_fix_length_and_dec(Item_func_unsigned *) const bool Item_func_unsigned_fix_length_and_dec(Item_func_unsigned *) const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_double_typecast_fix_length_and_dec(Item_double_typecast *) const bool Item_double_typecast_fix_length_and_dec(Item_double_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_float_typecast_fix_length_and_dec(Item_float_typecast *) const bool Item_float_typecast_fix_length_and_dec(Item_float_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_decimal_typecast_fix_length_and_dec(Item_decimal_typecast *) const bool Item_decimal_typecast_fix_length_and_dec(Item_decimal_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_char_typecast_fix_length_and_dec(Item_char_typecast *) const bool Item_char_typecast_fix_length_and_dec(Item_char_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_time_typecast_fix_length_and_dec(Item_time_typecast *) const bool Item_time_typecast_fix_length_and_dec(Item_time_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_date_typecast_fix_length_and_dec(Item_date_typecast *) const bool Item_date_typecast_fix_length_and_dec(Item_date_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_datetime_typecast_fix_length_and_dec(Item_datetime_typecast *) const bool Item_datetime_typecast_fix_length_and_dec(Item_datetime_typecast *)
const override
{ {
DBUG_ASSERT(0); DBUG_ASSERT(0);
return true; return true;
} }
bool Item_func_plus_fix_length_and_dec(Item_func_plus *) const; bool Item_func_plus_fix_length_and_dec(Item_func_plus *) const override;
bool Item_func_minus_fix_length_and_dec(Item_func_minus *) const; bool Item_func_minus_fix_length_and_dec(Item_func_minus *) const override;
bool Item_func_mul_fix_length_and_dec(Item_func_mul *) const; bool Item_func_mul_fix_length_and_dec(Item_func_mul *) const override;
bool Item_func_div_fix_length_and_dec(Item_func_div *) const; bool Item_func_div_fix_length_and_dec(Item_func_div *) const override;
bool Item_func_mod_fix_length_and_dec(Item_func_mod *) const; bool Item_func_mod_fix_length_and_dec(Item_func_mod *) const override;
}; };
...@@ -4262,21 +4281,23 @@ class Type_handler_numeric: public Type_handler ...@@ -4262,21 +4281,23 @@ class Type_handler_numeric: public Type_handler
const Type_handler *handler) const Type_handler *handler)
const; const;
public: public:
const Name &default_value() const; const Name &default_value() const override;
String *print_item_value(THD *thd, Item *item, String *str) const; String *print_item_value(THD *thd, Item *item, String *str) const override;
double Item_func_min_max_val_real(Item_func_min_max *) const; double Item_func_min_max_val_real(Item_func_min_max *) const override;
longlong Item_func_min_max_val_int(Item_func_min_max *) const; longlong Item_func_min_max_val_int(Item_func_min_max *) const override;
my_decimal *Item_func_min_max_val_decimal(Item_func_min_max *, my_decimal *Item_func_min_max_val_decimal(Item_func_min_max *,
my_decimal *) const; my_decimal *) const override;
bool Item_func_min_max_get_date(THD *thd, Item_func_min_max*, bool Item_func_min_max_get_date(THD *thd, Item_func_min_max*,
MYSQL_TIME *, date_mode_t fuzzydate) const; MYSQL_TIME *, date_mode_t fuzzydate)
const override;
virtual ~Type_handler_numeric() { } virtual ~Type_handler_numeric() { }
bool can_change_cond_ref_to_const(Item_bool_func2 *target, bool can_change_cond_ref_to_const(Item_bool_func2 *target,
Item *target_expr, Item *target_value, Item *target_expr, Item *target_value,
Item_bool_func2 *source, Item_bool_func2 *source,
Item *source_expr, Item *source_const) const; Item *source_expr, Item *source_const)
bool Item_func_between_fix_length_and_dec(Item_func_between *func) const; const override;
bool Item_char_typecast_fix_length_and_dec(Item_char_typecast *) const; bool Item_func_between_fix_length_and_dec(Item_func_between *func) const override;
bool Item_char_typecast_fix_length_and_dec(Item_char_typecast *) const override;
}; };
...@@ -4285,85 +4306,98 @@ class Type_handler_numeric: public Type_handler ...@@ -4285,85 +4306,98 @@ class Type_handler_numeric: public Type_handler
class Type_handler_real_result: public Type_handler_numeric class Type_handler_real_result: public Type_handler_numeric
{ {
public: public:
Item_result result_type() const { return REAL_RESULT; } Item_result result_type() const override{ return REAL_RESULT; }
Item_result cmp_type() const { return REAL_RESULT; } Item_result cmp_type() const override { return REAL_RESULT; }
enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr) const enum_dynamic_column_type dyncol_type(const Type_all_attributes *attr)
const override
{ {
return DYN_COL_DOUBLE; return DYN_COL_DOUBLE;
} }
virtual ~Type_handler_real_result() {} virtual ~Type_handler_real_result() {}
const Type_handler *type_handler_for_comparison() const; const Type_handler *type_handler_for_comparison() const override;
void Column_definition_reuse_fix_attributes(THD *thd, void Column_definition_reuse_fix_attributes(THD *thd,
Column_definition *c, Column_definition *c,
const Field *field) const; const Field *field)
int stored_field_cmp_to_item(THD *thd, Field *field, Item *item) const; const override;
int stored_field_cmp_to_item(THD *thd, Field *field, Item *item)
const override;
bool subquery_type_allows_materialization(const Item *inner, bool subquery_type_allows_materialization(const Item *inner,
const Item *outer) const; const Item *outer)
const override;
void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field, void make_sort_key(uchar *to, Item *item, const SORT_FIELD_ATTR *sort_field,
Sort_param *param) const; Sort_param *param) const override;
void sortlength(THD *thd, void sortlength(THD *thd,
const Type_std_attributes *item, const Type_std_attributes *item,
SORT_FIELD_ATTR *attr) const; SORT_FIELD_ATTR *attr) const override;
bool Item_const_eq(const Item_const *a, const Item_const *b, bool Item_const_eq(const Item_const *a, const Item_const *b,
bool binary_cmp) const; bool binary_cmp) const override;
bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr, bool Item_eq_value(THD *thd, const Type_cmp_attributes *attr,
Item *a, Item *b) const; Item *a, Item *b) const override;
uint Item_decimal_precision(const Item *item) const; uint Item_decimal_precision(const Item *item) const override;
bool Item_save_in_value(THD *thd, Item *item, st_value *value) const; bool Item_save_in_value(THD *thd, Item *item, st_value *value) const override;
bool Item_param_set_from_value(THD *thd, bool Item_param_set_from_value(THD *thd,
Item_param *param, Item_param *param,
const Type_all_attributes *attr, const Type_all_attributes *attr,
const st_value *value) const; const st_value *value) const override;
void Item_update_null_value(Item *item) const; void Item_update_null_value(Item *item) const override;
int Item_save_in_field(Item *item, Field *field, bool no_conversions) const; int Item_save_in_field(Item *item, Field *field, bool no_conversions)
Item *make_const_item_for_comparison(THD *, Item *src, const Item *cmp) const; const override;
bool set_comparator_func(Arg_comparator *cmp) const; Item *make_const_item_for_comparison(THD *, Item *src, const Item *cmp)
const override;
bool set_comparator_func(Arg_comparator *cmp) const override;
bool Item_hybrid_func_fix_attributes(THD *thd, bool Item_hybrid_func_fix_attributes(THD *thd,
const char *name, const char *name,
Type_handler_hybrid_field_type *, Type_handler_hybrid_field_type *,
Type_all_attributes *atrr, Type_all_attributes *atrr,
Item **items, uint nitems) const; Item **items, uint nitems)
const override;
bool Item_func_min_max_fix_attributes(THD *thd, Item_func_min_max *func, bool Item_func_min_max_fix_attributes(THD *thd, Item_func_min_max *func,
Item **items, uint nitems) const; Item **items, uint nitems)
bool Item_sum_hybrid_fix_length_and_dec(Item_sum_hybrid *func) const; const override;
bool Item_sum_sum_fix_length_and_dec(Item_sum_sum *) const; bool Item_sum_hybrid_fix_length_and_dec(Item_sum_hybrid *func) const override;
bool Item_sum_avg_fix_length_and_dec(Item_sum_avg *) const; bool Item_sum_sum_fix_length_and_dec(Item_sum_sum *) const override;
bool Item_sum_variance_fix_length_and_dec(Item_sum_variance *) const; bool Item_sum_avg_fix_length_and_dec(Item_sum_avg *) const override;
bool Item_func_signed_fix_length_and_dec(Item_func_signed *item) const; bool Item_sum_variance_fix_length_and_dec(Item_sum_variance *) const override;
bool Item_func_unsigned_fix_length_and_dec(Item_func_unsigned *item) const; bool Item_func_signed_fix_length_and_dec(Item_func_signed *item)
bool Item_val_bool(Item *item) const; const override;
bool Item_func_unsigned_fix_length_and_dec(Item_func_unsigned *item)
const override;
bool Item_val_bool(Item *item) const override;
void Item_get_date(THD *thd, Item *item, Temporal::Warn *warn, void Item_get_date(THD *thd, Item *item, Temporal::Warn *warn,
MYSQL_TIME *ltime, date_mode_t fuzzydate) const; MYSQL_TIME *ltime, date_mode_t fuzzydate) const override;
longlong Item_val_int_signed_typecast(Item *item) const; longlong Item_val_int_signed_typecast(Item *item) const override;
longlong Item_val_int_unsigned_typecast(Item *item) const; longlong Item_val_int_unsigned_typecast(Item *item) const override;
String *Item_func_hex_val_str_ascii(Item_func_hex *item, String *str) const; String *Item_func_hex_val_str_ascii(Item_func_hex *item, String *str)
const override;
double Item_func_hybrid_field_type_val_real(Item_func_hybrid_field_type *) double Item_func_hybrid_field_type_val_real(Item_func_hybrid_field_type *)
const; const override;
longlong Item_func_hybrid_field_type_val_int(Item_func_hybrid_field_type *) longlong Item_func_hybrid_field_type_val_int(Item_func_hybrid_field_type *)
const; const override;
my_decimal *Item_func_hybrid_field_type_val_decimal( my_decimal *Item_func_hybrid_field_type_val_decimal(
Item_func_hybrid_field_type *, Item_func_hybrid_field_type *,
my_decimal *) const; my_decimal *) const override;
void Item_func_hybrid_field_type_get_date(THD *, void Item_func_hybrid_field_type_get_date(THD *,
Item_func_hybrid_field_type *, Item_func_hybrid_field_type *,
Temporal::Warn *, Temporal::Warn *,
MYSQL_TIME *, MYSQL_TIME *,
date_mode_t fuzzydate) const; date_mode_t fuzzydate)
longlong Item_func_between_val_int(Item_func_between *func) const; const override;
cmp_item *make_cmp_item(THD *thd, CHARSET_INFO *cs) const; longlong Item_func_between_val_int(Item_func_between *func) const override;
in_vector *make_in_vector(THD *, const Item_func_in *, uint nargs) const; cmp_item *make_cmp_item(THD *thd, CHARSET_INFO *cs) const override;
bool Item_func_in_fix_comparator_compatible_types(THD *thd, in_vector *make_in_vector(THD *, const Item_func_in *, uint nargs)
Item_func_in *) const; const override;
bool Item_func_in_fix_comparator_compatible_types(THD *thd, Item_func_in *)
const override;
bool Item_func_round_fix_length_and_dec(Item_func_round *) const; 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; bool Item_func_int_val_fix_length_and_dec(Item_func_int_val *) const override;
bool Item_func_abs_fix_length_and_dec(Item_func_abs *) const; bool Item_func_abs_fix_length_and_dec(Item_func_abs *) const override;
bool Item_func_neg_fix_length_and_dec(Item_func_neg *) const; bool Item_func_neg_fix_length_and_dec(Item_func_neg *) const override;
bool Item_func_plus_fix_length_and_dec(Item_func_plus *) const; bool Item_func_plus_fix_length_and_dec(Item_func_plus *) const override;
bool Item_func_minus_fix_length_and_dec(Item_func_minus *) const; bool Item_func_minus_fix_length_and_dec(Item_func_minus *) const override;
bool Item_func_mul_fix_length_and_dec(Item_func_mul *) const; bool Item_func_mul_fix_length_and_dec(Item_func_mul *) const override;
bool Item_func_div_fix_length_and_dec(Item_func_div *) const; bool Item_func_div_fix_length_and_dec(Item_func_div *) const override;
bool Item_func_mod_fix_length_and_dec(Item_func_mod *) const; bool Item_func_mod_fix_length_and_dec(Item_func_mod *) const override;
}; };
......
...@@ -199,8 +199,8 @@ class Type_handler_linestring: public Type_handler_geometry ...@@ -199,8 +199,8 @@ class Type_handler_linestring: public Type_handler_geometry
{ {
static const Name m_name_linestring; static const Name m_name_linestring;
public: public:
geometry_types geometry_type() const { return GEOM_LINESTRING; } geometry_types geometry_type() const override { return GEOM_LINESTRING; }
const Name name() const { return m_name_linestring; } const Name name() const override { return m_name_linestring; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
...@@ -209,8 +209,8 @@ class Type_handler_polygon: public Type_handler_geometry ...@@ -209,8 +209,8 @@ class Type_handler_polygon: public Type_handler_geometry
{ {
static const Name m_name_polygon; static const Name m_name_polygon;
public: public:
geometry_types geometry_type() const { return GEOM_POLYGON; } geometry_types geometry_type() const override { return GEOM_POLYGON; }
const Name name() const { return m_name_polygon; } const Name name() const override { return m_name_polygon; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
...@@ -219,8 +219,8 @@ class Type_handler_multipoint: public Type_handler_geometry ...@@ -219,8 +219,8 @@ class Type_handler_multipoint: public Type_handler_geometry
{ {
static const Name m_name_multipoint; static const Name m_name_multipoint;
public: public:
geometry_types geometry_type() const { return GEOM_MULTIPOINT; } geometry_types geometry_type() const override { return GEOM_MULTIPOINT; }
const Name name() const { return m_name_multipoint; } const Name name() const override { return m_name_multipoint; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
...@@ -229,8 +229,8 @@ class Type_handler_multilinestring: public Type_handler_geometry ...@@ -229,8 +229,8 @@ class Type_handler_multilinestring: public Type_handler_geometry
{ {
static const Name m_name_multilinestring; static const Name m_name_multilinestring;
public: public:
geometry_types geometry_type() const { return GEOM_MULTILINESTRING; } geometry_types geometry_type() const override { return GEOM_MULTILINESTRING; }
const Name name() const { return m_name_multilinestring; } const Name name() const override { return m_name_multilinestring; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
...@@ -239,8 +239,8 @@ class Type_handler_multipolygon: public Type_handler_geometry ...@@ -239,8 +239,8 @@ class Type_handler_multipolygon: public Type_handler_geometry
{ {
static const Name m_name_multipolygon; static const Name m_name_multipolygon;
public: public:
geometry_types geometry_type() const { return GEOM_MULTIPOLYGON; } geometry_types geometry_type() const override { return GEOM_MULTIPOLYGON; }
const Name name() const { return m_name_multipolygon; } const Name name() const override { return m_name_multipolygon; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
...@@ -249,8 +249,8 @@ class Type_handler_geometrycollection: public Type_handler_geometry ...@@ -249,8 +249,8 @@ class Type_handler_geometrycollection: public Type_handler_geometry
{ {
static const Name m_name_geometrycollection; static const Name m_name_geometrycollection;
public: public:
geometry_types geometry_type() const { return GEOM_GEOMETRYCOLLECTION; } geometry_types geometry_type() const override { return GEOM_GEOMETRYCOLLECTION; }
const Name name() const { return m_name_geometrycollection; } const Name name() const override { return m_name_geometrycollection; }
Item *make_constructor_item(THD *thd, List<Item> *args) const override; Item *make_constructor_item(THD *thd, List<Item> *args) const override;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment