Commit 186ac474 authored by Marko Mäkelä's avatar Marko Mäkelä

MDEV-32324 fixup: clang -Winconsistent-missing-override

parent 1182451a
...@@ -892,26 +892,26 @@ class subselect_single_select_engine: public subselect_engine ...@@ -892,26 +892,26 @@ class subselect_single_select_engine: public subselect_engine
subselect_single_select_engine(st_select_lex *select, subselect_single_select_engine(st_select_lex *select,
select_result_interceptor *result, select_result_interceptor *result,
Item_subselect *item); Item_subselect *item);
void cleanup(); void cleanup() override;
int prepare(THD *thd); int prepare(THD *thd) override;
bool fix_length_and_dec(Item_cache** row); bool fix_length_and_dec(Item_cache** row) override;
int exec(); int exec() override;
uint cols() const; uint cols() const override;
uint8 uncacheable(); uint8 uncacheable() override;
void exclude(); void exclude() override;
table_map upper_select_const_tables(); table_map upper_select_const_tables() override;
void print (String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
bool change_result(Item_subselect *si, bool change_result(Item_subselect *si,
select_result_interceptor *result, select_result_interceptor *result,
bool temp); bool temp) override;
bool no_tables() const override; bool no_tables() const override;
bool always_returns_one_row() const override; bool always_returns_one_row() const override;
bool may_be_null(); bool may_be_null() override;
bool is_executed() const { return executed; } bool is_executed() const override { return executed; }
bool no_rows(); bool no_rows() override;
virtual enum_engine_type engine_type() { return SINGLE_SELECT_ENGINE; } enum_engine_type engine_type() override { return SINGLE_SELECT_ENGINE; }
int get_identifier(); int get_identifier() override;
void force_reexecution(); void force_reexecution() override;
void change_select(st_select_lex *new_select) { select_lex= new_select; } void change_select(st_select_lex *new_select) { select_lex= new_select; }
friend class subselect_hash_sj_engine; friend class subselect_hash_sj_engine;
...@@ -930,23 +930,23 @@ class subselect_union_engine: public subselect_engine ...@@ -930,23 +930,23 @@ class subselect_union_engine: public subselect_engine
subselect_union_engine(st_select_lex_unit *u, subselect_union_engine(st_select_lex_unit *u,
select_result_interceptor *result, select_result_interceptor *result,
Item_subselect *item); Item_subselect *item);
void cleanup(); void cleanup() override;
int prepare(THD *); int prepare(THD *) override;
bool fix_length_and_dec(Item_cache** row); bool fix_length_and_dec(Item_cache** row) override;
int exec(); int exec() override;
uint cols() const; uint cols() const override;
uint8 uncacheable(); uint8 uncacheable() override;
void exclude(); void exclude() override;
table_map upper_select_const_tables(); table_map upper_select_const_tables() override;
void print (String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
bool change_result(Item_subselect *si, bool change_result(Item_subselect *si,
select_result_interceptor *result, select_result_interceptor *result,
bool temp= FALSE); bool temp= FALSE) override;
bool no_tables() const override; bool no_tables() const override;
bool is_executed() const; bool is_executed() const override;
void force_reexecution(); void force_reexecution() override;
bool no_rows(); bool no_rows() override;
virtual enum_engine_type engine_type() { return UNION_ENGINE; } enum_engine_type engine_type() override { return UNION_ENGINE; }
}; };
...@@ -988,24 +988,24 @@ class subselect_uniquesubquery_engine: public subselect_engine ...@@ -988,24 +988,24 @@ class subselect_uniquesubquery_engine: public subselect_engine
:subselect_engine(subs, 0), tab(tab_arg), cond(where) :subselect_engine(subs, 0), tab(tab_arg), cond(where)
{} {}
~subselect_uniquesubquery_engine(); ~subselect_uniquesubquery_engine();
void cleanup(); void cleanup() override;
int prepare(THD *); int prepare(THD *) override;
bool fix_length_and_dec(Item_cache** row); bool fix_length_and_dec(Item_cache** row) override;
int exec(); int exec() override;
uint cols() const { return 1; } uint cols() const override { return 1; }
uint8 uncacheable() { return UNCACHEABLE_DEPENDENT_INJECTED; } uint8 uncacheable() override { return UNCACHEABLE_DEPENDENT_INJECTED; }
void exclude(); void exclude() override;
table_map upper_select_const_tables() { return 0; } table_map upper_select_const_tables() override { return 0; }
void print (String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
bool change_result(Item_subselect *si, bool change_result(Item_subselect *si,
select_result_interceptor *result, select_result_interceptor *result,
bool temp= FALSE); bool temp= FALSE) override;
bool no_tables() const override; bool no_tables() const override;
int index_lookup(); /* TIMOUR: this method needs refactoring. */ int index_lookup(); /* TIMOUR: this method needs refactoring. */
int scan_table(); int scan_table();
bool copy_ref_key(bool skip_constants); bool copy_ref_key(bool skip_constants);
bool no_rows() { return empty_result_set; } bool no_rows() override { return empty_result_set; }
virtual enum_engine_type engine_type() { return UNIQUESUBQUERY_ENGINE; } enum_engine_type engine_type() override { return UNIQUESUBQUERY_ENGINE; }
}; };
...@@ -1126,25 +1126,25 @@ class subselect_hash_sj_engine : public subselect_engine ...@@ -1126,25 +1126,25 @@ class subselect_hash_sj_engine : public subselect_engine
~subselect_hash_sj_engine(); ~subselect_hash_sj_engine();
bool init(List<Item> *tmp_columns, uint subquery_id); bool init(List<Item> *tmp_columns, uint subquery_id);
void cleanup(); void cleanup() override;
int prepare(THD *); int prepare(THD *) override;
int exec(); int exec() override;
void print(String *str, enum_query_type query_type); void print(String *str, enum_query_type query_type) override;
uint cols() const { return materialize_engine->cols(); } uint cols() const override { return materialize_engine->cols(); }
uint8 uncacheable() { return materialize_engine->uncacheable(); } uint8 uncacheable() override { return materialize_engine->uncacheable(); }
table_map upper_select_const_tables() { return 0; } table_map upper_select_const_tables() override { return 0; }
bool no_rows() { return !tmp_table->file->stats.records; } bool no_rows() override { return !tmp_table->file->stats.records; }
virtual enum_engine_type engine_type() { return HASH_SJ_ENGINE; } enum_engine_type engine_type() override { return HASH_SJ_ENGINE; }
/* /*
TODO: factor out all these methods in a base subselect_index_engine class TODO: factor out all these methods in a base subselect_index_engine class
because all of them have dummy implementations and should never be called. because all of them have dummy implementations and should never be called.
*/ */
bool fix_length_and_dec(Item_cache** row);//=>base class bool fix_length_and_dec(Item_cache** row) override;//=>base class
void exclude(); //=>base class void exclude() override; //=>base class
//=>base class //=>base class
bool change_result(Item_subselect *si, bool change_result(Item_subselect *si,
select_result_interceptor *result, select_result_interceptor *result,
bool temp= FALSE); bool temp= FALSE) override;
bool no_tables() const override;//=>base class bool no_tables() const override;//=>base class
protected: protected:
...@@ -1410,19 +1410,20 @@ class subselect_partial_match_engine : public subselect_engine ...@@ -1410,19 +1410,20 @@ class subselect_partial_match_engine : public subselect_engine
bool has_covering_null_row_arg, bool has_covering_null_row_arg,
bool has_covering_null_columns_arg, bool has_covering_null_columns_arg,
uint count_columns_with_nulls_arg); uint count_columns_with_nulls_arg);
int prepare(THD *thd_arg) { set_thd(thd_arg); return 0; } int prepare(THD *thd_arg) override { set_thd(thd_arg); return 0; }
int exec(); int exec() override;
bool fix_length_and_dec(Item_cache**) { return FALSE; } bool fix_length_and_dec(Item_cache**) override { return FALSE; }
uint cols() const { /* TODO: what is the correct value? */ return 1; } uint cols() const override
uint8 uncacheable() { return UNCACHEABLE_DEPENDENT; } { /* TODO: what is the correct value? */ return 1; }
void exclude() {} uint8 uncacheable() override { return UNCACHEABLE_DEPENDENT; }
table_map upper_select_const_tables() { return 0; } void exclude() override {}
table_map upper_select_const_tables() override { return 0; }
bool change_result(Item_subselect*, bool change_result(Item_subselect*,
select_result_interceptor*, select_result_interceptor*,
bool temp= FALSE) bool temp= FALSE) override
{ DBUG_ASSERT(FALSE); return false; } { DBUG_ASSERT(FALSE); return false; }
bool no_tables() const override { return false; } bool no_tables() const override { return false; }
bool no_rows() bool no_rows() override
{ {
/* /*
TODO: It is completely unclear what is the semantics of this TODO: It is completely unclear what is the semantics of this
...@@ -1432,7 +1433,7 @@ class subselect_partial_match_engine : public subselect_engine ...@@ -1432,7 +1433,7 @@ class subselect_partial_match_engine : public subselect_engine
*/ */
return !(((Item_in_subselect *) item)->null_value); return !(((Item_in_subselect *) item)->null_value);
} }
void print(String*, enum_query_type); void print(String*, enum_query_type) override;
friend void subselect_hash_sj_engine::cleanup(); friend void subselect_hash_sj_engine::cleanup();
}; };
......
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