def test_query_opts_key_bound_branching(self): A, B, C, D, E, F, G = self.classes("A", "B", "C", "D", "E", "F", "G") base = Load(A).joinedload(A.bs) opts = [ base.joinedload(B.cs), base.joinedload(B.ds), base.joinedload(B.es), base.joinedload(B.fs), ] q = Session().query(A) context = q._compile_state() @profiling.function_call_count(warmup=1) def go(): q2 = q.options(opts) context.query = q2 context.attributes = q2._attributes = { "_unbound_load_dedupes": set() } for opt in q2._with_options: opt.process_compile_state(context) go()