|
Columnstore depends on a number of handy rewrites that MDB does, namely outter to inner join rewrite, IN into EXISTS conversion for IN + subquery.
This dependency affects Columnstore, namely we can't easily implement execution path fallback b/c the mentioned rewrites change some parts of SELECT_LEX that represents the query from the perspective of MDB.
The named rewrites must be either applied on top of CSEP after we translate from SELECT_LEX into CSEP or whilst translating inside getSelectPlan(). The former is preferable b/c the rewrites code can be reused or moved easily.
|