It may propagate the in-core distribution in theory, if the relevant code exists. Practically, there is no such code. For example, consider EnumerableProject:
1. EnumerableProjectRule.convert doesn't propagate input's distribution, thanks to EnumerableProject.create that uses RelOptCluster.traitSet. 2. EnumerableProjectRule.derive also ignores all traits except for collation. Therefore, irrespective of which trait set is present in the project's input, the EnumerableProject will always have the default values for all traits except for collation. This is what I refer to as "no trait propagation". In this sense, EnumerableProject is an example of the correct implementation wrt my proposal. But not all operators follow this, e.g. EnumerableFilter. чт, 6 мая 2021 г. в 14:39, Vladimir Sitnikov <[email protected]>: > >Enumerable in its current state cannot propagate any traits except for > collation > > Enumerable can propagate in-core distribution trait. > > Vladimir >
