![]()  | 
  
    MySQL 8.0.44
    
   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.