test batching groups same-structured, primary key present statements together.
(self)
| 2066 | ) |
| 2067 | |
| 2068 | def test_batch_interaction(self): |
| 2069 | """test batching groups same-structured, primary |
| 2070 | key present statements together. |
| 2071 | |
| 2072 | """ |
| 2073 | |
| 2074 | t = self.tables.t |
| 2075 | |
| 2076 | class T(ComparableEntity): |
| 2077 | pass |
| 2078 | |
| 2079 | mp = self.mapper_registry.map_imperatively(T, t) |
| 2080 | sess = fixture_session() |
| 2081 | sess.add_all( |
| 2082 | [ |
| 2083 | T(data="t1"), |
| 2084 | T(data="t2"), |
| 2085 | T(id=3, data="t3"), |
| 2086 | T(id=4, data="t4"), |
| 2087 | T(id=5, data="t5"), |
| 2088 | T(id=6, data=func.lower("t6")), |
| 2089 | T(id=7, data="t7"), |
| 2090 | T(id=8, data="t8"), |
| 2091 | T(id=9, data="t9", def_="def2"), |
| 2092 | T(id=10, data="t10", def_="def3"), |
| 2093 | T(id=11, data="t11"), |
| 2094 | ] |
| 2095 | ) |
| 2096 | |
| 2097 | eager_defaults = mp._prefer_eager_defaults( |
| 2098 | testing.db.dialect, mp.local_table |
| 2099 | ) |
| 2100 | |
| 2101 | if eager_defaults: |
| 2102 | tdef_col = ", t.def_" |
| 2103 | tdef_returning = " RETURNING t.def_" |
| 2104 | else: |
| 2105 | tdef_col = "" |
| 2106 | tdef_returning = "" |
| 2107 | |
| 2108 | self.assert_sql_execution( |
| 2109 | testing.db, |
| 2110 | sess.flush, |
| 2111 | Conditional( |
| 2112 | testing.db.dialect.insert_executemany_returning, |
| 2113 | [ |
| 2114 | CompiledSQL( |
| 2115 | "INSERT INTO t (data) VALUES (:data) " |
| 2116 | f"RETURNING t.id{tdef_col}", |
| 2117 | [{"data": "t1"}, {"data": "t2"}], |
| 2118 | ), |
| 2119 | ], |
| 2120 | [ |
| 2121 | CompiledSQL( |
| 2122 | "INSERT INTO t (data) VALUES (:data)", {"data": "t1"} |
| 2123 | ), |
| 2124 | CompiledSQL( |
| 2125 | "INSERT INTO t (data) VALUES (:data)", {"data": "t2"} |
nothing calls this directly
no test coverage detected