|
My Project
|
Public Member Functions | |
| 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) |
Protected Member Functions | |
| virtual bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) |
Protected Attributes | |
| List< joinable_ctx > | join_tabs |
| hosted JOIN_TAB nodes | |
| sort_ctx * | sort |
Node class for the CTX_JOIN context
| virtual bool opt_explain_json_namespace::join_ctx::add_join_tab | ( | joinable_ctx * | ctx | ) | [inline, virtual] |
Add a CTX_JOIN_TAB node to a CTX_JOIN node
| ctx | CTX_JOIN_TAB node |
| false | Ok |
| true | Error |
Reimplemented from opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
| bool opt_explain_json_namespace::join_ctx::add_subquery | ( | subquery_list_enum | subquery_type, |
| subquery_ctx * | ctx | ||
| ) | [virtual] |
Append a subquery node to the specified list of the unit node
| subquery_type | Describes the Item tree where the subquery exists |
| ctx | Subquery node |
| false | Ok |
| true | Error |
Reimplemented from opt_explain_json_namespace::unit_ctx.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, opt_explain_json_namespace::materialize_ctx, and opt_explain_json_namespace::sort_with_subqueries_ctx.
| bool opt_explain_json_namespace::join_ctx::add_where_subquery | ( | subquery_ctx * | ctx, |
| SELECT_LEX_UNIT * | subquery | ||
| ) | [virtual] |
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.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
| bool opt_explain_json_namespace::join_ctx::find_and_set_derived | ( | context * | subquery | ) | [virtual] |
Associate a CTX_DERIVED node with its CTX_JOIN_TAB node
| subquery | derived subquery tree |
Reimplemented from opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
| bool opt_explain_json_namespace::join_ctx::format_body | ( | Opt_trace_context * | json, |
| Opt_trace_object * | obj | ||
| ) | [protected, virtual] |
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::sort_ctx.
| bool opt_explain_json_namespace::join_ctx::format_nested_loop | ( | Opt_trace_context * | json | ) | [virtual] |
Format nested loop join subtree (if any) to JSON formatter
| json | Formatter |
| false | Ok |
| true | Error |
Reimplemented from opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
| size_t opt_explain_json_namespace::join_ctx::id | ( | bool | hide | ) | [virtual] |
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::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
| virtual void opt_explain_json_namespace::join_ctx::set_sort | ( | sort_ctx * | ctx | ) | [inline, virtual] |
Set nested ORDER BY/GROUP BY/DISTINCT node to ctx
| json | Formatter |
| false | Ok |
| true | Error |
Reimplemented from opt_explain_json_namespace::context.
Reimplemented in opt_explain_json_namespace::duplication_weedout_ctx, and opt_explain_json_namespace::materialize_ctx.
1.7.6.1