Description
ValuesReduceRule doesn't propagate rowType on Project of empty Values. If ValuesReduceRule is trying to reduce a Project on top of an empty Values, then changeCount ends up 0, and it returns the underlying Values. This leads to an assertion failure because the returned Values does not have the expected rowType.
One way to fix this is changing the "Filter had no effect" logic from "changeCount == 0" to "changeCount == 0 && projectExprs == null".