|
MySQL 5.6.14 Source Code Document
|


Public Member Functions | |
| sort_ctx (Explain_context_enum type_arg, const char *name_arg, context *parent_arg, const Explain_format_flags *flags, Explain_sort_clause clause) | |
Public Member Functions inherited from opt_explain_json_namespace::join_ctx | |
| join_ctx (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) | |
| virtual bool | add_join_tab (joinable_ctx *ctx) |
| virtual void | set_sort (sort_ctx *ctx) |
| virtual bool | find_and_set_derived (context *subquery) |
| virtual bool | add_subquery (subquery_list_enum subquery_type, subquery_ctx *ctx) |
| virtual bool | format_nested_loop (Opt_trace_context *json) |
| virtual size_t | id (bool hide) |
| virtual bool | cacheable () |
| virtual bool | dependent () |
| virtual bool | add_where_subquery (subquery_ctx *ctx, SELECT_LEX_UNIT *subquery) |
Public Member Functions inherited from opt_explain_json_namespace::unit_ctx | |
| unit_ctx (Explain_context_enum type_arg, const char *name_arg, context *parent_arg) | |
| bool | has_no_subqueries () const |
| virtual bool | format_unit (Opt_trace_context *json) |
| Helper function to format output for HAVING, ORDER/GROUP BY subqueries. | |
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 class qep_row * | entry () |
| 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_query_spec (context *ctx) |
| 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. | |
Public Member Functions inherited from Explain_context | |
| Explain_context (Explain_context_enum type_arg) | |
Protected Member Functions | |
| virtual bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) |
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::join_ctx | |
| List< joinable_ctx > | join_tabs |
| hosted JOIN_TAB nodes | |
| sort_ctx * | sort |
Node class for CTX_SIMPLE_ORDER_BY, CTX_SIMPLE_GROUP_BY and CTX_SIMPLE_DISTINCT
CTX_JOIN context (see join_ctx class) may contain nested loop join node or ORDER BY/GROUP BY/DISTINCT node that is represented by this class:
join: { nested_loop: [ ... ] } or join: { order_by|group_by|distinct : { ... } }
CTX_ORDER_BY may contain nested loop join tree or GROUP BY/DISTINCT node:
order_by: { nested_loop|group_by|distinct: ... }
CTX_DISTINCT context structure:
distinct: { nested_loop|group_by: ... }
CTX_GROUP_BY:
group_by: { nested_loop: [ ... ] }
I.e. the most complex CTX_JOIN may have such a structure of JSON output as:
join: { order_by: { distinct: { group_by: { nested_loop: [ ... ] } } } } TODO
Definition at line 1105 of file opt_explain_json.cc.
|
inlineprotectedvirtual |
Format JSON object body
| json | Formatter |
| obj | Object of this body |
| false | Ok |
| true | Error |
Reimplemented from opt_explain_json_namespace::join_ctx.
Definition at line 1122 of file opt_explain_json.cc.