MCPcopy Create free account
hub / github.com/zzzeek/sqlalchemy / test_batch_interaction

Method test_batch_interaction

test/orm/test_unitofworkv2.py:2068–2160  ·  view source on GitHub ↗

test batching groups same-structured, primary key present statements together.

(self)

Source from the content-addressed store, hash-verified

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"}

Callers

nothing calls this directly

Calls 9

fixture_sessionFunction · 0.90
ConditionalClass · 0.90
CompiledSQLClass · 0.90
map_imperativelyMethod · 0.80
lowerMethod · 0.80
assert_sql_executionMethod · 0.80
TClass · 0.70
add_allMethod · 0.45

Tested by

no test coverage detected