Commit ee584137 authored by Eugene Kosov's avatar Eugene Kosov

fix clang compilation

parent 846174c5
...@@ -367,36 +367,37 @@ class Item_in_optimizer: public Item_bool_func ...@@ -367,36 +367,37 @@ class Item_in_optimizer: public Item_bool_func
Item_bool_func(thd, a, b), cache(0), expr_cache(0), Item_bool_func(thd, a, b), cache(0), expr_cache(0),
save_cache(0), result_for_null_param(UNKNOWN) save_cache(0), result_for_null_param(UNKNOWN)
{ m_with_subquery= true; } { m_with_subquery= true; }
bool fix_fields(THD *, Item **); bool fix_fields(THD *, Item **) override;
bool fix_left(THD *thd); bool fix_left(THD *thd);
table_map not_null_tables() const { return 0; } table_map not_null_tables() const override { return 0; }
bool is_null(); bool is_null() override;
longlong val_int(); longlong val_int() override;
void cleanup(); void cleanup() override;
enum Functype functype() const { return IN_OPTIMIZER_FUNC; } enum Functype functype() const override { return IN_OPTIMIZER_FUNC; }
const char *func_name() const { return "<in_optimizer>"; } const char *func_name() const override { return "<in_optimizer>"; }
Item_cache **get_cache() { return &cache; } Item_cache **get_cache() { return &cache; }
void keep_top_level_cache(); void keep_top_level_cache();
Item *transform(THD *thd, Item_transformer transformer, uchar *arg); Item *transform(THD *thd, Item_transformer transformer, uchar *arg) override;
virtual Item *expr_cache_insert_transformer(THD *thd, uchar *unused); Item *expr_cache_insert_transformer(THD *thd, uchar *unused) override;
bool is_expensive_processor(void *arg); bool is_expensive_processor(void *arg) override;
bool is_expensive(); bool is_expensive() override;
void set_join_tab_idx(uint join_tab_idx_arg) void set_join_tab_idx(uint join_tab_idx_arg) override
{ args[1]->set_join_tab_idx(join_tab_idx_arg); } { args[1]->set_join_tab_idx(join_tab_idx_arg); }
virtual void get_cache_parameters(List<Item> &parameters); void get_cache_parameters(List<Item> &parameters) override;
bool is_top_level_item() const override; bool is_top_level_item() const override;
bool eval_not_null_tables(void *opt_arg); bool eval_not_null_tables(void *opt_arg) override;
bool find_not_null_fields(table_map allowed); bool find_not_null_fields(table_map allowed) override;
void fix_after_pullout(st_select_lex *new_parent, Item **ref, bool merge); void fix_after_pullout(st_select_lex *new_parent, Item **ref,
bool merge) override;
bool invisible_mode(); bool invisible_mode();
void reset_cache() { cache= NULL; } void reset_cache() { cache= NULL; }
virtual void print(String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
void restore_first_argument(); void restore_first_argument();
Item* get_wrapped_in_subselect_item() Item* get_wrapped_in_subselect_item()
{ return args[1]; } { return args[1]; }
Item *get_copy(THD *thd) Item *get_copy(THD *thd) override
{ return get_item_copy<Item_in_optimizer>(thd, this); } { return get_item_copy<Item_in_optimizer>(thd, this); }
enum precedence precedence() const { return args[1]->precedence(); } enum precedence precedence() const override { return args[1]->precedence(); }
}; };
...@@ -601,17 +602,17 @@ class Item_func_not :public Item_bool_func ...@@ -601,17 +602,17 @@ class Item_func_not :public Item_bool_func
public: public:
Item_func_not(THD *thd, Item *a): Item_func_not(THD *thd, Item *a):
Item_bool_func(thd, a), abort_on_null(FALSE) {} Item_bool_func(thd, a), abort_on_null(FALSE) {}
virtual void top_level_item() { abort_on_null= 1; } void top_level_item() override { abort_on_null= 1; }
bool is_top_level_item() const override { return abort_on_null; } bool is_top_level_item() const override { return abort_on_null; }
longlong val_int(); longlong val_int() override;
enum Functype functype() const { return NOT_FUNC; } enum Functype functype() const override { return NOT_FUNC; }
const char *func_name() const { return "not"; } const char *func_name() const override { return "not"; }
bool find_not_null_fields(table_map allowed) { return false; } bool find_not_null_fields(table_map allowed) override { return false; }
enum precedence precedence() const { return BANG_PRECEDENCE; } enum precedence precedence() const override { return BANG_PRECEDENCE; }
Item *neg_transformer(THD *thd); Item *neg_transformer(THD *thd) override;
bool fix_fields(THD *, Item **); bool fix_fields(THD *, Item **) override;
virtual void print(String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
Item *get_copy(THD *thd) Item *get_copy(THD *thd) override
{ return get_item_copy<Item_func_not>(thd, this); } { return get_item_copy<Item_func_not>(thd, this); }
}; };
...@@ -889,19 +890,22 @@ class Item_func_opt_neg :public Item_bool_func ...@@ -889,19 +890,22 @@ class Item_func_opt_neg :public Item_bool_func
Item_func_opt_neg(THD *thd, List<Item> &list): Item_func_opt_neg(THD *thd, List<Item> &list):
Item_bool_func(thd, list), negated(0), pred_level(0) {} Item_bool_func(thd, list), negated(0), pred_level(0) {}
public: public:
inline void top_level_item() { pred_level= 1; } void top_level_item() override { pred_level= 1; }
bool is_top_level_item() const override { return pred_level; } bool is_top_level_item() const override { return pred_level; }
Item *neg_transformer(THD *thd) Item *neg_transformer(THD *thd) override
{ {
negated= !negated; negated= !negated;
return this; return this;
} }
bool eq(const Item *item, bool binary_cmp) const; bool eq(const Item *item, bool binary_cmp) const override;
CHARSET_INFO *compare_collation() const { return cmp_collation.collation; } CHARSET_INFO *compare_collation() const override
Item* propagate_equal_fields(THD *, const Context &, COND_EQUAL *) = 0; {
return cmp_collation.collation;
}
Item *propagate_equal_fields(THD *, const Context &,
COND_EQUAL *) override= 0;
}; };
class Item_func_between :public Item_func_opt_neg class Item_func_between :public Item_func_opt_neg
{ {
protected: protected:
......
This diff is collapsed.
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