Does it make sense to set m_partitioningColumns to an empty list in this case or if we need to distinguish "replicated" from "partitioning columns not selected from subquery" set it to a list containing one null, so replicated scans don't have their m_partitioningColumns forever null and so getIsReplicated() forever being called again?