test that the subquery wrapping only occurs with limit/offset and m2m or o2m joins present.
(self)
| 1726 | ) |
| 1727 | |
| 1728 | def test_manytoone_limit(self): |
| 1729 | """test that the subquery wrapping only occurs with |
| 1730 | limit/offset and m2m or o2m joins present.""" |
| 1731 | |
| 1732 | ( |
| 1733 | users, |
| 1734 | items, |
| 1735 | order_items, |
| 1736 | Order, |
| 1737 | Item, |
| 1738 | User, |
| 1739 | Address, |
| 1740 | orders, |
| 1741 | addresses, |
| 1742 | ) = ( |
| 1743 | self.tables.users, |
| 1744 | self.tables.items, |
| 1745 | self.tables.order_items, |
| 1746 | self.classes.Order, |
| 1747 | self.classes.Item, |
| 1748 | self.classes.User, |
| 1749 | self.classes.Address, |
| 1750 | self.tables.orders, |
| 1751 | self.tables.addresses, |
| 1752 | ) |
| 1753 | |
| 1754 | self.mapper_registry.map_imperatively( |
| 1755 | User, |
| 1756 | users, |
| 1757 | properties=odict(orders=relationship(Order, backref="user")), |
| 1758 | ) |
| 1759 | self.mapper_registry.map_imperatively( |
| 1760 | Order, |
| 1761 | orders, |
| 1762 | properties=odict( |
| 1763 | [ |
| 1764 | ( |
| 1765 | "items", |
| 1766 | relationship( |
| 1767 | Item, secondary=order_items, backref="orders" |
| 1768 | ), |
| 1769 | ), |
| 1770 | ("address", relationship(Address)), |
| 1771 | ] |
| 1772 | ), |
| 1773 | ) |
| 1774 | self.mapper_registry.map_imperatively(Address, addresses) |
| 1775 | self.mapper_registry.map_imperatively(Item, items) |
| 1776 | |
| 1777 | sess = fixture_session() |
| 1778 | |
| 1779 | self.assert_compile( |
| 1780 | sess.query(User).options(joinedload(User.orders)).limit(10), |
| 1781 | "SELECT anon_1.users_id AS anon_1_users_id, anon_1.users_name " |
| 1782 | "AS anon_1_users_name, orders_1.id AS orders_1_id, " |
| 1783 | "orders_1.user_id AS orders_1_user_id, orders_1.address_id " |
| 1784 | "AS orders_1_address_id, orders_1.description AS " |
| 1785 | "orders_1_description, orders_1.isopen AS orders_1_isopen " |
nothing calls this directly
no test coverage detected