read single rowset without do aggregation when reading all columns, and otherwise should use `_agg_key_next_row`
1. Removed useless redundant code logic 2. Change reader to interface, add tuple reader to simplify the structure of reader