My Project
|
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) | |
Protected Member Functions | |
virtual bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) |
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
virtual bool opt_explain_json_namespace::sort_ctx::format_body | ( | Opt_trace_context * | json, |
Opt_trace_object * | obj | ||
) | [inline, protected, virtual] |
Format JSON object body
json | Formatter |
obj | Object of this body |
false | Ok |
true | Error |
Reimplemented from opt_explain_json_namespace::join_ctx.