![]()  | 
  
    MySQL 8.4.7
    
   Source Code Documentation 
   | 
 
Public Member Functions | |
| table_base_ctx (enum_parsing_context type_arg, const char *name_arg, context *parent_arg) | |
| qep_row * | entry () override | 
| size_t | id (bool) override | 
| Analogue of the "id" column in the traditional EXPLAIN output.  More... | |
| bool | cacheable () override | 
| bool | dependent () override | 
  Public Member Functions inherited from opt_explain_json_namespace::context | |
| context (enum_parsing_context type_arg, const char *name_arg, context *parent_arg) | |
| virtual | ~context ()=default | 
| virtual bool | format (Opt_trace_context *json) | 
| Pass the node with its child nodes to a JSON formatter.  More... | |
| bool | is_query_block () const | 
| virtual enum_mod_type | get_mod_type () | 
| virtual void | set_child (context *) | 
| Associate a child node with this node.  More... | |
| virtual void | set_setop_result (setop_result_ctx *) | 
| associate CTX_UNION_RESULT node with CTX_UNION node  More... | |
| virtual bool | add_subquery (subquery_list_enum subquery_type, subquery_ctx *ctx) | 
| Append a subquery node to the specified list of the unit node.  More... | |
| virtual bool | format_nested_loop (Opt_trace_context *json) | 
| Format nested loop join subtree (if any) to JSON formatter.  More... | |
| virtual bool | add_join_tab (joinable_ctx *ctx) | 
| Add a CTX_QEP_TAB node to a CTX_JOIN node.  More... | |
| virtual void | set_sort (sort_ctx *ctx) | 
Set nested ORDER BY/GROUP BY/DISTINCT node to ctx.  More... | |
| virtual void | set_window (window_ctx *ctx) | 
Set nested WINDOW node to ctx.  More... | |
| virtual bool | add_query_spec (context *ctx) | 
| Add a query specification node to the CTX_UNION node.  More... | |
| virtual bool | find_and_set_derived (context *subquery) | 
| Try to associate a derived subquery node with this or underlying node.  More... | |
| virtual int | add_where_subquery (subquery_ctx *ctx, Query_expression *subquery) | 
| Associate WHERE subqueries of given context and unit with this object.  More... | |
| virtual bool | format_derived (Opt_trace_context *) | 
| Helper function to format output for derived subquery if any.  More... | |
| virtual bool | format_where (Opt_trace_context *) | 
| Helper function to format output for associated WHERE subqueries if any.  More... | |
| virtual bool | format_query_expression (Opt_trace_context *) | 
| Helper function to format output for HAVING, ORDER/GROUP BY subqueries.  More... | |
  Public Member Functions inherited from Explain_context | |
| Explain_context (enum_parsing_context type_arg) | |
  Public Member Functions inherited from qep_row | |
| qep_row () | |
| virtual | ~qep_row ()=default | 
| void | cleanup () | 
| virtual void | register_where_subquery (Query_expression *subquery) | 
| Remember a subquery's unit.  More... | |
| void | format_extra (Opt_trace_object *obj) | 
Protected Member Functions | |
| bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) override | 
| Format JSON object body.  More... | |
Protected Attributes | |
| bool | is_hidden_id | 
| if true, don't output K_SELECT_ID property  More... | |
  Protected Attributes inherited from opt_explain_json_namespace::context | |
| const char * | name | 
Additional Inherited Members | |
  Public Attributes inherited from opt_explain_json_namespace::context | |
| context * | parent | 
| link to parent node or NULL  More... | |
  Public Attributes inherited from Explain_context | |
| enum_parsing_context | type | 
| type tag  More... | |
  Public Attributes inherited from qep_row | |
| column< uint > | col_id | 
| "id" column: seq. number of SELECT within the query  More... | |
| column< enum_explain_type > | col_select_type | 
| "select_type" column  More... | |
| mem_root_str | col_table_name | 
| "table" to which the row of output refers  More... | |
| List< const char > | col_partitions | 
| "partitions" column  More... | |
| mem_root_str | col_join_type | 
| "type" column, see join_type_str array  More... | |
| List< const char > | col_possible_keys | 
| "possible_keys": comma-separated list  More... | |
| mem_root_str | col_key | 
| "key" column: index that is actually decided to use  More... | |
| mem_root_str | col_key_len | 
| "key_length" column: length of the "key" above  More... | |
| List< const char > | col_ref | 
| "ref":columns/constants which are compared to "key"  More... | |
| column< float > | col_filtered | 
| "filtered": % of rows filtered by condition  More... | |
| List< extra > | col_extra | 
| "extra" column (traditional) or property list  More... | |
| mem_root_str | col_message | 
| replaces "Extra" column if not empty  More... | |
| mem_root_str | col_attached_condition | 
| former "Using where"  More... | |
| column< ulonglong > | col_rows | 
| "rows": estimated number of examined table rows per single scan  More... | |
| column< ulonglong > | col_prefix_rows | 
| "rows": estimated number of examined table rows per query  More... | |
| column< double > | col_read_cost | 
| Time to read the table.  More... | |
| column< double > | col_prefix_cost | 
| Cost of the partial join including this table.  More... | |
| column< double > | col_cond_cost | 
| Cost of evaluating conditions on this table per query.  More... | |
| mem_root_str | col_data_size_query | 
| Size of data expected to be read per query.  More... | |
| List< const char > | col_used_columns | 
| List of used columns.  More... | |
| List< const char > | col_partial_update_columns | 
| List of columns that can be updated using partial update.  More... | |
| uint | query_block_id | 
| query block id for materialized subqueries  More... | |
| List< opt_explain_json_namespace::context > | derived_from | 
| List of "derived" subquery trees.  More... | |
| List< const char > | col_key_parts | 
| used parts of the key  More... | |
| bool | is_dependent | 
| bool | is_cacheable | 
| bool | using_temporary | 
| enum_mod_type | mod_type | 
| bool | is_materialized_from_subquery | 
| uint | derived_clone_id | 
| If a clone of a materialized derived table, this is the ID of the first underlying query block of the first materialized derived table.  More... | |
| List< Window > * | m_windows | 
| Windows to describe in this node.  More... | |
      
  | 
  inline | 
      
  | 
  inlineoverridevirtual | 
      
  | 
  inlineoverridevirtual | 
      
  | 
  inlineoverridevirtual | 
      
  | 
  overrideprotectedvirtual | 
Format JSON object body.
| json | Formatter | 
| obj | Object of this body | 
| false | Ok | 
| true | Error | 
Implements opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::setop_result_ctx, opt_explain_json_namespace::message_ctx, opt_explain_json_namespace::join_tab_ctx, and opt_explain_json_namespace::materialize_ctx.
      
  | 
  inlineoverridevirtual | 
Analogue of the "id" column in the traditional EXPLAIN output.
| hide | if true, ban the output of K_SELECT_ID JSON property in the underlying table_with_where_and_derived_ctx objects | 
Implements opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::setop_result_ctx, opt_explain_json_namespace::table_with_where_and_derived, opt_explain_json_namespace::message_ctx, opt_explain_json_namespace::join_tab_ctx, and opt_explain_json_namespace::materialize_ctx.
      
  | 
  protected | 
if true, don't output K_SELECT_ID property