![]() |
MySQL 8.0.43
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 bool | reprepare_on_execute_required () const |
| Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure. 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.