support aggregate cursor