MySQL 8.4.0
Source Code Documentation
|
Base class for CTX_ORDER_BY, CTX_GROUP_BY and node class for CTX_DISTINCT. More...
Public Member Functions | |
simple_sort_ctx (enum_parsing_context type_arg, const char *name_arg, context *parent_arg, const Explain_format_flags *flags, Explain_sort_clause clause) | |
bool | add_join_tab (joinable_ctx *ctx) override |
Add a CTX_QEP_TAB node to a CTX_JOIN node. More... | |
int | add_where_subquery (subquery_ctx *ctx, Query_expression *subquery) override |
Associate WHERE subqueries of given context and unit with this object. More... | |
bool | find_and_set_derived (context *subquery) override |
Try to associate a derived subquery node with this or underlying node. More... | |
size_t | id (bool hide) 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::joinable_ctx | |
joinable_ctx (enum_parsing_context type_arg, const char *name_arg, context *parent_arg) | |
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 class qep_row * | entry () |
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 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 | 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) | |
Protected Member Functions | |
bool | format_body (Opt_trace_context *json, Opt_trace_object *obj) override |
Format JSON object body. More... | |
Protected Attributes | |
joinable_ctx * | join_tab |
Single JOIN_TAB that we sort. More... | |
Protected Attributes inherited from opt_explain_json_namespace::context | |
const char * | name |
Private Attributes | |
const bool | using_tmptable |
True if the clause creates intermediate table. More... | |
const bool | using_filesort |
True if the clause uses filesort. More... | |
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... | |
Base class for CTX_ORDER_BY, CTX_GROUP_BY and node class for CTX_DISTINCT.
This class represents context for simple ORDER BY/GROUP BY/DISTINCT clauses (the clause is effective for the single JOIN_TAB).
|
inline |
|
inlineoverridevirtual |
Add a CTX_QEP_TAB node to a CTX_JOIN node.
ctx | CTX_QEP_TAB node |
false | Ok |
true | Error |
Reimplemented from opt_explain_json_namespace::context.
|
inlineoverridevirtual |
Associate WHERE subqueries of given context and unit with this object.
ctx | Context of WHERE subquery |
subquery | For CTX_QEP_TAB: match given unit with a previously collected by the register_where_subquery function. |
Reimplemented from opt_explain_json_namespace::context.
|
inlineoverridevirtual |
Reimplemented from opt_explain_json_namespace::context.
|
inlineoverridevirtual |
Reimplemented from opt_explain_json_namespace::context.
|
inlineoverridevirtual |
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.
|
inlineoverrideprotectedvirtual |
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::simple_sort_with_subqueries_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.
|
protected |
Single JOIN_TAB that we sort.
|
private |
True if the clause uses filesort.
|
private |
True if the clause creates intermediate table.