return node.getSource().accept(this, materializedViewPartitionPredicate);
case SYSTEM: {
NodeSplits nodeSplits = node.getSource().accept(this, materializedViewPartitionPredicate);
if (nodeSplits.getDataSource().isPresent()) {
SplitSource sampledSplitSource = new SampledSplitSource(nodeSplits.getDataSource().get(), node.getSampleRatio());
return new NodeSplits(node.getId(), sampledSplitSource);
}
else {
// table sampling on a sub query without splits is meaningless
return nodeSplits;