special API to support the use case of 'nested result sets
(self)
| 1693 | |
| 1694 | @contextlib.contextmanager |
| 1695 | def _nested_result(self): |
| 1696 | """special API to support the use case of 'nested result sets'""" |
| 1697 | result_columns, ordered_columns = ( |
| 1698 | self._result_columns, |
| 1699 | self._ordered_columns, |
| 1700 | ) |
| 1701 | self._result_columns, self._ordered_columns = [], False |
| 1702 | |
| 1703 | try: |
| 1704 | if self.stack: |
| 1705 | entry = self.stack[-1] |
| 1706 | entry["need_result_map_for_nested"] = True |
| 1707 | else: |
| 1708 | entry = None |
| 1709 | yield self._result_columns, self._ordered_columns |
| 1710 | finally: |
| 1711 | if entry: |
| 1712 | entry.pop("need_result_map_for_nested") |
| 1713 | self._result_columns, self._ordered_columns = ( |
| 1714 | result_columns, |
| 1715 | ordered_columns, |
| 1716 | ) |
| 1717 | |
| 1718 | def _process_positional(self): |
| 1719 | assert not self.positiontup |