Seems ok to intersect these ranges with ScanUtil.intersectScanRange(). Does doing that cause problems?

What's your idea in terms of handling both Aggregate and Scan queries? Were you thinking to limit the functionality to only a Scan query? Would it be possible to post an overview of your design in the original JIRA?