| 580 | return [make_row(row) for row in rows] |
| 581 | |
| 582 | def _allrows(self) -> List[_R]: |
| 583 | post_creational_filter = self._post_creational_filter |
| 584 | |
| 585 | make_row = self._row_getter |
| 586 | |
| 587 | rows = self._fetchall_impl() |
| 588 | made_rows: List[_InterimRowType[_R]] |
| 589 | if make_row: |
| 590 | made_rows = [make_row(row) for row in rows] |
| 591 | else: |
| 592 | made_rows = rows # type: ignore |
| 593 | |
| 594 | interim_rows: List[_R] |
| 595 | |
| 596 | if self._unique_filter_state: |
| 597 | uniques, strategy = self._unique_strategy |
| 598 | |
| 599 | interim_rows = [ |
| 600 | made_row # type: ignore |
| 601 | for made_row, sig_row in [ |
| 602 | ( |
| 603 | made_row, |
| 604 | strategy(made_row) if strategy else made_row, |
| 605 | ) |
| 606 | for made_row in made_rows |
| 607 | ] |
| 608 | if sig_row not in uniques and not uniques.add(sig_row) # type: ignore # noqa: E501 |
| 609 | ] |
| 610 | else: |
| 611 | interim_rows = made_rows # type: ignore |
| 612 | |
| 613 | if post_creational_filter: |
| 614 | interim_rows = [ |
| 615 | post_creational_filter(row) for row in interim_rows |
| 616 | ] |
| 617 | return interim_rows |
| 618 | |
| 619 | @HasMemoized_ro_memoized_attribute |
| 620 | def _onerow_getter( |