MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _single_test

Function _single_test

test/perf/many_table_reflection.py:189–224  ·  view source on GitHub ↗
(
    singe_fn_name,
    multi_fn_name,
    engine,
    schema_name,
    table_names,
    timing,
    mode,
)

Source from the content-addressed store, hash-verified

187
188
189def _single_test(
190 singe_fn_name,
191 multi_fn_name,
192 engine,
193 schema_name,
194 table_names,
195 timing,
196 mode,
197):
198 single = None
199 if "single" in mode:
200 singe_fn = getattr(Inspector, singe_fn_name)
201
202 def go(bind):
203 insp = sa.inspect(bind)
204 single = {}
205 with timing(singe_fn.__name__):
206 for t in table_names:
207 single[(schema_name, t)] = singe_fn(
208 insp, t, schema=schema_name
209 )
210 return single
211
212 if USE_CONNECTION:
213 with engine.connect() as c:
214 single = go(c)
215 else:
216 single = go(engine)
217
218 multi = None
219 if "multi" in mode:
220 insp = sa.inspect(engine)
221 multi_fn = getattr(Inspector, multi_fn_name)
222 with timing(multi_fn.__name__):
223 multi = multi_fn(insp, schema=schema_name)
224 return (multi, single)
225
226
227@define_test

Callers 8

reflect_columnsFunction · 0.85
reflect_table_optionsFunction · 0.85
reflect_pkFunction · 0.85
reflect_commentFunction · 0.85
reflect_indexesFunction · 0.85
reflect_foreign_keysFunction · 0.85

Calls 2

goFunction · 0.70
connectMethod · 0.45

Tested by

no test coverage detected