Turi Create  4.0
turi::query_eval::opt_union_project_exchange Class Reference

#include <core/storage/query_engine/planning/optimizations/project_transforms.hpp>

Detailed Description

Selectively pass a project through a union.

The goal of this operator is to pass a project through a union with the hope of pruning the tree before the union. However, order must be preserved. Therefore, this operator actually has a number of possible output transformations.

  1. One side is eliminated. In this case, the union is dropped, and the projection simply is translated to the pre-union indices.
  2. The projection operator maintains the partitioning between the two union inputs. In this case, it is replaced with a union of two projection nodes.
  3. The projection reduces the number of input columns to the union. In this case, it is replaced with a union of two projections followed by a transposing projection operator. This allows eliminations to propegate up the tree.

Definition at line 220 of file project_transforms.hpp.


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