MySQL 5.6.14 Source Code Document
|
Public Member Functions | |
join_tab_ctx (Explain_context_enum type_arg, context *parent_arg) | |
virtual bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) |
virtual size_t | id (bool hide) |
virtual bool | cacheable () |
virtual bool | dependent () |
virtual qep_row * | entry () |
virtual bool | format_derived (Opt_trace_context *json) |
Helper function to format output for derived subquery if any. | |
virtual bool | format_where (Opt_trace_context *json) |
Helper function to format output for associated WHERE subqueries if any. | |
virtual void | register_where_subquery (SELECT_LEX_UNIT *subquery) |
virtual bool | add_where_subquery (subquery_ctx *ctx, SELECT_LEX_UNIT *subquery) |
virtual bool | find_and_set_derived (context *subquery) |
Public Member Functions inherited from opt_explain_json_namespace::joinable_ctx | |
joinable_ctx (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) | |
Public Member Functions inherited from opt_explain_json_namespace::context | |
context (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) | |
virtual bool | format (Opt_trace_context *json) |
bool | is_query_block () const |
virtual void | set_child (context *child) |
virtual void | set_union_result (union_result_ctx *ctx) |
associate CTX_UNION_RESULT node with CTX_UNION node | |
virtual bool | add_subquery (subquery_list_enum subquery_type, subquery_ctx *ctx) |
virtual bool | format_nested_loop (Opt_trace_context *json) |
virtual bool | add_join_tab (joinable_ctx *ctx) |
virtual void | set_sort (sort_ctx *ctx) |
virtual bool | add_query_spec (context *ctx) |
virtual bool | format_unit (Opt_trace_context *json) |
Helper function to format output for HAVING, ORDER/GROUP BY subqueries. | |
Public Member Functions inherited from Explain_context | |
Explain_context (Explain_context_enum type_arg) | |
Public Member Functions inherited from opt_explain_json_namespace::table_with_where_and_derived | |
table_with_where_and_derived (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) | |
Public Member Functions inherited from opt_explain_json_namespace::table_base_ctx | |
table_base_ctx (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) |
Additional Inherited Members | |
Static Public Member Functions inherited from Sql_alloc | |
static void * | operator new (size_t size) throw () |
static void * | operator new[] (size_t size) throw () |
static void * | operator new[] (size_t size, MEM_ROOT *mem_root) throw () |
static void * | operator new (size_t size, MEM_ROOT *mem_root) throw () |
static void | operator delete (void *ptr, size_t size) |
static void | operator delete (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, MEM_ROOT *mem_root) |
static void | operator delete[] (void *ptr, size_t size) |
Public Attributes inherited from opt_explain_json_namespace::context | |
context * | parent |
link to parent node or NULL | |
Protected Attributes inherited from opt_explain_json_namespace::context | |
const char * | name |
Protected Attributes inherited from opt_explain_json_namespace::table_with_where_and_derived | |
List< subquery_ctx > | where_subqueries |
associated WHERE clause subqueries |
Node class for the CTX_JOIN_TAB context
Definition at line 843 of file opt_explain_json.cc.
|
inlinevirtual |
Associate WHERE subqueries of given context and unit with this object
ctx | Context of WHERE subquery |
subquery | For CTX_JOIN_TAB: match given unit with a previously collected by the register_where_subquery function. |
Reimplemented from opt_explain_json_namespace::context.
Definition at line 891 of file opt_explain_json.cc.
|
inlinevirtual |
Try to associate a derived subquery node with this or underlying node
subquery | Derived subquery node |
true | Success |
false | Can't associate: this node or its child nodes are not derived from the subquery |
Reimplemented from opt_explain_json_namespace::context.
Definition at line 904 of file opt_explain_json.cc.
|
inlinevirtual |
Format JSON object body
json | Formatter |
obj | Object of this body |
false | Ok |
true | Error |
Implements opt_explain_json_namespace::context.
Definition at line 862 of file opt_explain_json.cc.
|
inlinevirtual |
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 |
Reimplemented from opt_explain_json_namespace::table_with_where_and_derived.
Definition at line 864 of file opt_explain_json.cc.
|
inlinevirtual |
Remember a subquery's unit
JOIN_TAB inside a JOIN, a table in a join-less query (single-table UPDATE/DELETE) or a table that's optimized out may have a WHERE condition. We create the Explain_context of such a JOIN_TAB or table when the Explain_context objects of its in-WHERE subqueries don't exist. This function collects unit pointers of WHERE subqueries that are associated with the current JOIN_TAB or table. Then we can match these units with units of newly-created Explain_context objects of WHERE subqueries.
subquery | WHERE clause subquery's unit |
Reimplemented from qep_row.
Definition at line 874 of file opt_explain_json.cc.