Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
186ac474
Commit
186ac474
authored
Oct 20, 2023
by
Marko Mäkelä
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MDEV-32324 fixup: clang -Winconsistent-missing-override
parent
1182451a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
65 additions
and
64 deletions
+65
-64
sql/item_subselect.h
sql/item_subselect.h
+65
-64
No files found.
sql/item_subselect.h
View file @
186ac474
...
...
@@ -892,26 +892,26 @@ class subselect_single_select_engine: public subselect_engine
subselect_single_select_engine
(
st_select_lex
*
select
,
select_result_interceptor
*
result
,
Item_subselect
*
item
);
void
cleanup
();
int
prepare
(
THD
*
thd
);
bool
fix_length_and_dec
(
Item_cache
**
row
);
int
exec
();
uint
cols
()
const
;
uint8
uncacheable
();
void
exclude
();
table_map
upper_select_const_tables
();
void
print
(
String
*
str
,
enum_query_type
query_type
)
;
void
cleanup
()
override
;
int
prepare
(
THD
*
thd
)
override
;
bool
fix_length_and_dec
(
Item_cache
**
row
)
override
;
int
exec
()
override
;
uint
cols
()
const
override
;
uint8
uncacheable
()
override
;
void
exclude
()
override
;
table_map
upper_select_const_tables
()
override
;
void
print
(
String
*
str
,
enum_query_type
query_type
)
override
;
bool
change_result
(
Item_subselect
*
si
,
select_result_interceptor
*
result
,
bool
temp
);
bool
temp
)
override
;
bool
no_tables
()
const
override
;
bool
always_returns_one_row
()
const
override
;
bool
may_be_null
();
bool
is_executed
()
const
{
return
executed
;
}
bool
no_rows
();
virtual
enum_engine_type
engine_type
()
{
return
SINGLE_SELECT_ENGINE
;
}
int
get_identifier
();
void
force_reexecution
();
bool
may_be_null
()
override
;
bool
is_executed
()
const
override
{
return
executed
;
}
bool
no_rows
()
override
;
enum_engine_type
engine_type
()
override
{
return
SINGLE_SELECT_ENGINE
;
}
int
get_identifier
()
override
;
void
force_reexecution
()
override
;
void
change_select
(
st_select_lex
*
new_select
)
{
select_lex
=
new_select
;
}
friend
class
subselect_hash_sj_engine
;
...
...
@@ -930,23 +930,23 @@ class subselect_union_engine: public subselect_engine
subselect_union_engine
(
st_select_lex_unit
*
u
,
select_result_interceptor
*
result
,
Item_subselect
*
item
);
void
cleanup
();
int
prepare
(
THD
*
);
bool
fix_length_and_dec
(
Item_cache
**
row
);
int
exec
();
uint
cols
()
const
;
uint8
uncacheable
();
void
exclude
();
table_map
upper_select_const_tables
();
void
print
(
String
*
str
,
enum_query_type
query_type
)
;
void
cleanup
()
override
;
int
prepare
(
THD
*
)
override
;
bool
fix_length_and_dec
(
Item_cache
**
row
)
override
;
int
exec
()
override
;
uint
cols
()
const
override
;
uint8
uncacheable
()
override
;
void
exclude
()
override
;
table_map
upper_select_const_tables
()
override
;
void
print
(
String
*
str
,
enum_query_type
query_type
)
override
;
bool
change_result
(
Item_subselect
*
si
,
select_result_interceptor
*
result
,
bool
temp
=
FALSE
);
bool
temp
=
FALSE
)
override
;
bool
no_tables
()
const
override
;
bool
is_executed
()
const
;
void
force_reexecution
();
bool
no_rows
();
virtual
enum_engine_type
engine_type
()
{
return
UNION_ENGINE
;
}
bool
is_executed
()
const
override
;
void
force_reexecution
()
override
;
bool
no_rows
()
override
;
enum_engine_type
engine_type
()
override
{
return
UNION_ENGINE
;
}
};
...
...
@@ -988,24 +988,24 @@ class subselect_uniquesubquery_engine: public subselect_engine
:
subselect_engine
(
subs
,
0
),
tab
(
tab_arg
),
cond
(
where
)
{}
~
subselect_uniquesubquery_engine
();
void
cleanup
();
int
prepare
(
THD
*
);
bool
fix_length_and_dec
(
Item_cache
**
row
);
int
exec
();
uint
cols
()
const
{
return
1
;
}
uint8
uncacheable
()
{
return
UNCACHEABLE_DEPENDENT_INJECTED
;
}
void
exclude
();
table_map
upper_select_const_tables
()
{
return
0
;
}
void
print
(
String
*
str
,
enum_query_type
query_type
)
;
void
cleanup
()
override
;
int
prepare
(
THD
*
)
override
;
bool
fix_length_and_dec
(
Item_cache
**
row
)
override
;
int
exec
()
override
;
uint
cols
()
const
override
{
return
1
;
}
uint8
uncacheable
()
override
{
return
UNCACHEABLE_DEPENDENT_INJECTED
;
}
void
exclude
()
override
;
table_map
upper_select_const_tables
()
override
{
return
0
;
}
void
print
(
String
*
str
,
enum_query_type
query_type
)
override
;
bool
change_result
(
Item_subselect
*
si
,
select_result_interceptor
*
result
,
bool
temp
=
FALSE
);
bool
temp
=
FALSE
)
override
;
bool
no_tables
()
const
override
;
int
index_lookup
();
/* TIMOUR: this method needs refactoring. */
int
scan_table
();
bool
copy_ref_key
(
bool
skip_constants
);
bool
no_rows
()
{
return
empty_result_set
;
}
virtual
enum_engine_type
engine_type
()
{
return
UNIQUESUBQUERY_ENGINE
;
}
bool
no_rows
()
override
{
return
empty_result_set
;
}
enum_engine_type
engine_type
()
override
{
return
UNIQUESUBQUERY_ENGINE
;
}
};
...
...
@@ -1126,25 +1126,25 @@ class subselect_hash_sj_engine : public subselect_engine
~
subselect_hash_sj_engine
();
bool
init
(
List
<
Item
>
*
tmp_columns
,
uint
subquery_id
);
void
cleanup
();
int
prepare
(
THD
*
);
int
exec
();
void
print
(
String
*
str
,
enum_query_type
query_type
);
uint
cols
()
const
{
return
materialize_engine
->
cols
();
}
uint8
uncacheable
()
{
return
materialize_engine
->
uncacheable
();
}
table_map
upper_select_const_tables
()
{
return
0
;
}
bool
no_rows
()
{
return
!
tmp_table
->
file
->
stats
.
records
;
}
virtual
enum_engine_type
engine_type
()
{
return
HASH_SJ_ENGINE
;
}
void
cleanup
()
override
;
int
prepare
(
THD
*
)
override
;
int
exec
()
override
;
void
print
(
String
*
str
,
enum_query_type
query_type
)
override
;
uint
cols
()
const
override
{
return
materialize_engine
->
cols
();
}
uint8
uncacheable
()
override
{
return
materialize_engine
->
uncacheable
();
}
table_map
upper_select_const_tables
()
override
{
return
0
;
}
bool
no_rows
()
override
{
return
!
tmp_table
->
file
->
stats
.
records
;
}
enum_engine_type
engine_type
()
override
{
return
HASH_SJ_ENGINE
;
}
/*
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.
*/
bool
fix_length_and_dec
(
Item_cache
**
row
);
//=>base class
void
exclude
();
//=>base class
bool
fix_length_and_dec
(
Item_cache
**
row
)
override
;
//=>base class
void
exclude
()
override
;
//=>base class
//=>base class
bool
change_result
(
Item_subselect
*
si
,
select_result_interceptor
*
result
,
bool
temp
=
FALSE
);
bool
temp
=
FALSE
)
override
;
bool
no_tables
()
const
override
;
//=>base class
protected:
...
...
@@ -1410,19 +1410,20 @@ class subselect_partial_match_engine : public subselect_engine
bool
has_covering_null_row_arg
,
bool
has_covering_null_columns_arg
,
uint
count_columns_with_nulls_arg
);
int
prepare
(
THD
*
thd_arg
)
{
set_thd
(
thd_arg
);
return
0
;
}
int
exec
();
bool
fix_length_and_dec
(
Item_cache
**
)
{
return
FALSE
;
}
uint
cols
()
const
{
/* TODO: what is the correct value? */
return
1
;
}
uint8
uncacheable
()
{
return
UNCACHEABLE_DEPENDENT
;
}
void
exclude
()
{}
table_map
upper_select_const_tables
()
{
return
0
;
}
int
prepare
(
THD
*
thd_arg
)
override
{
set_thd
(
thd_arg
);
return
0
;
}
int
exec
()
override
;
bool
fix_length_and_dec
(
Item_cache
**
)
override
{
return
FALSE
;
}
uint
cols
()
const
override
{
/* TODO: what is the correct value? */
return
1
;
}
uint8
uncacheable
()
override
{
return
UNCACHEABLE_DEPENDENT
;
}
void
exclude
()
override
{}
table_map
upper_select_const_tables
()
override
{
return
0
;
}
bool
change_result
(
Item_subselect
*
,
select_result_interceptor
*
,
bool
temp
=
FALSE
)
bool
temp
=
FALSE
)
override
{
DBUG_ASSERT
(
FALSE
);
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
...
...
@@ -1432,7 +1433,7 @@ class subselect_partial_match_engine : public subselect_engine
*/
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
();
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment