My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions
opt_explain_json_namespace::duplication_weedout_ctx Class Reference
Inheritance diagram for opt_explain_json_namespace::duplication_weedout_ctx:
opt_explain_json_namespace::joinable_ctx opt_explain_json_namespace::join_ctx opt_explain_json_namespace::context opt_explain_json_namespace::unit_ctx Explain_context opt_explain_json_namespace::context Sql_alloc Explain_context Sql_alloc

List of all members.

Public Member Functions

 duplication_weedout_ctx (context *parent_arg)
virtual size_t id (bool hide)
virtual bool cacheable ()
virtual bool dependent ()
virtual bool add_join_tab (joinable_ctx *ctx)
virtual bool add_subquery (subquery_list_enum subquery_type, subquery_ctx *ctx)
virtual bool add_where_subquery (subquery_ctx *ctx, SELECT_LEX_UNIT *subquery)
virtual bool find_and_set_derived (context *subquery)
virtual bool format_nested_loop (Opt_trace_context *json)
virtual bool format_unit (Opt_trace_context *json)
 Helper function to format output for HAVING, ORDER/GROUP BY subqueries.
virtual void set_sort (sort_ctx *ctx)

Detailed Description

Context class to represent JOIN_TABs in duplication weedout sequence


Member Function Documentation

Add a CTX_JOIN_TAB node to a CTX_JOIN node

Parameters:
ctxCTX_JOIN_TAB node
Return values:
falseOk
trueError

Reimplemented from opt_explain_json_namespace::join_ctx.

virtual bool opt_explain_json_namespace::duplication_weedout_ctx::add_subquery ( subquery_list_enum  subquery_type,
subquery_ctx ctx 
) [inline, virtual]

Append a subquery node to the specified list of the unit node

Parameters:
subquery_typeDescribes the Item tree where the subquery exists
ctxSubquery node
Return values:
falseOk
trueError

Reimplemented from opt_explain_json_namespace::join_ctx.

virtual bool opt_explain_json_namespace::duplication_weedout_ctx::add_where_subquery ( subquery_ctx ctx,
SELECT_LEX_UNIT *  subquery 
) [inline, virtual]

Associate WHERE subqueries of given context and unit with this object

Parameters:
ctxContext of WHERE subquery
subqueryFor CTX_JOIN_TAB: match given unit with a previously collected by the register_where_subquery function.

Reimplemented from opt_explain_json_namespace::join_ctx.

Associate a CTX_DERIVED node with its CTX_JOIN_TAB node

Parameters:
subqueryderived subquery tree

Reimplemented from opt_explain_json_namespace::join_ctx.

Format nested loop join subtree (if any) to JSON formatter

Parameters:
jsonFormatter
Return values:
falseOk
trueError

Reimplemented from opt_explain_json_namespace::join_ctx.

virtual size_t opt_explain_json_namespace::duplication_weedout_ctx::id ( bool  hide) [inline, virtual]

Analogue of the "id" column in the traditional EXPLAIN output

Parameters:
hideif true, ban the output of K_SELECT_ID JSON property in the underlying table_with_where_and_derived_ctx objects
Returns:
"Select number" that is associated with this node

Reimplemented from opt_explain_json_namespace::join_ctx.

Set nested ORDER BY/GROUP BY/DISTINCT node to ctx

Parameters:
jsonFormatter
Return values:
falseOk
trueError

Reimplemented from opt_explain_json_namespace::join_ctx.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines