MySQL 8.0.39
Source Code Documentation
|
Sql_cmd_analyze_table represents the ANALYZE TABLE statement. More...
#include <sql_admin.h>
Public Types | |
enum class | Histogram_command { NONE , UPDATE_HISTOGRAM , DROP_HISTOGRAM } |
Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM that is specified after ANALYZE TABLE tbl. More... | |
Public Member Functions | |
Sql_cmd_analyze_table (THD *thd, Alter_info *alter_info, Histogram_command histogram_command, int histogram_buckets, LEX_STRING data) | |
Constructor, used to represent a ANALYZE TABLE statement. More... | |
bool | execute (THD *thd) override |
Execute this SQL statement. More... | |
enum_sql_command | sql_command_code () const override |
Return the command code for this statement. More... | |
bool | set_histogram_fields (List< String > *fields) |
Set which fields to (try and) create/update or delete histogram statistics for. More... | |
Public Member Functions inherited from Sql_cmd_ddl_table | |
Sql_cmd_ddl_table (Alter_info *alter_info) | |
~Sql_cmd_ddl_table () override=0 | |
Public Member Functions inherited from Sql_cmd | |
bool | needs_explicit_preparation () const |
bool | is_regular () const |
bool | is_prepared () const |
virtual bool | prepare (THD *) |
Prepare this SQL statement. More... | |
virtual void | cleanup (THD *) |
Command-specific reinitialization before execution of prepared statement. More... | |
void | set_owner (Prepared_statement *stmt) |
Set the owning prepared statement. More... | |
Prepared_statement * | owner () const |
Get the owning prepared statement. More... | |
void | set_as_part_of_sp () |
Mark statement as part of procedure. More... | |
bool | is_part_of_sp () const |
virtual bool | is_dml () const |
virtual bool | is_single_table_plan () const |
virtual bool | accept (THD *, Select_lex_visitor *) |
virtual const MYSQL_LEX_CSTRING * | eligible_secondary_storage_engine () const |
Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More... | |
void | disable_secondary_storage_engine () |
Disable use of secondary storage engines in this statement. More... | |
bool | secondary_storage_engine_disabled () const |
Has use of secondary storage engines been disabled for this statement? More... | |
void | use_secondary_storage_engine (const handlerton *hton) |
Mark the current statement as using a secondary storage engine. More... | |
bool | using_secondary_storage_engine () const |
Is this statement using a secondary storage engine? More... | |
const handlerton * | secondary_engine () const |
Get the handlerton of the secondary engine that is used for executing this statement, or nullptr if a secondary engine is not used. More... | |
void | set_optional_transform_prepared (bool value) |
bool | is_optional_transform_prepared () |
Private Types | |
using | columns_set = std::set< String *, Column_name_comparator, Mem_root_allocator< String * > > |
Private Member Functions | |
Histogram_command | get_histogram_command () const |
int | get_histogram_buckets () const |
LEX_STRING | get_histogram_data_string () const |
const columns_set & | get_histogram_fields () const |
bool | send_histogram_results (THD *thd, const histograms::results_map &results, const Table_ref *table) |
Send the result of histogram operations back to the client as a result set. More... | |
bool | update_histogram (THD *thd, Table_ref *table, histograms::results_map &results) |
Update one or more histograms. More... | |
bool | drop_histogram (THD *thd, Table_ref *table, histograms::results_map &results) |
Drops one or more histograms. More... | |
bool | handle_histogram_command (THD *thd, Table_ref *table) |
Private Attributes | |
Histogram_command | m_histogram_command = Histogram_command::NONE |
Which histogram command (if any) is specified. More... | |
columns_set | m_histogram_fields |
The fields specified by the user in UPDATE/DROP HISTOGRAM. More... | |
int | m_histogram_buckets |
The number of buckets specified by the user in UPDATE HISTOGRAM. More... | |
const LEX_STRING | m_data |
The histogram json literal for update. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Sql_cmd | |
Sql_cmd () | |
virtual | ~Sql_cmd () |
void | set_prepared () |
Set this statement as prepared. More... | |
Protected Attributes inherited from Sql_cmd_ddl_table | |
Alter_info *const | m_alter_info |
Sql_cmd_analyze_table represents the ANALYZE TABLE statement.
Also this class is a base class for Sql_cmd_alter_table_analyze_partition which represents the ALTER TABLE ... ANALYZE PARTITION statement.
|
private |
|
strong |
Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM that is specified after ANALYZE TABLE tbl.
Sql_cmd_analyze_table::Sql_cmd_analyze_table | ( | THD * | thd, |
Alter_info * | alter_info, | ||
Histogram_command | histogram_command, | ||
int | histogram_buckets, | ||
LEX_STRING | data | ||
) |
Constructor, used to represent a ANALYZE TABLE statement.
|
private |
Drops one or more histograms.
This is invoked by running the command "ANALYZE TABLE tbl DROP HISTOGRAM ON col1, col2;". Note that the function expects exactly one table to be specified, but multiple columns can be specified.
thd | Thread handler. |
table | The table specified in ANALYZE TABLE |
results | A map where the results of the operations will be stored. |
|
overridevirtual |
Execute this SQL statement.
thd | the current thread. |
Implements Sql_cmd.
Reimplemented in Sql_cmd_alter_table_analyze_partition.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
private |
Send the result of histogram operations back to the client as a result set.
thd | Thread handle. |
results | The messages to send back to the client. |
table | The table the operations was performed on. |
Set which fields to (try and) create/update or delete histogram statistics for.
|
inlineoverridevirtual |
Return the command code for this statement.
Implements Sql_cmd.
Reimplemented in Sql_cmd_alter_table_analyze_partition.
|
private |
Update one or more histograms.
This is invoked by running the command "ANALYZE TABLE tbl UPDATE HISTOGRAM ON col1, col2 WITH n BUCKETS". Note that the function expects exactly one table to be specified, but multiple columns can be specified.
thd | Thread handler. |
table | The table specified in ANALYZE TABLE |
results | A map where the results of the operations will be stored. |
|
private |
The histogram json literal for update.
|
private |
The number of buckets specified by the user in UPDATE HISTOGRAM.
|
private |
Which histogram command (if any) is specified.
|
private |
The fields specified by the user in UPDATE/DROP HISTOGRAM.