MySQL 9.0.0
Source Code Documentation
Item_singlerow_subselect::Scalar_subquery_replacement Struct Reference

Argument for walk method replace_scalar_subquery. More...

#include <item_subselect.h>

Public Member Functions

 Scalar_subquery_replacement (Item_singlerow_subselect *target, TABLE *derived, Field *field, Query_block *select, bool add_coalesce, bool add_having_compensation, uint having_idx)
 

Public Attributes

Item_singlerow_subselectm_target
 < subquery to be replaced with ␓field from derived table More...
 
TABLEm_derived
 the replacement field More...
 
Fieldm_field
 The transformed query block. More...
 
Query_blockm_outer_query_block
 The immediately surrounding query block. More...
 
Query_blockm_inner_query_block
 True if subquery's selected item contains a COUNT aggregate. More...
 
bool m_add_coalesce {false}
 Presence of HAVING clause in subquery: Only relevant if m_add_coalesce is true. More...
 
bool m_add_having_compensation {false}
 Index of field holding value of having clause in derived table's list of fields. More...
 
uint m_having_idx {0}
 

Detailed Description

Argument for walk method replace_scalar_subquery.

Constructor & Destructor Documentation

◆ Scalar_subquery_replacement()

Item_singlerow_subselect::Scalar_subquery_replacement::Scalar_subquery_replacement ( Item_singlerow_subselect target,
TABLE derived,
Field field,
Query_block select,
bool  add_coalesce,
bool  add_having_compensation,
uint  having_idx 
)
inline

Member Data Documentation

◆ m_add_coalesce

bool Item_singlerow_subselect::Scalar_subquery_replacement::m_add_coalesce {false}

Presence of HAVING clause in subquery: Only relevant if m_add_coalesce is true.

◆ m_add_having_compensation

bool Item_singlerow_subselect::Scalar_subquery_replacement::m_add_having_compensation {false}

Index of field holding value of having clause in derived table's list of fields.

Only relevant if m_add_coalesce is true

◆ m_derived

TABLE* Item_singlerow_subselect::Scalar_subquery_replacement::m_derived

the replacement field

◆ m_field

Field* Item_singlerow_subselect::Scalar_subquery_replacement::m_field

The transformed query block.

◆ m_having_idx

uint Item_singlerow_subselect::Scalar_subquery_replacement::m_having_idx {0}

◆ m_inner_query_block

Query_block* Item_singlerow_subselect::Scalar_subquery_replacement::m_inner_query_block

True if subquery's selected item contains a COUNT aggregate.

◆ m_outer_query_block

Query_block* Item_singlerow_subselect::Scalar_subquery_replacement::m_outer_query_block

The immediately surrounding query block.

This will be the transformed block or a subquery of it

◆ m_target

Item_singlerow_subselect* Item_singlerow_subselect::Scalar_subquery_replacement::m_target

< subquery to be replaced with ␓field from derived table

The derived table of the transform


The documentation for this struct was generated from the following file: