#include <materialize_path_parameters.h>
◆ DedupType
The context for which deduplication is being used.
Note: this deduplication is different than the deduplication for UNION which is handled separately, not through this enum.
Enumerator |
---|
DEDUP_FOR_DISTINCT | |
DEDUP_FOR_GROUP_BY | |
NO_DEDUP | |
◆ cte
If materializing a CTE, points to it (see m_cte), otherwise nullptr.
◆ deduplication_reason
◆ invalidators
◆ limit_rows
ha_rows MaterializePathParameters::limit_rows |
Used for when pushing LIMIT down to MaterializeIterator; this is more efficient than having a LimitOffsetIterator above the MaterializeIterator, since we can stop materializing when there are enough rows.
(This is especially important for recursive CTEs.) Note that we cannot have a LimitOffsetIterator below the MaterializeIterator, as that would count wrong if we have deduplication, and would not work at all for recursive CTEs. Set to HA_POS_ERROR for no limit.
◆ m_operands
◆ ref_slice
int MaterializePathParameters::ref_slice |
- See also
- JOIN. If we are materializing across JOINs, e.g. derived tables, ref_slice should be left at -1.
◆ reject_multiple_rows
bool MaterializePathParameters::reject_multiple_rows |
True if this is the top level iterator for a materialized derived table transformed from a scalar subquery which needs run-time cardinality check.
◆ rematerialize
bool MaterializePathParameters::rematerialize |
True if rematerializing on every Init() call (e.g., because we have a dependency on a value from outside the query block).
◆ table
TABLE* MaterializePathParameters::table |
Handle to table to materialize into.
◆ unit
The query expression we are materializing.
The documentation for this struct was generated from the following file: