(self, user_address_fixture)
| 1761 | ) |
| 1762 | |
| 1763 | def test_execute_full_cached(self, user_address_fixture): |
| 1764 | users, addresses = user_address_fixture |
| 1765 | |
| 1766 | cache = {} |
| 1767 | |
| 1768 | def go(name): |
| 1769 | stmt = lambda_stmt( |
| 1770 | lambda: select(users.c.id).where(users.c.name == name) # noqa |
| 1771 | ) |
| 1772 | |
| 1773 | with testing.db.connect().execution_options( |
| 1774 | compiled_cache=cache |
| 1775 | ) as conn: |
| 1776 | conn.execute(stmt) |
| 1777 | |
| 1778 | with self.sql_execution_asserter(testing.db) as asserter: |
| 1779 | go("name1") |
| 1780 | go("name2") |
| 1781 | go("name1") |
| 1782 | go("name3") |
| 1783 | |
| 1784 | asserter.assert_( |
| 1785 | CompiledSQL( |
| 1786 | "SELECT users.id FROM users WHERE users.name = :name_1", |
| 1787 | lambda ctx: [{"name_1": "name1"}], |
| 1788 | ), |
| 1789 | CompiledSQL( |
| 1790 | "SELECT users.id FROM users WHERE users.name = :name_1", |
| 1791 | lambda ctx: [{"name_1": "name2"}], |
| 1792 | ), |
| 1793 | CompiledSQL( |
| 1794 | "SELECT users.id FROM users WHERE users.name = :name_1", |
| 1795 | lambda ctx: [{"name_1": "name1"}], |
| 1796 | ), |
| 1797 | CompiledSQL( |
| 1798 | "SELECT users.id FROM users WHERE users.name = :name_1", |
| 1799 | lambda ctx: [{"name_1": "name3"}], |
| 1800 | ), |
| 1801 | ) |
| 1802 | |
| 1803 | def test_cache_key_bindparam_matches(self): |
| 1804 | t1 = table("t1", column("q"), column("p")) |
nothing calls this directly
no test coverage detected