]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Modernize tests - session_query_get
authorGord Thompson <gord@gordthompson.com>
Thu, 30 Sep 2021 23:39:05 +0000 (17:39 -0600)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 29 Oct 2021 00:31:09 +0000 (20:31 -0400)
Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com>
Change-Id: I92013aad471baf32df1b51b756e86d95449b5cfd

43 files changed:
doc/build/orm/tutorial.rst
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/testing/warnings.py
test/aaa_profiling/test_orm.py
test/ext/test_associationproxy.py
test/ext/test_baked.py
test/ext/test_horizontal_shard.py
test/ext/test_hybrid.py
test/ext/test_orderinglist.py
test/ext/test_serializer.py
test/orm/test_assorted_eager.py
test/orm/test_bind.py
test/orm/test_bulk.py
test/orm/test_collection.py
test/orm/test_compile.py
test/orm/test_composites.py
test/orm/test_cycles.py
test/orm/test_dataclasses_py3k.py
test/orm/test_deferred.py
test/orm/test_deprecations.py
test/orm/test_dynamic.py
test/orm/test_eager_relations.py
test/orm/test_events.py
test/orm/test_expire.py
test/orm/test_froms.py
test/orm/test_inspect.py
test/orm/test_lazy_relations.py
test/orm/test_loading.py
test/orm/test_mapper.py
test/orm/test_merge.py
test/orm/test_naturalpks.py
test/orm/test_onetoone.py
test/orm/test_pickled.py
test/orm/test_query.py
test/orm/test_relationships.py
test/orm/test_selectin_relations.py
test/orm/test_session.py
test/orm/test_subquery_relations.py
test/orm/test_transaction.py
test/orm/test_unitofwork.py
test/orm/test_unitofworkv2.py
test/orm/test_update_delete.py
test/orm/test_versioning.py

index 1f99a503a48e1042d2ff8e9cbc6e27ce8c924a4b..dbfc84b6c7a1188d0fa0c9be8f89f6cf16f858d5 100644 (file)
@@ -1936,7 +1936,7 @@ being deleted:
 .. sourcecode:: python+sql
 
     # load Jack by primary key
-    {sql}>>> jack = session.query(User).get(5)
+    {sql}>>> jack = session.get(User, 5)
     BEGIN (implicit)
     SELECT users.id AS users_id,
             users.name AS users_name,
index d5fb8a8e1b3aa5c6464fdfa200aaa555b036209a..bb12f7021d656983849f06f679538ae6c376fd1c 100644 (file)
@@ -2793,6 +2793,11 @@ class Session(_SessionClassMethods):
 
         mapper = inspect(entity)
 
+        if not mapper or not mapper.is_mapper:
+            raise sa_exc.ArgumentError(
+                "Expected mapped class or mapper, got: %r" % entity
+            )
+
         is_dict = isinstance(primary_key_identity, dict)
         if not is_dict:
             primary_key_identity = util.to_list(
@@ -2802,8 +2807,8 @@ class Session(_SessionClassMethods):
         if len(primary_key_identity) != len(mapper.primary_key):
             raise sa_exc.InvalidRequestError(
                 "Incorrect number of values in identifier to formulate "
-                "primary key for query.get(); primary key columns are %s"
-                % ",".join("'%s'" % c for c in mapper.primary_key)
+                "primary key for session.get(); primary key columns "
+                "are %s" % ",".join("'%s'" % c for c in mapper.primary_key)
             )
 
         if is_dict:
@@ -2817,7 +2822,7 @@ class Session(_SessionClassMethods):
                 util.raise_(
                     sa_exc.InvalidRequestError(
                         "Incorrect names of values in identifier to formulate "
-                        "primary key for query.get(); primary key attribute "
+                        "primary key for session.get(); primary key attribute "
                         "names are %s"
                         % ",".join(
                             "'%s'" % prop.key
index dc1286295c2219500bdf433eb3a9a0a0f7743841..8753399f3fd17f09e48f2c7793acb42c0d0106e7 100644 (file)
@@ -68,7 +68,6 @@ def setup_filters():
         #
         # ORM Query
         #
-        r"The Query\.get\(\) method",
         r"The Query.with_polymorphic\(\) method is considered "
         "legacy as of the 1.x series",
         #
index e9771fc673f0d2864e3c4603ef7efec8d4203dac..5d081b933ec93e190df5bcced0efd09f7143495d 100644 (file)
@@ -88,7 +88,7 @@ class MergeTest(NoCache, fixtures.MappedTest):
 
         sess = fixture_session()
         sess2 = fixture_session()
-        p1 = sess.query(Parent).get(1)
+        p1 = sess.get(Parent, 1)
         p1.children
 
         # down from 185 on this this is a small slice of a usually
@@ -117,7 +117,7 @@ class MergeTest(NoCache, fixtures.MappedTest):
 
         sess = fixture_session()
         sess2 = fixture_session()
-        p1 = sess.query(Parent).get(1)
+        p1 = sess.get(Parent, 1)
         p1.children
 
         # preloading of collection took this down from 1728 to 1192
index 258ecb90c4f6988af7c0d81ef70176de8a3ef76b..331213ffea5f565ac79b35a4868f79ca7f2c9b55 100644 (file)
@@ -260,7 +260,7 @@ class _CollectionOperations(fixtures.MappedTest):
         self.session.flush()
         id_, type_ = obj.id, type(obj)
         self.session.expunge_all()
-        return self.session.query(type_).get(id_)
+        return self.session.get(type_, id_)
 
     def _test_sequence_ops(self):
         Parent, Child = self.classes("Parent", "Child")
@@ -1009,7 +1009,7 @@ class ScalarTest(fixtures.MappedTest):
             session.flush()
             id_, type_ = obj.id, type(obj)
             session.expunge_all()
-            return session.query(type_).get(id_)
+            return session.get(type_, id_)
 
         p = Parent("p")
 
@@ -1199,7 +1199,7 @@ class LazyLoadTest(fixtures.MappedTest):
         self.session.flush()
         id_, type_ = obj.id, type(obj)
         self.session.expunge_all()
-        return self.session.query(type_).get(id_)
+        return self.session.get(type_, id_)
 
     def test_lazy_list(self):
         Parent, Child = self.classes("Parent", "Child")
index d3e6455b233b3bab373a9070915ad95ba0e1a61b..0fa666642917d6daf6da372bf598ad05c957b966 100644 (file)
@@ -223,7 +223,7 @@ class LikeQueryTest(BakedTest):
 
         self.assert_sql_count(testing.db, go, 1)
 
-        u1 = sess.query(User).get(7)  # noqa
+        u1 = sess.get(User, 7)  # noqa
 
         def go():
             u2 = bq(sess).get(7)
@@ -314,7 +314,7 @@ class LikeQueryTest(BakedTest):
 
         self.assert_sql_count(testing.db, go, 1)
 
-        u1 = sess.query(AddressUser).get((10, None))  # noqa
+        u1 = sess.get(AddressUser, (10, None))  # noqa
 
         def go():
             u2 = bq(sess).get((10, None))
index 6e6265ab1841361511d5a1d511dcf25524a75f17..162d9615007663a41e1c2c16cbf9280ec4180d4a 100644 (file)
@@ -207,25 +207,35 @@ class ShardTest(object):
 
     def test_get(self):
         sess = self._fixture_data()
-        tokyo = sess.query(WeatherLocation).get(1)
+        tokyo = sess.get(WeatherLocation, 1)
         eq_(tokyo.city, "Tokyo")
 
-        newyork = sess.query(WeatherLocation).get(2)
+        newyork = sess.get(WeatherLocation, 2)
         eq_(newyork.city, "New York")
 
-        t2 = sess.query(WeatherLocation).get(1)
+        t2 = sess.get(WeatherLocation, 1)
         is_(t2, tokyo)
 
     def test_get_explicit_shard(self):
         sess = self._fixture_data()
-        tokyo = sess.query(WeatherLocation).set_shard("europe").get(1)
+        tokyo = (
+            sess.query(WeatherLocation)
+            .set_shard("europe")
+            .where(WeatherLocation.id == 1)
+            .first()
+        )
         is_(tokyo, None)
 
-        newyork = sess.query(WeatherLocation).set_shard("north_america").get(2)
+        newyork = (
+            sess.query(WeatherLocation)
+            .set_shard("north_america")
+            .where(WeatherLocation.id == 2)
+            .first()
+        )
         eq_(newyork.city, "New York")
 
         # now it found it
-        t2 = sess.query(WeatherLocation).get(1)
+        t2 = sess.get(WeatherLocation, 1)
         eq_(t2.city, "Tokyo")
 
     def test_query_explicit_shard_via_bind_opts(self):
@@ -294,7 +304,7 @@ class ShardTest(object):
         tokyo.city  # reload 'city' attribute on tokyo
         sess.expire_all()
 
-        t = sess.query(WeatherLocation).get(tokyo.id)
+        t = sess.get(WeatherLocation, tokyo.id)
         eq_(t.city, tokyo.city)
         eq_(t.reports[0].temperature, 80.0)
         north_american_cities = sess.query(WeatherLocation).filter(
index 40cca5266295ec908ff49114625458abdbaebeff..ad8d92b9b37f35e904399f76bb934b4343aa7a3b 100644 (file)
@@ -953,7 +953,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.first_name: "moonbeam"}, synchronize_session="evaluate"
@@ -977,7 +977,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.fname2: "moonbeam"}, synchronize_session="evaluate"
@@ -1001,7 +1001,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.fname: "moonbeam"}, synchronize_session="evaluate"
@@ -1025,7 +1025,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.fname2: "moonbeam"}, synchronize_session="fetch"
@@ -1049,7 +1049,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.fname: "moonbeam"}, synchronize_session="fetch"
@@ -1073,7 +1073,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.name: "moonbeam sunshine"}, synchronize_session="evaluate"
@@ -1094,7 +1094,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.name: "moonbeam sunshine"}, synchronize_session="fetch"
@@ -1115,7 +1115,7 @@ class BulkUpdateTest(fixtures.DeclarativeMappedTest, AssertsCompiledSQL):
         Person = self.classes.Person
 
         s = fixture_session()
-        jill = s.query(Person).get(3)
+        jill = s.get(Person, 3)
 
         s.query(Person).update(
             {Person.uname: "moonbeam sunshine"}, synchronize_session="evaluate"
index 6fa559ee37ebc4a7b1fad7087ec743fed8634d18..031613bc4d4bae11ee3ad8aca19b9dadf47d9a57 100644 (file)
@@ -176,7 +176,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.expunge_all()
         del s1
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
 
         self.assert_(srt.bullets)
         self.assert_(len(srt.bullets) == 4)
@@ -241,7 +241,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.expunge_all()
         del s1
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
 
         self.assert_(srt.bullets)
         self.assert_(len(srt.bullets) == 5)
@@ -255,7 +255,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
         titles = ["s1/b1", "s1/b2", "s1/b100", "s1/b4", "raw", "raw2"]
         found = [b.text for b in srt.bullets]
         eq_(titles, found)
@@ -298,7 +298,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.expunge_all()
         del s1
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
 
         self.assert_(srt.bullets)
         self.assert_(len(srt.bullets) == 6)
@@ -347,7 +347,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.expunge_all()
         del s1
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
 
         self.assert_(srt.bullets)
         self.assert_(len(srt.bullets) == 3)
@@ -385,7 +385,7 @@ class OrderingListTest(fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        srt = session.query(Slide).get(id_)
+        srt = session.get(Slide, id_)
 
         self.assert_(srt.bullets)
         self.assert_(len(srt.bullets) == 3)
index 2e9225419fae4d7cb6e854e63f25258e7bccc875..03ad96b3ccc28d452dccc2f7fda0af18b6116494 100644 (file)
@@ -179,7 +179,7 @@ class SerializeTest(AssertsCompiledSQL, fixtures.MappedTest):
             .scalar(),
             1,
         )
-        u1 = Session.query(User).get(8)
+        u1 = Session.get(User, 8)
         q = (
             Session.query(Address)
             .filter(Address.user == u1)
index a97538da64c2f957e1ae8175e860d8a7e67b7723..f6d10d8e6529d7e017962e4060a0b61b63309830 100644 (file)
@@ -767,7 +767,7 @@ class EagerTest5(fixtures.MappedTest):
         # this eager load sets up an AliasedClauses for the "comment"
         # relationship, then stores it in clauses_by_lead_mapper[mapper for
         # Derived]
-        d = sess.query(Derived).get("uid1")
+        d = sess.get(Derived, "uid1")
         sess.expunge_all()
         assert len([c for c in d.comments]) == 1
 
@@ -775,7 +775,7 @@ class EagerTest5(fixtures.MappedTest):
         # relationship, and should store it in clauses_by_lead_mapper[mapper
         # for DerivedII].  the bug was that the previous AliasedClause create
         # prevented this population from occurring.
-        d2 = sess.query(DerivedII).get("uid2")
+        d2 = sess.get(DerivedII, "uid2")
         sess.expunge_all()
 
         # object is not in the session; therefore the lazy load cant trigger
@@ -918,7 +918,7 @@ class EagerTest6(fixtures.MappedTest):
         sess.add(d)
         sess.flush()
         sess.expunge_all()
-        x = sess.query(Design).get(1)
+        x = sess.get(Design, 1)
         x.inheritedParts
 
 
@@ -1036,10 +1036,10 @@ class EagerTest7(fixtures.MappedTest):
         invoice_id = i1.invoice_id
 
         session.expunge_all()
-        c = session.query(Company).get(company_id)
+        c = session.get(Company, company_id)
 
         session.expunge_all()
-        i = session.query(Invoice).get(invoice_id)
+        i = session.get(Invoice, invoice_id)
 
         def go():
             eq_(c, i.company)
index 4f6f4c4fbbe7a93265c7913349b4dd0b4320cbfc..aa41ad554808beb07a0ba2242a97a3fa06d63ce3 100644 (file)
@@ -527,7 +527,7 @@ class SessionBindTest(fixtures.MappedTest):
                 f = Foo()
                 sess.add(f)
                 sess.flush()
-                assert sess.query(Foo).get(f.id) is f
+                assert sess.get(Foo, f.id) is f
             finally:
                 if hasattr(bind, "close"):
                     bind.close()
index b69d8263a6d0a92919b12497c272f4c89121a763..802cdfac5f218d3b03eebd83bb1d511aa37a10b5 100644 (file)
@@ -536,7 +536,7 @@ class BulkUDTestAltColKeys(BulkTest, fixtures.MappedTest):
         s.add(Person(id=5, personname="thename"))
         s.commit()
 
-        p = s.query(Person).get(5)
+        p = s.get(Person, 5)
         with self.sql_execution_asserter(testing.db) as asserter:
             p.personname = "newname"
             s.bulk_save_objects([p])
index 81ace4a98cbac2c6650c4c18f1b2415c814c8c27..3473dcf50bfb879ee84cc337a0edc6aa90f038cb 100644 (file)
@@ -1874,7 +1874,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         pid = p.id
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
 
         eq_(set(p.children.keys()), set(["foo", "bar"]))
         cid = p.children["foo"].id
@@ -1886,7 +1886,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
 
         self.assert_(set(p.children.keys()) == set(["foo", "bar"]))
         self.assert_(p.children["foo"].id != cid)
@@ -1897,7 +1897,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
         self.assert_(
             len(list(collections.collection_adapter(p.children))) == 2
         )
@@ -1912,7 +1912,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
         self.assert_(
             len(list(collections.collection_adapter(p.children))) == 1
         )
@@ -1924,7 +1924,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
         self.assert_(
             len(list(collections.collection_adapter(p.children))) == 0
         )
@@ -1960,7 +1960,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         pid = p.id
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
 
         self.assert_(
             set(p.children.keys()) == set([("foo", "1"), ("foo", "2")])
@@ -1974,7 +1974,7 @@ class DictHelpersTest(OrderedDictFixture, fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        p = session.query(Parent).get(pid)
+        p = session.get(Parent, pid)
 
         self.assert_(
             set(p.children.keys()) == set([("foo", "1"), ("foo", "2")])
@@ -2223,7 +2223,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
         sess.add(f)
         sess.flush()
         sess.expunge_all()
-        f = sess.query(Foo).get(f.col1)
+        f = sess.get(Foo, f.col1)
         assert len(list(f.bars)) == 2
         f.bars.clear()
 
@@ -2266,7 +2266,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
         sess.add(f)
         sess.flush()
         sess.expunge_all()
-        f = sess.query(Foo).get(f.col1)
+        f = sess.get(Foo, f.col1)
         assert len(list(f.bars)) == 2
         f.bars.clear()
 
@@ -2308,7 +2308,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
         sess.add(f)
         sess.flush()
         sess.expunge_all()
-        f = sess.query(Foo).get(f.col1)
+        f = sess.get(Foo, f.col1)
         assert len(list(f.bars)) == 2
 
         strongref = list(f.bars.values())
@@ -2319,7 +2319,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
         f.bars["a"] = Bar("a")
         sess.flush()
         sess.expunge_all()
-        f = sess.query(Foo).get(f.col1)
+        f = sess.get(Foo, f.col1)
         assert len(list(f.bars)) == 2
 
         replaced = set([id(b) for b in list(f.bars.values())])
@@ -2564,7 +2564,7 @@ class CustomCollectionsTest(fixtures.MappedTest):
         sess.flush()
         sess.expunge_all()
 
-        p2 = sess.query(Parent).get(p1.col1)
+        p2 = sess.get(Parent, p1.col1)
         o = list(p2.children)
         assert len(o) == 3
 
index 73ca571cb7451e88d67fe63d2fde2c81efa1b78c..343881efc507fc479e534f565a12c22477035976 100644 (file)
@@ -232,7 +232,7 @@ class CompileTest(fixtures.MappedTest):
             },
         )
         sess = Session(connection)
-        assert sess.query(Node).get(1).names == []
+        assert sess.get(Node, 1).names == []
 
     def test_conflicting_backref_two(self):
         meta = MetaData()
index 1dc139df98dc7e0d6dc04f85e8bed420f3bb1cc9..55a78ffcbc3eb82695b0cf045b08831449590285 100644 (file)
@@ -123,7 +123,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         g1 = sess.query(Graph).first()
         sess.close()
 
-        g = sess.query(Graph).get(g1.id)
+        g = sess.get(Graph, g1.id)
         eq_(
             [(e.start, e.end) for e in g.edges],
             [(Point(3, 4), Point(5, 6)), (Point(14, 5), Point(2, 7))],
@@ -142,7 +142,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         g.edges[1].end = Point(18, 4)
         sess.commit()
 
-        e = sess.query(Edge).get(g.edges[1].id)
+        e = sess.get(Edge, g.edges[1].id)
         eq_(e.end, Point(18, 4))
 
     def test_not_none(self):
@@ -178,10 +178,8 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         sess.close()
 
         def go():
-            g2 = (
-                sess.query(Graph)
-                .options(sa.orm.joinedload(Graph.edges))
-                .get(g.id)
+            g2 = sess.get(
+                Graph, g.id, options=[sa.orm.joinedload(Graph.edges)]
             )
 
             eq_(
@@ -407,7 +405,7 @@ class PointTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
         sess.add(g)
         sess.commit()
 
-        g2 = sess.query(Graph).get(1)
+        g2 = sess.get(Graph, 1)
         assert g2.edges[-1].start.x is None
         assert g2.edges[-1].start.y is None
 
@@ -582,7 +580,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
         sess = self._fixture()
         g = sess.query(Graph).first()
 
-        g2 = sess.query(Graph).get([g.id, g.version_id])
+        g2 = sess.get(Graph, [g.id, g.version_id])
         eq_(g.version, g2.version)
 
     def test_get_by_composite(self):
@@ -591,7 +589,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
         sess = self._fixture()
         g = sess.query(Graph).first()
 
-        g2 = sess.query(Graph).get(Version(g.id, g.version_id))
+        g2 = sess.get(Graph, Version(g.id, g.version_id))
         eq_(g.version, g2.version)
 
     def test_pk_mutation(self):
@@ -603,7 +601,7 @@ class PrimaryKeyTest(fixtures.MappedTest):
 
         g.version = Version(2, 1)
         sess.commit()
-        g2 = sess.query(Graph).get(Version(2, 1))
+        g2 = sess.get(Graph, Version(2, 1))
         eq_(g.version, g2.version)
 
     @testing.fails_on_everything_except("sqlite")
index c75f2a549a5004d0d4ad47bb023f6f11c9132a48..9d0369191e053dbcd4e19c266de809ce717a605f 100644 (file)
@@ -120,7 +120,7 @@ class SelfReferentialTest(fixtures.MappedTest):
         sess.add(c1)
         sess.flush()
         sess.expunge_all()
-        c1 = sess.query(C1).get(c1.c1)
+        c1 = sess.get(C1, c1.c1)
         c2 = C1()
         c2.parent = c1
         sess.add(c2)
@@ -1488,8 +1488,8 @@ class SelfReferentialPostUpdateTest2(fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        f1 = session.query(A).get(f1.id)
-        f2 = session.query(A).get(f2.id)
+        f1 = session.get(A, f1.id)
+        f2 = session.get(A, f2.id)
         assert f2.foo is f1
 
 
index 14132e5d721ffa00cf58f5647d5cfa7e05b580ba..a9b0ba58dfcd67491c6b530649f77343746f8087 100644 (file)
@@ -195,7 +195,7 @@ class DataclassesTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             session.commit()
 
         with fixture_session() as session:
-            a = session.query(Account).get(42)
+            a = session.get(Account, 42)
             self.check_data_fixture(a)
 
     def test_appending_to_relationship(self):
@@ -208,7 +208,7 @@ class DataclassesTest(fixtures.MappedTest, testing.AssertsCompiledSQL):
             account.add_widget(Widget("Xyzzy"))
 
         with Session(testing.db) as session:
-            a = session.query(Account).get(42)
+            a = session.get(Account, 42)
             eq_(a.widget_count, 3)
             eq_(len(a.widgets), 3)
 
index e44d6ec8690d494e59b375390a1a6ed14d719bd7..bfdfb00b7fd12761f6746de447b0f1996f950ad2 100644 (file)
@@ -131,7 +131,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         )
 
         sess = fixture_session()
-        o1 = sess.query(Order).get(1)
+        o1 = sess.get(Order, 1)
         eq_(o1.description, "order 1")
 
     def test_unsaved_2(self):
@@ -207,7 +207,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         )
 
         sess = fixture_session()
-        o2 = sess.query(Order).get(2)
+        o2 = sess.get(Order, 2)
         o2.isopen = 1
         sess.flush()
 
@@ -290,7 +290,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
             },
         )
         sess = fixture_session(autoflush=False)
-        o = sess.query(Order).get(3)
+        o = sess.get(Order, 3)
         assert "userident" not in o.__dict__
         o.description = "somenewdescription"
         eq_(o.description, "somenewdescription")
@@ -322,7 +322,7 @@ class DeferredTest(AssertsCompiledSQL, _fixtures.FixtureTest):
         )
 
         sess = fixture_session()
-        o2 = sess.query(Order).get(3)
+        o2 = sess.get(Order, 3)
 
         # this will load the group of attributes
         eq_(o2.description, "order 3")
index 611754bdb3a451fd69ee2a1c2cf5eb05312e2bce..101dc693c7386dc7be053d85b335ce8094cc8459 100644 (file)
@@ -138,6 +138,8 @@ query_wparent_dep = (
     r"The Query.with_parent\(\) method is considered legacy as of the 1.x"
 )
 
+query_get_dep = r"The Query.get\(\) method is considered legacy as of the 1.x"
+
 sef_dep = (
     r"The Query.select_entity_from\(\) method is considered "
     "legacy as of the 1.x"
@@ -158,6 +160,107 @@ def _aliased_join_deprecation(arg=None):
     )
 
 
+class GetTest(QueryTest):
+    def test_get(self):
+        User = self.classes.User
+
+        s = fixture_session()
+        with assertions.expect_deprecated_20(query_get_dep):
+            assert s.query(User).get(19) is None
+        with assertions.expect_deprecated_20(query_get_dep):
+            u = s.query(User).get(7)
+        with assertions.expect_deprecated_20(query_get_dep):
+            u2 = s.query(User).get(7)
+        assert u is u2
+        s.expunge_all()
+        with assertions.expect_deprecated_20(query_get_dep):
+            u2 = s.query(User).get(7)
+        assert u is not u2
+
+    def test_loader_options(self):
+        User = self.classes.User
+
+        s = fixture_session()
+
+        with assertions.expect_deprecated_20(query_get_dep):
+            u1 = s.query(User).options(joinedload(User.addresses)).get(8)
+        eq_(len(u1.__dict__["addresses"]), 3)
+
+    def test_no_criterion_when_already_loaded(self):
+        """test that get()/load() does not use preexisting filter/etc.
+        criterion, even when we're only using the identity map."""
+
+        User, Address = self.classes.User, self.classes.Address
+
+        s = fixture_session()
+
+        s.get(User, 7)
+
+        q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
+        with assertions.expect_deprecated_20(query_get_dep):
+            with assertions.expect_raises_message(
+                sa_exc.InvalidRequestError,
+                r"Query.get\(\) being called on a Query with existing "
+                "criterion.",
+            ):
+                q.get(7)
+
+    def test_no_criterion(self):
+        """test that get()/load() does not use preexisting filter/etc.
+        criterion"""
+
+        User, Address = self.classes.User, self.classes.Address
+
+        s = fixture_session()
+
+        q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
+
+        with assertions.expect_deprecated_20(query_get_dep):
+            with assertions.expect_raises_message(
+                sa_exc.InvalidRequestError,
+                r"Query.get\(\) being called on a Query with existing "
+                "criterion.",
+            ):
+                q.get(7)
+
+        with assertions.expect_deprecated_20(query_get_dep):
+            with assertions.expect_raises_message(
+                sa_exc.InvalidRequestError,
+                r"Query.get\(\) being called on a Query with existing "
+                "criterion.",
+            ):
+                s.query(User).filter(User.id == 7).get(19)
+
+        # order_by()/get() doesn't raise
+        with assertions.expect_deprecated_20(query_get_dep):
+            s.query(User).order_by(User.id).get(8)
+
+    def test_get_against_col(self):
+        User = self.classes.User
+
+        s = fixture_session()
+
+        with assertions.expect_deprecated_20(query_get_dep):
+            with assertions.expect_raises_message(
+                sa_exc.InvalidRequestError,
+                r"get\(\) can only be used against a single mapped class.",
+            ):
+                s.query(User.id).get(5)
+
+    def test_only_full_mapper_zero(self):
+        User, Address = self.classes.User, self.classes.Address
+
+        s = fixture_session()
+        q = s.query(User, Address)
+
+        with assertions.expect_deprecated_20(query_get_dep):
+            with assertions.expect_raises_message(
+                sa_exc.InvalidRequestError,
+                r"get\(\) can only be used against a single mapped class.",
+            ):
+                q.get(5)
+
+
 class CustomJoinTest(QueryTest):
     run_setup_mappers = None
 
@@ -3048,7 +3151,7 @@ class DeprecatedMapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         m.add_property("name", synonym("_name"))
 
         sess = fixture_session(autocommit=False)
-        assert sess.query(User).get(7)
+        assert sess.get(User, 7)
 
         u = sess.query(User).filter_by(name="jack").one()
 
@@ -3507,7 +3610,7 @@ class NonPrimaryRelationshipLoaderTest(_fixtures.FixtureTest):
         self.assert_sql_count(testing.db, go, count)
 
         sess = fixture_session()
-        user = sess.query(User).get(7)
+        user = sess.get(User, 7)
 
         closed_mapper = User.closed_orders.entity
         open_mapper = User.open_orders.entity
@@ -8239,7 +8342,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         with assertions.expect_deprecated_20(query_wparent_dep):
             q = sess.query(Address).select_from(Address).with_parent(u1)
         self.assert_compile(
@@ -8255,7 +8358,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         with assertions.expect_deprecated_20(query_wparent_dep):
             q = sess.query(User, Address).with_parent(
                 u1, User.addresses, from_entity=Address
@@ -8275,7 +8378,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         with assertions.expect_deprecated_20(query_wparent_dep):
             q = sess.query(a1).with_parent(u1)
@@ -8293,7 +8396,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         with assertions.expect_deprecated_20(query_wparent_dep):
             q = sess.query(a1).with_parent(u1, User.addresses)
@@ -8311,7 +8414,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         a2 = aliased(Address)
         with assertions.expect_deprecated_20(query_wparent_dep):
@@ -8335,7 +8438,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         a2 = aliased(Address)
         with assertions.expect_deprecated_20(query_wparent_dep):
index 8479152bfa8f7b32a170171ef438113528bf3c10..8efd4523820eef6d491ded63952107c7c6f75d7c 100644 (file)
@@ -236,7 +236,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
 
         User, Address = self._user_address_fixture()
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         sess.expunge(u)
         assert_raises(
             orm_exc.DetachedInstanceError,
@@ -253,7 +253,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
 
         User, Address = self._user_address_fixture()
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         sess.expunge(u)
 
         with testing.expect_warnings(
@@ -332,7 +332,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
     def test_order_by(self):
         User, Address = self._user_address_fixture()
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         eq_(
             list(u.addresses.order_by(desc(Address.email_address))),
             [
@@ -350,7 +350,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
         )
 
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
 
         with self.sql_execution_asserter() as asserter:
             for i in range(3):
@@ -384,7 +384,7 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
         )
 
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         eq_(
             list(u.addresses),
             [
@@ -442,14 +442,14 @@ class DynamicTest(_DynamicFixture, _fixtures.FixtureTest, AssertsCompiledSQL):
         self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session()
-        ad = sess.query(Address).get(1)
+        ad = sess.get(Address, 1)
 
         def go():
             ad.user = None
 
         self.assert_sql_count(testing.db, go, 0)
         sess.flush()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
         assert ad not in u.addresses
 
     def test_no_count(self):
@@ -708,7 +708,7 @@ class UOWTest(
             ),  # noqa
             0,
         )
-        u1 = sess.query(User).get(u1.id)
+        u1 = sess.get(User, u1.id)
         u1.addresses.append(a1)
         sess.flush()
 
index c235edadfae5fe52c646c8e07fed22a5f40290d2..32abc3b31c4160e8f382e2bfd7164cce00822108 100644 (file)
@@ -183,7 +183,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
-        user = sess.query(User).get(7)
+        user = sess.get(User, 7)
         assert getattr(User, "addresses").hasparent(
             sa.orm.attributes.instance_state(user.addresses[0]),
             optimistic=True,
@@ -488,7 +488,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
             eq_(q.all(), [User(id=7, addresses=[Address(id=1)])])
 
         sess.expunge_all()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         def go():
             eq_(u.addresses[0].user_id, 7)
@@ -524,7 +524,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         sess.expunge_all()
 
         def go():
-            u = sess.query(User).get(8)
+            u = sess.get(User, 8)
             eq_(
                 User(
                     id=8,
@@ -1871,7 +1871,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         def go():
             a = q.filter(addresses.c.id == 1).one()
             is_not(a.user, None)
-            u1 = sess.query(User).get(7)
+            u1 = sess.get(User, 7)
             is_(a.user, u1)
 
         self.assert_sql_count(testing.db, go, 1)
@@ -3810,7 +3810,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_runs_query_on_refresh(self):
         User, Address, sess = self._eager_config_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1)
 
@@ -3848,7 +3848,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
         )
         sess = fixture_session(autoflush=False)
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1)
 
@@ -3870,7 +3870,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
         # out an existing collection to function correctly with
         # populate_existing.
         User, Address, sess = self._eager_config_fixture()
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         u1.addresses[2].email_address = "foofoo"
         del u1.addresses[1]
         u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -3893,7 +3893,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_scalar(self):
         User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         a1 = Address()
         u1.addresses.append(a1)
         a2 = u1.addresses[0]
@@ -3913,7 +3913,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_collection(self):
         User, Order, Item, sess = self._collection_to_collection_fixture()
 
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         u1.orders
         o1 = Order()
         u1.orders.append(o1)
index 297dfd23240b950e65505cecfb9a35c547074d01..7d263de62ff08ab7cf162e31ab5cee0a980575c6 100644 (file)
@@ -777,9 +777,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         sess.add(u)
         sess.flush()
         sess.expire(u)
-        u = sess.query(User).get(u.id)
+        u = sess.get(User, u.id)
         sess.expunge_all()
-        u = sess.query(User).get(u.id)
+        u = sess.get(User, u.id)
         u.name = "u1 changed"
         sess.flush()
         sess.delete(u)
@@ -903,9 +903,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         am = AdminUser(name="au1", email_address="au1@e1")
         sess.add(am)
         sess.flush()
-        am = sess.query(AdminUser).populate_existing().get(am.id)
+        am = sess.get(AdminUser, am.id, populate_existing=True)
         sess.expunge_all()
-        am = sess.query(AdminUser).get(am.id)
+        am = sess.get(AdminUser, am.id)
         am.name = "au1 changed"
         sess.flush()
         sess.delete(am)
@@ -971,9 +971,9 @@ class MapperEventsTest(_RemoveListeners, _fixtures.FixtureTest):
         am = AdminUser(name="au1", email_address="au1@e1")
         sess.add(am)
         sess.flush()
-        am = sess.query(AdminUser).populate_existing().get(am.id)
+        am = sess.get(AdminUser, am.id, populate_existing=True)
         sess.expunge_all()
-        am = sess.query(AdminUser).get(am.id)
+        am = sess.get(AdminUser, am.id)
         am.name = "au1 changed"
         sess.flush()
         sess.delete(am)
index d9204db96c84c84f8290cfaa3c8c512ea867789b..c2fec626bcb2e12f04103a7619803b558c02f743 100644 (file)
@@ -50,7 +50,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
         assert len(u.addresses) == 1
         u.name = "foo"
         del u.addresses[0]
@@ -96,8 +96,8 @@ class ExpireTest(_fixtures.FixtureTest):
 
         s = fixture_session()
 
-        a1 = s.query(Address).get(2)
-        u1 = s.query(User).get(7)
+        a1 = s.get(Address, 2)
+        u1 = s.get(User, 7)
         a1.user = u1
 
         s.expire(a1, ["user_id"])
@@ -110,7 +110,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         s.expunge_all()
 
         assert_raises_message(
@@ -125,11 +125,11 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
-        u = s.query(User).get(10)
+        u = s.get(User, 10)
         s.expire_all()
 
         def go():
-            s.query(User).get(10)  # get() refreshes
+            s.get(User, 10)  # get() refreshes
 
         self.assert_sql_count(testing.db, go, 1)
 
@@ -139,7 +139,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.assert_sql_count(testing.db, go, 0)
 
         def go():
-            s.query(User).get(10)  # expire flag reset, so not expired
+            s.get(User, 10)  # expire flag reset, so not expired
 
         self.assert_sql_count(testing.db, go, 0)
 
@@ -148,14 +148,14 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
-        u = s.query(User).get(10)
+        u = s.get(User, 10)
 
         s.expire_all()
         s.execute(users.delete().where(User.id == 10))
 
         # object is gone, get() returns None, removes u from session
         assert u in s
-        assert s.query(User).get(10) is None
+        assert s.get(User, 10) is None
         assert u not in s  # and expunges
 
     def test_refresh_on_deleted_raises(self):
@@ -163,7 +163,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
-        u = s.query(User).get(10)
+        u = s.get(User, 10)
         s.expire_all()
 
         s.expire_all()
@@ -184,12 +184,12 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session(autocommit=False)
-        u = s.query(User).get(10)
+        u = s.get(User, 10)
         s.expire_all()
         s.execute(users.delete().where(User.id == 10))
 
         # do a get()/remove u from session
-        assert s.query(User).get(10) is None
+        assert s.get(User, 10) is None
         assert u not in s
 
         s.rollback()
@@ -241,7 +241,7 @@ class ExpireTest(_fixtures.FixtureTest):
             User, users, properties={"name": deferred(users.c.name)}
         )
         s = fixture_session(autocommit=False)
-        u = s.query(User).get(10)
+        u = s.get(User, 10)
 
         assert "name" not in u.__dict__
         s.execute(users.delete().where(User.id == 10))
@@ -273,7 +273,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=True, autocommit=False)
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         adlist = u.addresses
         eq_(
             adlist,
@@ -317,7 +317,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=True, autocommit=False)
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         assert_raises_message(
             sa_exc.InvalidRequestError,
             "properties specified for refresh",
@@ -331,12 +331,12 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         s.expire(u)
         s.refresh(u)
 
         def go():
-            u = s.query(User).get(7)
+            u = s.get(User, 7)
             eq_(u.name, "jack")
 
         self.assert_sql_count(testing.db, go, 0)
@@ -347,7 +347,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(User, users)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u, attribute_names=["name"])
 
@@ -357,14 +357,14 @@ class ExpireTest(_fixtures.FixtureTest):
         self.assert_sql_count(testing.db, go, 0)
         sess.flush()
         sess.expunge_all()
-        assert sess.query(User).get(7).name == "somenewname"
+        assert sess.get(User, 7).name == "somenewname"
 
     def test_no_session(self):
         users, User = self.tables.users, self.classes.User
 
         self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u, attribute_names=["name"])
         sess.expunge(u)
@@ -390,7 +390,7 @@ class ExpireTest(_fixtures.FixtureTest):
         # occur during a flush() on an instance that was just inserted
         self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u, attribute_names=["name"])
         sess.expunge(u)
@@ -406,7 +406,7 @@ class ExpireTest(_fixtures.FixtureTest):
         # are absent.  ensure an error is raised.
         self.mapper_registry.map_imperatively(User, users)
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u, attribute_names=["name", "id"])
         sess.expunge(u)
@@ -423,7 +423,7 @@ class ExpireTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(Order, orders)
         sess = fixture_session(autoflush=False)
-        o = sess.query(Order).get(3)
+        o = sess.get(Order, 3)
         sess.expire(o)
 
         o.description = "order 3 modified"
@@ -475,7 +475,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session(autoflush=False)
-        o = sess.query(Order).get(3)
+        o = sess.get(Order, 3)
         sess.expire(o)
 
         sess.execute(orders.update(), dict(description="order 3 modified"))
@@ -509,7 +509,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         assert u.addresses[0].email_address == "ed@wood.com"
 
         u.addresses[0].email_address = "someotheraddress"
@@ -535,7 +535,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         assert u.addresses[0].email_address == "ed@wood.com"
 
         u.addresses[0].email_address = "someotheraddress"
@@ -574,7 +574,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
         s = fixture_session(autoflush=False)
 
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         a = Address(id=12, email_address="foobar")
 
         u.addresses.append(a)
@@ -606,7 +606,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u)
         assert "name" not in u.__dict__
@@ -641,7 +641,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         sess.expire(u)
         assert "name" not in u.__dict__
@@ -690,7 +690,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
 
         a1 = u.addresses[0]
         eq_(a1.email_address, "jack@bean.com")
@@ -837,7 +837,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         sess.expire(u, ["name", "addresses"])
         u.addresses
         assert "name" not in u.__dict__
@@ -867,7 +867,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         sess.expire(u)
         u.id
 
@@ -892,7 +892,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
-        u = sess.query(User).options(joinedload(User.addresses)).get(8)
+        u = sess.get(User, 8, options=[joinedload(User.addresses)])
         sess.expire(u)
         u.id
         assert "addresses" in u.__dict__
@@ -917,7 +917,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
         self.mapper_registry.map_imperatively(Address, addresses)
         sess = fixture_session()
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         sess.expire(u)
 
         # here, the lazy loader will encounter the attribute already
@@ -938,7 +938,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
 
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
         assert "name" in u.__dict__
         assert u.uname == u.name
 
@@ -962,7 +962,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Order, orders)
 
         sess = fixture_session(autoflush=False)
-        o = sess.query(Order).get(3)
+        o = sess.get(Order, 3)
 
         sess.expire(o, attribute_names=["description"])
         assert "id" in o.__dict__
@@ -1031,7 +1031,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
 
         sess.expire(u, ["name", "addresses"])
         assert "name" not in u.__dict__
@@ -1093,7 +1093,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
 
         sess.expire(u, ["name", "addresses"])
         assert "name" not in u.__dict__
@@ -1147,7 +1147,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         assert "name" in u.__dict__
         u.addresses
         assert "addresses" in u.__dict__
@@ -1174,7 +1174,7 @@ class ExpireTest(_fixtures.FixtureTest):
         )
 
         sess = fixture_session(autoflush=False)
-        o = sess.query(Order).get(3)
+        o = sess.get(Order, 3)
         sess.expire(o, ["description", "isopen"])
         assert "isopen" not in o.__dict__
         assert "description" not in o.__dict__
@@ -1206,7 +1206,7 @@ class ExpireTest(_fixtures.FixtureTest):
         sess.expunge_all()
 
         # same tests, using deferred at the options level
-        o = sess.query(Order).options(sa.orm.defer(Order.description)).get(3)
+        o = sess.get(Order, 3, options=[sa.orm.defer(Order.description)])
 
         assert "description" not in o.__dict__
 
@@ -1262,7 +1262,7 @@ class ExpireTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session(autoflush=False)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         assert len(u.addresses) == 3
         sess.expire(u)
         assert "addresses" not in u.__dict__
@@ -1637,7 +1637,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
         Engineer = self.classes.Engineer
 
         sess = fixture_session(autoflush=False)
-        e1 = sess.query(Engineer).get(2)
+        e1 = sess.get(Engineer, 2)
 
         sess.expire(e1, attribute_names=["name"])
         sess.expunge(e1)
@@ -1652,7 +1652,7 @@ class PolymorphicExpireTest(fixtures.MappedTest):
         # same as test_no_instance_key, but the PK columns
         # are absent.  ensure an error is raised.
         sess = fixture_session(autoflush=False)
-        e1 = sess.query(Engineer).get(2)
+        e1 = sess.get(Engineer, 2)
 
         sess.expire(e1, attribute_names=["name", "person_id"])
         sess.expunge(e1)
@@ -1887,7 +1887,7 @@ class RefreshTest(_fixtures.FixtureTest):
             },
         )
         s = fixture_session(autoflush=False)
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         u.name = "foo"
         a = Address()
         assert sa.orm.object_session(a) is None
@@ -1922,7 +1922,7 @@ class RefreshTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         s.expunge_all()
         assert_raises_message(
             sa_exc.InvalidRequestError,
@@ -1941,8 +1941,8 @@ class RefreshTest(_fixtures.FixtureTest):
 
         s = fixture_session()
 
-        a1 = s.query(Address).get(2)
-        u1 = s.query(User).get(7)
+        a1 = s.get(Address, 2)
+        u1 = s.get(User, 7)
         a1.user = u1
 
         s.refresh(a1, ["user_id"])
@@ -1955,7 +1955,7 @@ class RefreshTest(_fixtures.FixtureTest):
 
         self.mapper_registry.map_imperatively(User, users)
         s = fixture_session()
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         s.expire(u)
         assert "name" not in u.__dict__
         s.refresh(u)
@@ -2014,13 +2014,13 @@ class RefreshTest(_fixtures.FixtureTest):
         )
 
         s = fixture_session()
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         assert len(u.addresses) == 3
         s.refresh(u)
         assert len(u.addresses) == 3
 
         s = fixture_session()
-        u = s.query(User).get(8)
+        u = s.get(User, 8)
         assert len(u.addresses) == 3
         s.expire(u)
         assert len(u.addresses) == 3
index d8da90d421ed25c74c90ff5edf9eedc1e4cdc6da..af3dd8a60f345180510d7894b15f21b10e08bc6f 100644 (file)
@@ -3604,14 +3604,15 @@ class ExternalColumnsTest(QueryTest):
         self.mapper_registry.map_imperatively(
             Order, orders, properties={"address": relationship(Address)}
         )  # m2o
+        configure_mappers()
 
         sess = fixture_session()
 
         def go():
-            o1 = (
-                sess.query(Order)
-                .options(joinedload(Order.address).joinedload(Address.user))
-                .get(1)
+            o1 = sess.get(
+                Order,
+                1,
+                options=[joinedload(Order.address).joinedload(Address.user)],
             )
             eq_(o1.address.user.count, 1)
 
index dc732181bb508395aef9ea2b122f241695639bb7..3cc7640cf03d15449347a377d687d5312d1d0b97 100644 (file)
@@ -584,7 +584,7 @@ class %s(SuperCls):
         s.flush()
         insp = inspect(u1)
         eq_(insp.identity, (u1.id,))
-        is_(s.query(User).get(insp.identity), u1)
+        is_(s.get(User, insp.identity), u1)
 
     def test_is_instance(self):
         User = self.classes.User
index 412637ec6a519e6c4f6a8f1ccbdf1b70d5ddd795..6b6789f301aeb47a0a6a3bf765dcc4b20842c1c7 100644 (file)
@@ -227,7 +227,7 @@ class LazyTest(_fixtures.FixtureTest):
         self.mapper_registry.map_imperatively(Address, addresses)
 
         sess = fixture_session()
-        user = sess.query(User).get(7)
+        user = sess.get(User, 7)
         assert getattr(User, "addresses").hasparent(
             attributes.instance_state(user.addresses[0]), optimistic=True
         )
@@ -651,7 +651,7 @@ class LazyTest(_fixtures.FixtureTest):
             self.assert_sql_count(testing.db, go, 15)
 
         sess = fixture_session()
-        user = sess.query(User).get(7)
+        user = sess.get(User, 7)
 
         closed_mapper = User.closed_orders.entity
         open_mapper = User.open_orders.entity
@@ -762,7 +762,7 @@ class LazyTest(_fixtures.FixtureTest):
                 )
 
                 # load user that is attached to the address
-                u1 = sess.query(User).get(8)
+                u1 = sess.get(User, 8)
 
                 def go():
                     # lazy load of a1.user should get it from the session
@@ -903,7 +903,7 @@ class LazyTest(_fixtures.FixtureTest):
                 )
 
                 # load user that is attached to the address
-                u1 = sess.query(User).get(8)
+                u1 = sess.get(User, 8)
 
                 def go():
                     # lazy load of a1.user should get it from the session
@@ -936,7 +936,7 @@ class LazyTest(_fixtures.FixtureTest):
 
         assert a.user is not None
 
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
 
         assert a.user is u1
 
@@ -1259,8 +1259,8 @@ class M2OGetTest(_fixtures.FixtureTest):
         sess.flush()
         sess.expunge_all()
 
-        ad2 = sess.query(Address).get(1)
-        ad3 = sess.query(Address).get(ad1.id)
+        ad2 = sess.get(Address, 1)
+        ad3 = sess.get(Address, ad1.id)
 
         def go():
             # one lazy load
index a835b2908c1d58ca107e3ed890929c1c76c7485a..050dd3a2d710d2ce3e6a84f631b7b81df9418d16 100644 (file)
@@ -51,7 +51,7 @@ class InstanceProcessorTest(_fixtures.FixtureTest):
                         Order(id=5, address=None),
                     ],
                 ),
-                s.query(User).populate_existing().get(7),
+                s.get(User, 7, populate_existing=True),
             )
 
         self.assert_sql_count(testing.db, go, 1)
index 7d9e6f9c38a479ca2a5ecc62efb7c53652833866..af90da1ddb305a680e4329e44c624f4b2fb7fb32 100644 (file)
@@ -280,7 +280,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         )
 
         s = fixture_session()
-        u = s.query(User).get(7)
+        u = s.get(User, 7)
         eq_(u._name, "jack")
         eq_(u._id, 7)
         u2 = s.query(User).filter_by(user_name="jack").one()
@@ -724,7 +724,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         m.add_property("addresses", relationship(Address))
 
         sess = fixture_session(autocommit=False)
-        assert sess.query(User).get(7)
+        assert sess.get(User, 7)
 
         u = sess.query(User).filter_by(name="jack").one()
 
@@ -926,8 +926,8 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         )
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
-        u2 = sess.query(User).get(8)
+        u1 = sess.get(User, 7)
+        u2 = sess.get(User, 8)
         # comparaison ops need to work
         a1 = sess.query(Address).filter(Address.user == u1).one()
         eq_(a1.id, 1)
@@ -1193,7 +1193,7 @@ class MapperTest(_fixtures.FixtureTest, AssertsCompiledSQL):
         s = Session(testing.db)
         s.add(u1)
         s.commit()
-        assert s.query(NoBoolAllowed).get(u1.id) is u1
+        assert s.get(NoBoolAllowed, u1.id) is u1
 
     def test_we_dont_call_eq(self):
         class NoEqAllowed(object):
index 3b97bd5a579e5429751c16bb57a4c95a31085312..b07c26cb77591357a6e743cfb5f77c2dff4b763f 100644 (file)
@@ -526,7 +526,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         sess.flush()
         sess.expunge_all()
-        u2 = sess.query(User).get(7)
+        u2 = sess.get(User, 7)
 
         eq_(
             u2,
@@ -672,7 +672,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         # assert data was saved
         sess2 = fixture_session()
-        u2 = sess2.query(User).get(7)
+        u2 = sess2.get(User, 7)
         eq_(
             u2,
             User(
@@ -714,7 +714,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         # assert modified/merged data was saved
         with fixture_session() as sess:
-            u = sess.query(User).get(7)
+            u = sess.get(User, 7)
             eq_(
                 u,
                 User(
@@ -774,7 +774,7 @@ class MergeTest(_fixtures.FixtureTest):
         eq_(load.called, 18)
 
         with fixture_session(expire_on_commit=False) as sess5:
-            u2 = sess5.query(User).get(u.id)
+            u2 = sess5.get(User, u.id)
             eq_(u2.name, "fred2")
             eq_(u2.addresses[1].email_address, "afafds")
         eq_(load.called, 21)
@@ -908,7 +908,7 @@ class MergeTest(_fixtures.FixtureTest):
         eq_(load.called, 0)
 
         sess2 = fixture_session()
-        u2 = sess2.query(User).get(u.id)
+        u2 = sess2.get(User, u.id)
         eq_(load.called, 1)
 
         u.addresses[1].email_address = "addr 2 modified"
@@ -917,7 +917,7 @@ class MergeTest(_fixtures.FixtureTest):
         eq_(load.called, 3)
 
         sess3 = fixture_session()
-        u3 = sess3.query(User).get(u.id)
+        u3 = sess3.get(User, u.id)
         eq_(load.called, 4)
 
         u.name = "also fred"
@@ -1002,7 +1002,7 @@ class MergeTest(_fixtures.FixtureTest):
         eq_(load.called, 0)
 
         with fixture_session(expire_on_commit=False) as sess2:
-            o2 = sess2.query(Order).get(o.id)
+            o2 = sess2.get(Order, o.id)
             eq_(load.called, 1)
 
             o.items[1].description = "item 2 modified"
@@ -1011,7 +1011,7 @@ class MergeTest(_fixtures.FixtureTest):
             eq_(load.called, 3)
 
         with fixture_session(expire_on_commit=False) as sess3:
-            o3 = sess3.query(Order).get(o.id)
+            o3 = sess3.get(Order, o.id)
             eq_(load.called, 4)
 
             o.description = "desc modified"
@@ -1054,7 +1054,7 @@ class MergeTest(_fixtures.FixtureTest):
         eq_(load.called, 0)
 
         sess2 = fixture_session()
-        u2 = sess2.query(User).get(7)
+        u2 = sess2.get(User, 7)
         eq_(load.called, 1)
         u2.name = "fred2"
         u2.address.email_address = "hoho@lalala.com"
@@ -1211,9 +1211,7 @@ class MergeTest(_fixtures.FixtureTest):
             sess.commit()
 
         sess2 = fixture_session()
-        u2 = (
-            sess2.query(User).options(sa.orm.joinedload(User.addresses)).get(7)
-        )
+        u2 = sess2.get(User, 7, options=[sa.orm.joinedload(User.addresses)])
 
         sess3 = fixture_session()
         u3 = sess3.merge(u2, load=False)  # noqa
@@ -1252,7 +1250,7 @@ class MergeTest(_fixtures.FixtureTest):
                 "mapped instances before merging with load=False." in str(e)
             )
 
-        u2 = sess2.query(User).get(7)
+        u2 = sess2.get(User, 7)
 
         sess3 = fixture_session()
         u3 = sess3.merge(u2, load=False)  # noqa
@@ -1361,7 +1359,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         with fixture_session() as sess2:
             eq_(
-                sess2.query(User).get(u2.id).addresses[0].email_address,
+                sess2.get(User, u2.id).addresses[0].email_address,
                 "somenewaddress",
             )
 
@@ -1375,7 +1373,7 @@ class MergeTest(_fixtures.FixtureTest):
 
         sess2 = fixture_session()
         sess = fixture_session()
-        u = sess.query(User).get(7)
+        u = sess.get(User, 7)
         u.addresses.append(Address())
         sess2 = fixture_session()
         try:
@@ -1392,7 +1390,7 @@ class MergeTest(_fixtures.FixtureTest):
             sess2.flush()
             sess2.expunge_all()
             eq_(
-                sess2.query(User).get(u2.id).addresses[0].email_address,
+                sess2.get(User, u2.id).addresses[0].email_address,
                 "somenewaddress",
             )
         except sa.exc.InvalidRequestError as e:
index fba335d285a131030a62af1027c40be0f54048c1..c807564012ca899c871aac2b89e5aa139da01ad8 100644 (file)
@@ -115,20 +115,20 @@ class NaturalPKTest(fixtures.MappedTest):
 
         sess.add(u1)
         sess.flush()
-        assert sess.query(User).get("jack") is u1
+        assert sess.get(User, "jack") is u1
 
         u1.username = "ed"
         sess.flush()
 
         def go():
-            assert sess.query(User).get("ed") is u1
+            assert sess.get(User, "ed") is u1
 
         self.assert_sql_count(testing.db, go, 0)
 
-        assert sess.query(User).get("jack") is None
+        assert sess.get(User, "jack") is None
 
         sess.expunge_all()
-        u1 = sess.query(User).get("ed")
+        u1 = sess.get(User, "ed")
         eq_(User(username="ed", fullname="jack"), u1)
 
     def test_load_after_expire(self):
@@ -141,7 +141,7 @@ class NaturalPKTest(fixtures.MappedTest):
 
         sess.add(u1)
         sess.flush()
-        assert sess.query(User).get("jack") is u1
+        assert sess.get(User, "jack") is u1
 
         sess.execute(
             users.update().values({User.username: "jack"}), dict(username="ed")
@@ -154,8 +154,8 @@ class NaturalPKTest(fixtures.MappedTest):
         assert_raises(sa.orm.exc.ObjectDeletedError, getattr, u1, "username")
 
         sess.expunge_all()
-        assert sess.query(User).get("jack") is None
-        assert sess.query(User).get("ed").fullname == "jack"
+        assert sess.get(User, "jack") is None
+        assert sess.get(User, "ed").fullname == "jack"
 
     @testing.requires.returning
     def test_update_to_sql_expr(self):
@@ -203,13 +203,13 @@ class NaturalPKTest(fixtures.MappedTest):
 
         sess.add(u1)
         sess.flush()
-        assert sess.query(User).get("jack") is u1
+        assert sess.get(User, "jack") is u1
 
         sess.expire(u1)
         u1.username = "ed"
         sess.flush()
         sess.expunge_all()
-        assert sess.query(User).get("ed").fullname == "jack"
+        assert sess.get(User, "ed").fullname == "jack"
 
     @testing.requires.on_update_cascade
     def test_onetomany_passive(self):
@@ -244,7 +244,7 @@ class NaturalPKTest(fixtures.MappedTest):
         sess.add(u1)
         sess.flush()
 
-        assert sess.query(Address).get("jack1") is u1.addresses[0]
+        assert sess.get(Address, "jack1") is u1.addresses[0]
 
         u1.username = "ed"
         sess.flush()
@@ -256,7 +256,7 @@ class NaturalPKTest(fixtures.MappedTest):
             sess.query(Address).all(),
         )
 
-        u1 = sess.query(User).get("ed")
+        u1 = sess.get(User, "ed")
         u1.username = "jack"
 
         def go():
@@ -275,16 +275,16 @@ class NaturalPKTest(fixtures.MappedTest):
                 username="jack",
                 addresses=[Address(username="jack"), Address(username="jack")],
             )
-            == sess.query(User).get("jack")
+            == sess.get(User, "jack")
         )
 
-        u1 = sess.query(User).get("jack")
+        u1 = sess.get(User, "jack")
         u1.addresses = []
         u1.username = "fred"
         sess.flush()
         sess.expunge_all()
-        assert sess.query(Address).get("jack1").username is None
-        u1 = sess.query(User).get("fred")
+        assert sess.get(Address, "jack1").username is None
+        u1 = sess.get(User, "fred")
         eq_(User(username="fred", fullname="jack"), u1)
 
     @testing.requires.on_update_cascade
@@ -525,7 +525,7 @@ class NaturalPKTest(fixtures.MappedTest):
             sess.query(Address).all(),
         )
 
-        u1 = sess.query(User).get("ed")
+        u1 = sess.get(User, "ed")
         assert len(u1.addresses) == 2  # load addresses
         u1.username = "fred"
 
@@ -619,7 +619,7 @@ class NaturalPKTest(fixtures.MappedTest):
         eq_(["ed", "jack"], sorted([u.username for u in r[1].users]))
 
         sess.expunge_all()
-        u2 = sess.query(User).get(u2.username)
+        u2 = sess.get(User, u2.username)
         u2.username = "wendy"
         sess.flush()
         r = sess.query(Item).filter(with_parent(u2, User.items)).all()
@@ -840,16 +840,16 @@ class ReversePKsTest(fixtures.MappedTest):
         a_editable.status = PUBLISHED
 
         session.commit()
-        assert session.query(User).get([1, PUBLISHED]) is a_editable
-        assert session.query(User).get([1, ARCHIVED]) is a_published
+        assert session.get(User, [1, PUBLISHED]) is a_editable
+        assert session.get(User, [1, ARCHIVED]) is a_published
 
         a_published.status = PUBLISHED
         a_editable.status = EDITABLE
 
         session.commit()
 
-        assert session.query(User).get([1, PUBLISHED]) is a_published
-        assert session.query(User).get([1, EDITABLE]) is a_editable
+        assert session.get(User, [1, PUBLISHED]) is a_published
+        assert session.get(User, [1, EDITABLE]) is a_editable
 
     @testing.requires.savepoints
     def test_reverse_savepoint(self):
@@ -1105,7 +1105,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
             [("jack",), ("jack",)],
         )
 
-        assert sess.query(Address).get(a1.id) is u1.addresses[0]
+        assert sess.get(Address, a1.id) is u1.addresses[0]
 
         u1.username = "ed"
         sess.flush()
@@ -1121,7 +1121,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
             sess.query(Address).all(),
         )
 
-        u1 = sess.query(User).get(u1.id)
+        u1 = sess.get(User, u1.id)
         u1.username = "jack"
 
         def go():
@@ -1140,16 +1140,16 @@ class NonPKCascadeTest(fixtures.MappedTest):
                 username="jack",
                 addresses=[Address(username="jack"), Address(username="jack")],
             )
-            == sess.query(User).get(u1.id)
+            == sess.get(User, u1.id)
         )
         sess.expunge_all()
 
-        u1 = sess.query(User).get(u1.id)
+        u1 = sess.get(User, u1.id)
         u1.addresses = []
         u1.username = "fred"
         sess.flush()
         sess.expunge_all()
-        a1 = sess.query(Address).get(a1.id)
+        a1 = sess.get(Address, a1.id)
         eq_(a1.username, None)
 
         eq_(
@@ -1157,7 +1157,7 @@ class NonPKCascadeTest(fixtures.MappedTest):
             [(None,), (None,)],
         )
 
-        u1 = sess.query(User).get(u1.id)
+        u1 = sess.get(User, u1.id)
         eq_(User(username="fred", fullname="jack"), u1)
 
 
index efc49d641e50a8c7ba882ec3d241ef075b2e2ec1..dd890dba8fc9496fc80e5c808fd4717c8a5923c3 100644 (file)
@@ -85,8 +85,8 @@ class O2OTest(fixtures.MappedTest):
         jid = j.id
         pid = p.id
 
-        j = session.query(Jack).get(jid)
-        p = session.query(Port).get(pid)
+        j = session.get(Jack, jid)
+        p = session.get(Port, pid)
         assert p.jack is not None
         assert p.jack is j
         assert j.port is not None
@@ -95,8 +95,8 @@ class O2OTest(fixtures.MappedTest):
 
         session.expunge_all()
 
-        j = session.query(Jack).get(jid)
-        p = session.query(Port).get(pid)
+        j = session.get(Jack, jid)
+        p = session.get(Port, pid)
 
         j.port = None
 
index e6f15c47b53d16cb1aeeae95a5b141b6ded7dc00..11d90bd590731142d72be5bbe595190a5194864a 100644 (file)
@@ -139,7 +139,7 @@ class PickleTest(fixtures.MappedTest):
 
         sess.expunge_all()
 
-        eq_(u1, sess.query(User).get(u2.id))
+        eq_(u1, sess.get(User, u2.id))
 
     def test_no_mappers(self):
         users = self.tables.users
@@ -199,7 +199,7 @@ class PickleTest(fixtures.MappedTest):
             sess.commit()
 
         with fixture_session() as sess:
-            u1 = sess.query(User).get(u1.id)
+            u1 = sess.get(User, u1.id)
             assert "name" not in u1.__dict__
             assert "addresses" not in u1.__dict__
 
@@ -342,15 +342,15 @@ class PickleTest(fixtures.MappedTest):
             sess.commit()
 
         with fixture_session(expire_on_commit=False) as sess:
-            u1 = (
-                sess.query(User)
-                .options(
+            u1 = sess.get(
+                User,
+                u1.id,
+                options=[
                     sa.orm.defer(User.name),
                     sa.orm.defaultload(User.addresses).defer(
                         Address.email_address
                     ),
-                )
-                .get(u1.id)
+                ],
             )
             assert "name" not in u1.__dict__
             assert "addresses" not in u1.__dict__
index 1ff661284805fb70195ed9525ea1c2211584725d..c567cf1d16b9e4b3915016155ea9517895ac9511 100644 (file)
@@ -1161,14 +1161,6 @@ class GetTest(QueryTest):
 
         s = fixture_session()
 
-        u1 = s.query(User).options(joinedload(User.addresses)).get(8)
-        eq_(len(u1.__dict__["addresses"]), 3)
-
-    def test_loader_options_future(self):
-        User = self.classes.User
-
-        s = fixture_session()
-
         u1 = s.get(User, 8, options=[joinedload(User.addresses)])
         eq_(len(u1.__dict__["addresses"]), 3)
 
@@ -1176,13 +1168,13 @@ class GetTest(QueryTest):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        is_(s.query(CompositePk).get({"i": 100, "j": 100}), None)
+        is_(s.get(CompositePk, {"i": 100, "j": 100}), None)
 
     def test_get_composite_pk_keyword_based_result(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        one_two = s.query(CompositePk).get({"i": 1, "j": 2})
+        one_two = s.get(CompositePk, {"i": 1, "j": 2})
         eq_(one_two.i, 1)
         eq_(one_two.j, 2)
         eq_(one_two.k, 3)
@@ -1191,40 +1183,30 @@ class GetTest(QueryTest):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
-        assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1, "k": 2})
+        assert_raises(
+            sa_exc.InvalidRequestError, s.get, CompositePk, {"i": 1, "k": 2}
+        )
 
     def test_get_composite_pk_keyword_based_too_few_keys(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
-        assert_raises(sa_exc.InvalidRequestError, q.get, {"i": 1})
+        assert_raises(sa_exc.InvalidRequestError, s.get, CompositePk, {"i": 1})
 
     def test_get_composite_pk_keyword_based_too_many_keys(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
         assert_raises(
-            sa_exc.InvalidRequestError, q.get, {"i": 1, "j": "2", "k": 3}
+            sa_exc.InvalidRequestError,
+            s.get,
+            CompositePk,
+            {"i": 1, "j": "2", "k": 3},
         )
 
     def test_get(self):
         User = self.classes.User
 
-        s = fixture_session()
-        assert s.query(User).get(19) is None
-        u = s.query(User).get(7)
-        u2 = s.query(User).get(7)
-        assert u is u2
-        s.expunge_all()
-        u2 = s.query(User).get(7)
-        assert u is not u2
-
-    def test_get_future(self):
-        User = self.classes.User
-
         s = fixture_session()
         assert s.get(User, 19) is None
         u = s.get(User, 7)
@@ -1238,13 +1220,13 @@ class GetTest(QueryTest):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        assert s.query(CompositePk).get((100, 100)) is None
+        assert s.get(CompositePk, (100, 100)) is None
 
     def test_get_composite_pk_result(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        one_two = s.query(CompositePk).get((1, 2))
+        one_two = s.get(CompositePk, (1, 2))
         assert one_two.i == 1
         assert one_two.j == 2
         assert one_two.k == 3
@@ -1253,29 +1235,52 @@ class GetTest(QueryTest):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
-        assert_raises(sa_exc.InvalidRequestError, q.get, 7)
+        assert_raises_message(
+            sa_exc.InvalidRequestError,
+            r"Incorrect number of values in identifier to formulate "
+            r"primary key for session.get\(\); ",
+            s.get,
+            CompositePk,
+            7,
+        )
 
     def test_get_too_few_params_tuple(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
-        assert_raises(sa_exc.InvalidRequestError, q.get, (7,))
+        assert_raises_message(
+            sa_exc.InvalidRequestError,
+            r"Incorrect number of values in identifier to formulate "
+            r"primary key for session.get\(\); ",
+            s.get,
+            CompositePk,
+            (7,),
+        )
 
     def test_get_too_many_params(self):
         CompositePk = self.classes.CompositePk
 
         s = fixture_session()
-        q = s.query(CompositePk)
-        assert_raises(sa_exc.InvalidRequestError, q.get, (7, 10, 100))
+        assert_raises_message(
+            sa_exc.InvalidRequestError,
+            r"Incorrect number of values in identifier to formulate "
+            r"primary key for session.get\(\); ",
+            s.get,
+            CompositePk,
+            (7, 10, 100),
+        )
 
     def test_get_against_col(self):
         User = self.classes.User
 
         s = fixture_session()
-        q = s.query(User.id)
-        assert_raises(sa_exc.InvalidRequestError, q.get, (5,))
+        assert_raises_message(
+            sa_exc.ArgumentError,
+            r"Expected mapped class or mapper, got: .*Instrumented",
+            s.get,
+            User.id,
+            (5,),
+        )
 
     @testing.fixture
     def outerjoin_mapping(self, registry):
@@ -1302,19 +1307,19 @@ class GetTest(QueryTest):
 
         UserThing = outerjoin_mapping
         sess = fixture_session()
-        u10 = sess.query(UserThing).get((10, None))
+        u10 = sess.get(UserThing, (10, None))
         eq_(u10, UserThing(id=10))
 
     def test_get_fully_null_pk(self):
         User = self.classes.User
 
         s = fixture_session()
-        q = s.query(User)
         assert_raises_message(
             sa_exc.SAWarning,
             r"fully NULL primary key identity cannot load any object.  "
             "This condition may raise an error in a future release.",
-            q.get,
+            s.get,
+            User,
             None,
         )
 
@@ -1322,48 +1327,16 @@ class GetTest(QueryTest):
         UserThing = outerjoin_mapping
 
         s = fixture_session()
-        q = s.query(UserThing)
 
         assert_raises_message(
             sa_exc.SAWarning,
             r"fully NULL primary key identity cannot load any object.  "
             "This condition may raise an error in a future release.",
-            q.get,
+            s.get,
+            UserThing,
             (None, None),
         )
 
-    def test_no_criterion(self):
-        """test that get()/load() does not use preexisting filter/etc.
-        criterion"""
-
-        User, Address = self.classes.User, self.classes.Address
-
-        s = fixture_session()
-
-        q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
-        assert_raises(sa_exc.InvalidRequestError, q.get, 7)
-        assert_raises(
-            sa_exc.InvalidRequestError,
-            s.query(User).filter(User.id == 7).get,
-            19,
-        )
-
-        # order_by()/get() doesn't raise
-        s.query(User).order_by(User.id).get(8)
-
-    def test_no_criterion_when_already_loaded(self):
-        """test that get()/load() does not use preexisting filter/etc.
-        criterion, even when we're only using the identity map."""
-
-        User, Address = self.classes.User, self.classes.Address
-
-        s = fixture_session()
-
-        s.query(User).get(7)
-
-        q = s.query(User).join(User.addresses).filter(Address.user_id == 8)
-        assert_raises(sa_exc.InvalidRequestError, q.get, 7)
-
     def test_unique_param_names(self):
         users = self.tables.users
 
@@ -1375,20 +1348,20 @@ class GetTest(QueryTest):
         assert s.primary_key == m.primary_key
 
         sess = fixture_session()
-        assert sess.query(SomeUser).get(7).name == "jack"
+        assert sess.get(SomeUser, 7).name == "jack"
 
     def test_load(self):
         User, Address = self.classes.User, self.classes.Address
 
         s = fixture_session(autoflush=False)
 
-        assert s.query(User).populate_existing().get(19) is None
+        assert s.get(User, 19, populate_existing=True) is None
 
-        u = s.query(User).populate_existing().get(7)
-        u2 = s.query(User).populate_existing().get(7)
+        u = s.get(User, 7, populate_existing=True)
+        u2 = s.get(User, 7, populate_existing=True)
         assert u is u2
         s.expunge_all()
-        u2 = s.query(User).populate_existing().get(7)
+        u2 = s.get(User, 7, populate_existing=True)
         assert u is not u2
 
         u2.name = "some name"
@@ -1397,7 +1370,7 @@ class GetTest(QueryTest):
         assert u2 in s.dirty
         assert a in u2.addresses
 
-        s.query(User).populate_existing().get(7)
+        s.get(User, 7, populate_existing=True)
 
         assert u2 not in s.dirty
         assert u2.name == "jack"
@@ -1426,114 +1399,6 @@ class GetTest(QueryTest):
                 LocalFoo(id=ustring, data=ustring),
             )
 
-    def test_populate_existing(self):
-        User, Address = self.classes.User, self.classes.Address
-        Order = self.classes.Order
-
-        s = fixture_session(autoflush=False)
-
-        userlist = s.query(User).all()
-
-        u = userlist[0]
-        u.name = "foo"
-        a = Address(name="ed")
-        u.addresses.append(a)
-
-        self.assert_(a in u.addresses)
-
-        s.query(User).populate_existing().all()
-
-        self.assert_(u not in s.dirty)
-
-        self.assert_(u.name == "jack")
-
-        self.assert_(a not in u.addresses)
-
-        u.addresses[0].email_address = "lala"
-        u.orders[1].items[2].description = "item 12"
-        # test that lazy load doesn't change child items
-        s.query(User).populate_existing().all()
-        assert u.addresses[0].email_address == "lala"
-        assert u.orders[1].items[2].description == "item 12"
-
-        # eager load does
-        s.query(User).options(
-            joinedload(User.addresses),
-            joinedload(User.orders).joinedload(Order.items),
-        ).populate_existing().all()
-        assert u.addresses[0].email_address == "jack@bean.com"
-        assert u.orders[1].items[2].description == "item 5"
-
-    def test_populate_existing_future(self):
-        User, Address = self.classes.User, self.classes.Address
-        Order = self.classes.Order
-
-        s = fixture_session(autoflush=False)
-
-        userlist = s.query(User).all()
-
-        u = userlist[0]
-        u.name = "foo"
-        a = Address(name="ed")
-        u.addresses.append(a)
-
-        self.assert_(a in u.addresses)
-
-        stmt = select(User).execution_options(populate_existing=True)
-
-        s.execute(
-            stmt,
-        ).scalars().all()
-
-        self.assert_(u not in s.dirty)
-
-        self.assert_(u.name == "jack")
-
-        self.assert_(a not in u.addresses)
-
-        u.addresses[0].email_address = "lala"
-        u.orders[1].items[2].description = "item 12"
-        # test that lazy load doesn't change child items
-        s.query(User).populate_existing().all()
-        assert u.addresses[0].email_address == "lala"
-        assert u.orders[1].items[2].description == "item 12"
-
-        # eager load does
-
-        stmt = (
-            select(User)
-            .options(
-                joinedload(User.addresses),
-                joinedload(User.orders).joinedload(Order.items),
-            )
-            .execution_options(populate_existing=True)
-        )
-
-        s.execute(stmt).unique().scalars().all()
-
-        assert u.addresses[0].email_address == "jack@bean.com"
-        assert u.orders[1].items[2].description == "item 5"
-
-    def test_option_transfer_future(self):
-        User = self.classes.User
-        stmt = select(User).execution_options(
-            populate_existing=True, autoflush=False, yield_per=10
-        )
-        s = fixture_session()
-
-        m1 = mock.Mock()
-
-        event.listen(s, "do_orm_execute", m1)
-
-        s.execute(stmt)
-
-        eq_(
-            m1.mock_calls[0][1][0].load_options,
-            QueryContext.default_load_options(
-                _autoflush=False, _populate_existing=True, _yield_per=10
-            ),
-        )
-
 
 class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
     @testing.combinations(
@@ -1655,14 +1520,6 @@ class InvalidGenerationsTest(QueryTest, AssertsCompiledSQL):
         )
         assert_raises(sa_exc.InvalidRequestError, q.with_polymorphic, User)
 
-    def test_only_full_mapper_zero(self):
-        User, Address = self.classes.User, self.classes.Address
-
-        s = fixture_session()
-
-        q = s.query(User, Address)
-        assert_raises(sa_exc.InvalidRequestError, q.get, 5)
-
     def test_entity_or_mapper_zero_from_context(self):
         User, Address = self.classes.User, self.classes.Address
         s = fixture_session()
@@ -3283,7 +3140,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        address = sess.query(Address).get(3)
+        address = sess.get(Address, 3)
         assert [User(id=8)] == sess.query(User).filter(
             User.addresses.contains(address)
         ).all()
@@ -3436,7 +3293,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
             Address.id
         ).all()
 
-        dingaling = sess.query(Dingaling).get(2)
+        dingaling = sess.get(Dingaling, 2)
         assert [User(id=9)] == sess.query(User).filter(
             User.addresses.any(Address.dingaling == dingaling)
         ).all()
@@ -3445,7 +3302,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
         Item, Order = self.classes.Item, self.classes.Order
 
         sess = fixture_session()
-        item = sess.query(Item).get(3)
+        item = sess.get(Item, 3)
 
         eq_(
             sess.query(Order)
@@ -3462,7 +3319,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
             [Order(id=4), Order(id=5)],
         )
 
-        item2 = sess.query(Item).get(5)
+        item2 = sess.get(Item, 5)
         eq_(
             sess.query(Order)
             .filter(Order.items.contains(item))
@@ -3522,7 +3379,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
         )
 
         sess = fixture_session()
-        user = sess.query(User).get(8)
+        user = sess.get(User, 8)
         assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
             Address
         ).filter(Address.user == user).all()
@@ -3542,7 +3399,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
         ).all()  # noqa
 
         # o2o
-        dingaling = sess.query(Dingaling).get(2)
+        dingaling = sess.get(Dingaling, 2)
         assert [Address(id=5)] == sess.query(Address).filter(
             Address.dingaling == dingaling
         ).all()
@@ -3567,7 +3424,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        user = sess.query(User).get(8)
+        user = sess.get(User, 8)
         assert [Address(id=2), Address(id=3), Address(id=4)] == sess.query(
             Address
         ).filter_by(user=user).all()
@@ -6440,7 +6297,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         q = (
             sess.query(Address)
             .select_from(Address)
@@ -6459,7 +6316,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         q = sess.query(User, Address).filter(
             with_parent(u1, User.addresses, from_entity=Address)
         )
@@ -6478,7 +6335,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         q = sess.query(a1).filter(with_parent(u1, User.addresses.of_type(a1)))
         self.assert_compile(
@@ -6495,7 +6352,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         a2 = aliased(Address)
         q = sess.query(a1, a2).filter(
@@ -6518,7 +6375,7 @@ class ParentTest(QueryTest, AssertsCompiledSQL):
         User, Address = self.classes.User, self.classes.Address
 
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         a1 = aliased(Address)
         a2 = aliased(Address)
         q = sess.query(a1, a2).filter(
@@ -7335,6 +7192,114 @@ class ImmediateTest(_fixtures.FixtureTest):
 
 
 class ExecutionOptionsTest(QueryTest):
+    def test_populate_existing(self):
+        User, Address = self.classes.User, self.classes.Address
+        Order = self.classes.Order
+
+        s = fixture_session(autoflush=False)
+
+        userlist = s.query(User).all()
+
+        u = userlist[0]
+        u.name = "foo"
+        a = Address(name="ed")
+        u.addresses.append(a)
+
+        self.assert_(a in u.addresses)
+
+        s.query(User).populate_existing().all()
+
+        self.assert_(u not in s.dirty)
+
+        self.assert_(u.name == "jack")
+
+        self.assert_(a not in u.addresses)
+
+        u.addresses[0].email_address = "lala"
+        u.orders[1].items[2].description = "item 12"
+        # test that lazy load doesn't change child items
+        s.query(User).populate_existing().all()
+        assert u.addresses[0].email_address == "lala"
+        assert u.orders[1].items[2].description == "item 12"
+
+        # eager load does
+        s.query(User).options(
+            joinedload(User.addresses),
+            joinedload(User.orders).joinedload(Order.items),
+        ).populate_existing().all()
+        assert u.addresses[0].email_address == "jack@bean.com"
+        assert u.orders[1].items[2].description == "item 5"
+
+    def test_populate_existing_future(self):
+        User, Address = self.classes.User, self.classes.Address
+        Order = self.classes.Order
+
+        s = fixture_session(autoflush=False)
+
+        userlist = s.query(User).all()
+
+        u = userlist[0]
+        u.name = "foo"
+        a = Address(name="ed")
+        u.addresses.append(a)
+
+        self.assert_(a in u.addresses)
+
+        stmt = select(User).execution_options(populate_existing=True)
+
+        s.execute(
+            stmt,
+        ).scalars().all()
+
+        self.assert_(u not in s.dirty)
+
+        self.assert_(u.name == "jack")
+
+        self.assert_(a not in u.addresses)
+
+        u.addresses[0].email_address = "lala"
+        u.orders[1].items[2].description = "item 12"
+        # test that lazy load doesn't change child items
+        s.query(User).populate_existing().all()
+        assert u.addresses[0].email_address == "lala"
+        assert u.orders[1].items[2].description == "item 12"
+
+        # eager load does
+
+        stmt = (
+            select(User)
+            .options(
+                joinedload(User.addresses),
+                joinedload(User.orders).joinedload(Order.items),
+            )
+            .execution_options(populate_existing=True)
+        )
+
+        s.execute(stmt).unique().scalars().all()
+
+        assert u.addresses[0].email_address == "jack@bean.com"
+        assert u.orders[1].items[2].description == "item 5"
+
+    def test_option_transfer_future(self):
+        User = self.classes.User
+        stmt = select(User).execution_options(
+            populate_existing=True, autoflush=False, yield_per=10
+        )
+        s = fixture_session()
+
+        m1 = mock.Mock()
+
+        event.listen(s, "do_orm_execute", m1)
+
+        s.execute(stmt)
+
+        eq_(
+            m1.mock_calls[0][1][0].load_options,
+            QueryContext.default_load_options(
+                _autoflush=False, _populate_existing=True, _yield_per=10
+            ),
+        )
+
     def test_option_building(self):
         User = self.classes.User
 
@@ -7682,9 +7647,9 @@ class QueryClsTest(QueryTest):
 
         s = fixture_session(query_cls=fixture())
 
-        assert s.query(User).get(19) is None
-        u = s.query(User).get(7)
-        u2 = s.query(User).get(7)
+        assert s.get(User, 19) is None
+        u = s.get(User, 7)
+        u2 = s.get(User, 7)
         assert u is u2
 
     def _test_o2m_lazyload(self, fixture):
index 2d3a6309b02f42b9da77816a36e2d199f169b512..94b30f3d01a0cf29d00d85adf93873c900c43043 100644 (file)
@@ -3222,7 +3222,7 @@ class ViewOnlyOverlappingNames(fixtures.MappedTest):
         sess.flush()
         sess.expunge_all()
 
-        c1 = sess.query(C1).get(c1.id)
+        c1 = sess.get(C1, c1.id)
         assert set([x.id for x in c1.t2s]) == set([c2a.id, c2b.id])
         assert set([x.id for x in c1.t2_view]) == set([c2b.id])
 
@@ -3486,7 +3486,7 @@ class ViewOnlyUniqueNames(fixtures.MappedTest):
         sess.flush()
         sess.expunge_all()
 
-        c1 = sess.query(C1).get(c1.t1id)
+        c1 = sess.get(C1, c1.t1id)
         assert set([x.t2id for x in c1.t2s]) == set([c2a.t2id, c2b.t2id])
         assert set([x.t2id for x in c1.t2_view]) == set([c2b.t2id])
 
index e3d852e6821a08fea0a91ff7b62eff0e483e726a..f01060aab503e7a2b6d8fb5e8c1c9d76852d18b7 100644 (file)
@@ -221,15 +221,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         )
         sess = fixture_session()
 
-        q = sess.query(User).options(selectinload(User.addresses))
-
         def go():
             eq_(
                 User(
                     id=7,
                     addresses=[Address(id=1, email_address="jack@bean.com")],
                 ),
-                q.get(7),
+                sess.get(User, 7, options=[selectinload(User.addresses)]),
             )
 
         self.assert_sql_count(testing.db, go, 2)
@@ -1253,7 +1251,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         def go():
             a = q.filter(addresses.c.id == 1).one()
             is_not(a.user, None)
-            u1 = sess.query(User).get(7)
+            u1 = sess.get(User, 7)
             is_(a.user, u1)
 
         self.assert_sql_count(testing.db, go, 2)
@@ -1502,7 +1500,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_runs_query_on_refresh(self):
         User, Address, sess = self._eager_config_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1)
 
@@ -1540,7 +1538,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
 
     def test_no_query_on_deferred(self):
         User, Address, sess = self._deferred_config_fixture()
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1, ["addresses"])
 
@@ -1552,7 +1550,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
 
     def test_populate_existing_propagate(self):
         User, Address, sess = self._eager_config_fixture()
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         u1.addresses[2].email_address = "foofoo"
         del u1.addresses[1]
         u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -1565,7 +1563,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_scalar(self):
         User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         a1 = Address()
         u1.addresses.append(a1)
         a2 = u1.addresses[0]
@@ -1585,7 +1583,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_collection(self):
         User, Order, Item, sess = self._collection_to_collection_fixture()
 
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         u1.orders
         o1 = Order()
         u1.orders.append(o1)
index 94b35c5b3f79b4a95cc9c671faa46f1c1cadde36..f66f22e33ccffcb1f6a4bf8c119e4c664c14388d 100644 (file)
@@ -846,7 +846,7 @@ class SessionStateTest(_fixtures.FixtureTest):
             s2.delete,
             user,
         )
-        u2 = s2.query(User).get(user.id)
+        u2 = s2.get(User, user.id)
         s2.expunge(u2)
         assert_raises_message(
             sa.exc.InvalidRequestError,
@@ -983,7 +983,7 @@ class SessionStateTest(_fixtures.FixtureTest):
         assert u1 not in sess
         assert Session.object_session(u1) is None
 
-        u2 = sess.query(User).get(u1.id)
+        u2 = sess.get(User, u1.id)
         assert u2 is not None and u2 is not u1
         assert u2 in sess
 
@@ -1011,7 +1011,7 @@ class SessionStateTest(_fixtures.FixtureTest):
 
         sess.expunge_all()
 
-        u3 = sess.query(User).get(u1.id)
+        u3 = sess.get(User, u1.id)
         assert u3 is not u1 and u3 is not u2 and u3.name == u1.name
 
     def test_no_double_save(self):
@@ -1213,7 +1213,7 @@ class DeferredRelationshipExpressionTest(_fixtures.FixtureTest):
 
         sess.commit()
         sess.close()
-        u = sess.query(User).get(u.id)
+        u = sess.get(User, u.id)
         q = sess.query(Address).filter(Address.user == u)
         del u
         gc_collect()
@@ -1361,7 +1361,7 @@ class SessionStateWFixtureTest(_fixtures.FixtureTest):
         )
 
         sess = fixture_session(autocommit=False, autoflush=True)
-        u = sess.query(User).get(8)
+        u = sess.get(User, 8)
         newad = Address(email_address="a new address")
         u.addresses.append(newad)
         u.name = "some new name"
index 25ebb9ebe4ceef108b8279be25aa5724706b9541..3b09d8eb18d63db0dedaef7651736ae316f9df62 100644 (file)
@@ -313,15 +313,13 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         )
         sess = fixture_session()
 
-        q = sess.query(User).options(subqueryload(User.addresses))
-
         def go():
             eq_(
                 User(
                     id=7,
                     addresses=[Address(id=1, email_address="jack@bean.com")],
                 ),
-                q.get(7),
+                sess.get(User, 7, options=[subqueryload(User.addresses)]),
             )
 
         self.assert_sql_count(testing.db, go, 2)
@@ -1363,7 +1361,7 @@ class EagerTest(_fixtures.FixtureTest, testing.AssertsCompiledSQL):
         def go():
             a = q.filter(addresses.c.id == 1).one()
             is_not(a.user, None)
-            u1 = sess.query(User).get(7)
+            u1 = sess.get(User, 7)
             is_(a.user, u1)
 
         self.assert_sql_count(testing.db, go, 2)
@@ -1530,7 +1528,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_runs_query_on_refresh(self):
         User, Address, sess = self._eager_config_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1)
 
@@ -1568,7 +1566,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
 
     def test_no_query_on_deferred(self):
         User, Address, sess = self._deferred_config_fixture()
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         assert "addresses" in u1.__dict__
         sess.expire(u1, ["addresses"])
 
@@ -1580,7 +1578,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
 
     def test_populate_existing_propagate(self):
         User, Address, sess = self._eager_config_fixture()
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         u1.addresses[2].email_address = "foofoo"
         del u1.addresses[1]
         u1 = sess.query(User).populate_existing().filter_by(id=8).one()
@@ -1593,7 +1591,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_scalar(self):
         User, Address, Dingaling, sess = self._collection_to_scalar_fixture()
 
-        u1 = sess.query(User).get(8)
+        u1 = sess.get(User, 8)
         a1 = Address()
         u1.addresses.append(a1)
         a2 = u1.addresses[0]
@@ -1613,7 +1611,7 @@ class LoadOnExistingTest(_fixtures.FixtureTest):
     def test_loads_second_level_collection_to_collection(self):
         User, Order, Item, sess = self._collection_to_collection_fixture()
 
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         u1.orders
         o1 = Order()
         u1.orders.append(o1)
index 1c8fef5cbd6a0f5f891757903a124b8916e06586..b2e8bff792d6beec0d50dd4f9b5e8dda765a9044 100644 (file)
@@ -1341,7 +1341,7 @@ class FixtureDataTest(_LocalFixture):
     def test_attrs_on_rollback(self):
         User = self.classes.User
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         u1.name = "ed"
         sess.rollback()
         eq_(u1.name, "jack")
@@ -1349,7 +1349,7 @@ class FixtureDataTest(_LocalFixture):
     def test_commit_persistent(self):
         User = self.classes.User
         sess = fixture_session()
-        u1 = sess.query(User).get(7)
+        u1 = sess.get(User, 7)
         u1.name = "ed"
         sess.flush()
         sess.commit()
@@ -1358,12 +1358,12 @@ class FixtureDataTest(_LocalFixture):
     def test_concurrent_commit_persistent(self):
         User = self.classes.User
         s1 = fixture_session()
-        u1 = s1.query(User).get(7)
+        u1 = s1.get(User, 7)
         u1.name = "ed"
         s1.commit()
 
         s2 = fixture_session()
-        u2 = s2.query(User).get(7)
+        u2 = s2.get(User, 7)
         assert u2.name == "ed"
         u2.name = "will"
         s2.commit()
@@ -2745,7 +2745,7 @@ class NaturalPKRollbackTest(fixtures.MappedTest):
         s.flush()
 
         s.execute(users.insert().values(name="u1"))
-        u2 = s.query(User).get("u1")
+        u2 = s.get(User, "u1")
 
         assert u1 not in s
         s.rollback()
index 01cb9dcc46048c075042361b02ed1ffcf6c81168..7b7cb0db6fbe75c1c3f314646744fac44bee5846 100644 (file)
@@ -371,7 +371,7 @@ class PKTest(fixtures.MappedTest):
         session.flush()
         session.expunge_all()
 
-        e2 = session.query(Entry).get((e.multi_id, 2))
+        e2 = session.get(Entry, (e.multi_id, 2))
         self.assert_(e is not e2)
         state = sa.orm.attributes.instance_state(e)
         state2 = sa.orm.attributes.instance_state(e2)
@@ -573,7 +573,7 @@ class ClauseAttributesTest(fixtures.MappedTest):
         self.sql_count_(1, go)
 
         session.expunge_all()
-        u = session.query(User).get(u.id)
+        u = session.get(User, u.id)
         eq_(u.name, "test2")
         eq_(u.counter, 2)
 
@@ -723,7 +723,7 @@ class PassiveDeletesTest(fixtures.MappedTest):
                 conn.scalar(select(func.count("*")).select_from(myothertable)),
                 4,
             )
-            mc = session.query(MyClass).get(mc.id)
+            mc = session.get(MyClass, mc.id)
             session.delete(mc)
             session.flush()
 
@@ -905,7 +905,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
                 conn.scalar(select(func.count("*")).select_from(myothertable)),
                 4,
             )
-            mc = session.query(MyClass).get(mc.id)
+            mc = session.get(MyClass, mc.id)
             session.delete(mc)
             assert_raises(sa.exc.DBAPIError, session.flush)
 
@@ -941,7 +941,7 @@ class ExtraPassiveDeletesTest(fixtures.MappedTest):
                 1,
             )
 
-            mc = session.query(MyClass).get(mc.id)
+            mc = session.get(MyClass, mc.id)
             session.delete(mc)
             mc.children[0].data = "some new data"
             assert_raises(sa.exc.DBAPIError, session.flush)
@@ -1298,17 +1298,17 @@ class DefaultTest(fixtures.MappedTest):
         session.expunge_all()
 
         eq_(
-            session.query(Hoho).get(h1.id),
+            session.get(Hoho, h1.id),
             Hoho(hoho=hohoval, secondaries=[Secondary(data="s1")]),
         )
 
-        h1 = session.query(Hoho).get(h1.id)
+        h1 = session.get(Hoho, h1.id)
         h1.secondaries.append(Secondary(data="s2"))
         session.flush()
         session.expunge_all()
 
         eq_(
-            session.query(Hoho).get(h1.id),
+            session.get(Hoho, h1.id),
             Hoho(
                 hoho=hohoval,
                 secondaries=[Secondary(data="s1"), Secondary(data="s2")],
@@ -1669,7 +1669,7 @@ class OneToManyTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        u2 = session.query(User).get(u2.id)
+        u2 = session.get(User, u2.id)
         eq_(len(u2.addresses), 1)
 
     def test_child_move_2(self):
@@ -1706,7 +1706,7 @@ class OneToManyTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        u2 = session.query(User).get(u2.id)
+        u2 = session.get(User, u2.id)
         eq_(len(u2.addresses), 1)
 
     def test_o2m_delete_parent(self):
@@ -1866,14 +1866,14 @@ class SaveTest(_fixtures.FixtureTest):
             session.flush()
 
             # assert the first one retrieves the same from the identity map
-            nu = session.query(m).get(u.id)
+            nu = session.get(m, u.id)
             assert u is nu
 
             # clear out the identity map, so next get forces a SELECT
             session.expunge_all()
 
             # check it again, identity should be different but ids the same
-            nu = session.query(m).get(u.id)
+            nu = session.get(m, u.id)
             assert u is not nu and u.id == nu.id and nu.name == "savetester"
 
             session.commit()
@@ -2075,7 +2075,7 @@ class SaveTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        u = session.query(User).get(u.id)
+        u = session.get(User, u.id)
         u.name = ""
         self.sql_count_(0, session.flush)
 
@@ -2113,7 +2113,7 @@ class SaveTest(_fixtures.FixtureTest):
 
         id_ = m.primary_key_from_instance(u)
 
-        u = session.query(User).get(id_)
+        u = session.get(User, id_)
         assert u.name == "multitester"
 
         conn = session.connection()
@@ -2140,7 +2140,7 @@ class SaveTest(_fixtures.FixtureTest):
         eq_(list(address_rows[0]), [u.id, u.foo_id, "lala@hey.com"])
 
         session.expunge_all()
-        u = session.query(User).get(id_)
+        u = session.get(User, id_)
         assert u.name == "imnew"
 
     def test_history_get(self):
@@ -2172,7 +2172,7 @@ class SaveTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        u = session.query(User).get(u.id)
+        u = session.get(User, u.id)
         session.delete(u)
         session.flush()
         eq_(
@@ -2355,15 +2355,15 @@ class ManyToOneTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        a1 = session.query(Address).get(a1.id)
-        u1 = session.query(User).get(u1.id)
+        a1 = session.get(Address, a1.id)
+        u1 = session.get(User, u1.id)
         assert a1.user is u1
 
         a1.user = None
         session.flush()
         session.expunge_all()
-        a1 = session.query(Address).get(a1.id)
-        u1 = session.query(User).get(u1.id)
+        a1 = session.get(Address, a1.id)
+        u1 = session.get(User, u1.id)
         assert a1.user is None
 
     def test_many_to_one_2(self):
@@ -2395,9 +2395,9 @@ class ManyToOneTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        a1 = session.query(Address).get(a1.id)
-        a2 = session.query(Address).get(a2.id)
-        u1 = session.query(User).get(u1.id)
+        a1 = session.get(Address, a1.id)
+        a2 = session.get(Address, a2.id)
+        u1 = session.get(User, u1.id)
         assert a1.user is u1
 
         a1.user = None
@@ -2405,9 +2405,9 @@ class ManyToOneTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        a1 = session.query(Address).get(a1.id)
-        a2 = session.query(Address).get(a2.id)
-        u1 = session.query(User).get(u1.id)
+        a1 = session.get(Address, a1.id)
+        a2 = session.get(Address, a2.id)
+        u1 = session.get(User, u1.id)
         assert a1.user is None
         assert a2.user is u1
 
@@ -2440,17 +2440,17 @@ class ManyToOneTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        a1 = session.query(Address).get(a1.id)
-        u1 = session.query(User).get(u1.id)
-        u2 = session.query(User).get(u2.id)
+        a1 = session.get(Address, a1.id)
+        u1 = session.get(User, u1.id)
+        u2 = session.get(User, u2.id)
         assert a1.user is u1
 
         a1.user = u2
         session.flush()
         session.expunge_all()
-        a1 = session.query(Address).get(a1.id)
-        u1 = session.query(User).get(u1.id)
-        u2 = session.query(User).get(u2.id)
+        a1 = session.get(Address, a1.id)
+        u1 = session.get(User, u1.id)
+        u2 = session.get(User, u2.id)
         assert a1.user is u2
 
     def test_bidirectional_no_load(self):
@@ -2482,13 +2482,13 @@ class ManyToOneTest(_fixtures.FixtureTest):
         session.flush()
         session.expunge_all()
 
-        a1 = session.query(Address).get(a1.id)
+        a1 = session.get(Address, a1.id)
 
         a1.user = None
         session.flush()
         session.expunge_all()
-        assert session.query(Address).get(a1.id).user is None
-        assert session.query(User).get(u1.id).addresses == []
+        assert session.get(Address, a1.id).user is None
+        assert session.get(User, u1.id).addresses == []
 
 
 class ManyToManyTest(_fixtures.FixtureTest):
@@ -2751,7 +2751,7 @@ class ManyToManyTest(_fixtures.FixtureTest):
         session.flush()
 
         session.expunge_all()
-        item = session.query(Item).get(item.id)
+        item = session.get(Item, item.id)
         eq_(item.keywords, [k1, k2])
 
     def test_association(self):
@@ -3059,7 +3059,7 @@ class BooleanColTest(fixtures.MappedTest):
                 [T(value=False, name="t2")],
             )
 
-        t2 = sess.query(T).get(t2.id)
+        t2 = sess.get(T, t2.id)
         t2.value = True
         sess.flush()
         eq_(
index 71f4609988f0b2f4ee457f15c9ebf70576601a30..af38a4bab00a0b9896c279a36d4407ad0cc8955e 100644 (file)
@@ -2201,7 +2201,7 @@ class LoadersUsingCommittedTest(UOWTest):
 
         sess.expunge_all()
         # lookup an address and move it to the other user
-        a1 = sess.query(Address).get(a1.id)
+        a1 = sess.get(Address, a1.id)
 
         # move address to another user's fk
         assert a1.user_id == u1.id
@@ -2270,7 +2270,7 @@ class LoadersUsingCommittedTest(UOWTest):
         sess.commit()
 
         sess.expunge_all()
-        u1 = sess.query(User).get(u1.id)
+        u1 = sess.get(User, u1.id)
         u1.id = 2
         try:
             sess.flush()
index a582862861515385c34f900192280981cbc8c6ab..21863c57a522d95cc0e01da3b7903a553724fffe 100644 (file)
@@ -200,7 +200,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
                 return User.name.__clause_element__()
 
         s = fixture_session()
-        jill = s.query(User).get(3)
+        jill = s.get(User, 3)
         s.query(User).update(
             {Thing(): "moonbeam"}, synchronize_session="evaluate"
         )
@@ -227,7 +227,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         User = self.classes.User
 
         s = fixture_session()
-        jill = s.query(User).get(3)
+        jill = s.get(User, 3)
         s.query(User).update(
             {column("name"): "moonbeam"}, synchronize_session="evaluate"
         )
@@ -244,7 +244,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         )
 
         s = fixture_session()
-        jill = s.query(Foo).get(3)
+        jill = s.get(Foo, 3)
         s.query(Foo).update(
             {"uname": "moonbeam"}, synchronize_session="evaluate"
         )
@@ -259,7 +259,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         )
 
         s = fixture_session()
-        jill = s.query(Foo).get(3)
+        jill = s.get(Foo, 3)
         s.query(Foo).update(
             {Foo.uname: "moonbeam"}, synchronize_session="evaluate"
         )
@@ -276,7 +276,7 @@ class UpdateDeleteTest(fixtures.MappedTest):
         )
 
         s = fixture_session()
-        jill = s.query(Foo).get(3)
+        jill = s.get(Foo, 3)
         s.query(Foo).update(
             {Foo.ufoo: "moonbeam"}, synchronize_session="evaluate"
         )
index 57fe0b7a2c7e7b6a243da5a8e63d23f05abd9c8d..8990abe14d5ba81fb6230fd363bcf04ca59c0650 100644 (file)
@@ -213,7 +213,7 @@ class VersioningTest(fixtures.MappedTest):
             s1.commit()
 
         s2 = fixture_session(autocommit=False)
-        f1_s = s2.query(Foo).get(f1.id)
+        f1_s = s2.get(Foo, f1.id)
         f1_s.value = "f1rev3"
         with conditional_sane_rowcount_warnings(
             update=True, only_returning=True
@@ -239,8 +239,8 @@ class VersioningTest(fixtures.MappedTest):
                 s1.commit()
 
         # new in 0.5 !  don't need to close the session
-        f1 = s1.query(Foo).get(f1.id)
-        f2 = s1.query(Foo).get(f2.id)
+        f1 = s1.get(Foo, f1.id)
+        f2 = s1.get(Foo, f2.id)
 
         f1_s.value = "f1rev4"
         with conditional_sane_rowcount_warnings(
@@ -373,7 +373,7 @@ class VersioningTest(fixtures.MappedTest):
         s1.commit()
 
         s2 = fixture_session(autocommit=False)
-        f1s2 = s2.query(Foo).get(f1s1.id)
+        f1s2 = s2.get(Foo, f1s1.id)
         f1s2.value = "f1 new value"
         with conditional_sane_rowcount_warnings(
             update=True, only_returning=True
@@ -385,19 +385,21 @@ class VersioningTest(fixtures.MappedTest):
             sa.orm.exc.StaleDataError,
             r"Instance .* has version id '\d+' which does not "
             r"match database-loaded version id '\d+'",
-            s1.query(Foo).with_for_update(read=True).get,
+            s1.get,
+            Foo,
             f1s1.id,
+            with_for_update=dict(read=True),
         )
 
         # reload it - this expires the old version first
         s1.refresh(f1s1, with_for_update={"read": True})
 
         # now assert version OK
-        s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+        s1.get(Foo, f1s1.id, with_for_update=dict(read=True))
 
         # assert brand new load is OK too
         s1.close()
-        s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+        s1.get(Foo, f1s1.id, with_for_update=dict(read=True))
 
     def test_versioncheck_not_versioned(self):
         """ensure the versioncheck logic skips if there isn't a
@@ -411,7 +413,7 @@ class VersioningTest(fixtures.MappedTest):
         f1s1 = Foo(value="f1 value", version_id=1)
         s1.add(f1s1)
         s1.commit()
-        s1.query(Foo).with_for_update(read=True).get(f1s1.id)
+        s1.query(Foo).with_for_update(read=True).where(Foo.id == f1s1.id).one()
 
     @engines.close_open_connections
     @testing.requires.update_nowait
@@ -427,7 +429,7 @@ class VersioningTest(fixtures.MappedTest):
         s1.commit()
 
         s2 = fixture_session(autocommit=False)
-        f1s2 = s2.query(Foo).get(f1s1.id)
+        f1s2 = s2.get(Foo, f1s1.id)
         # not sure if I like this API
         s2.refresh(f1s2, with_for_update=True)
         f1s2.value = "f1 new value"
@@ -510,7 +512,12 @@ class VersioningTest(fixtures.MappedTest):
         s1.commit()
 
         s2 = fixture_session(autocommit=False)
-        f1s2 = s2.query(Foo).with_for_update(read=True).get(f1s1.id)
+        f1s2 = (
+            s2.query(Foo)
+            .with_for_update(read=True)
+            .where(Foo.id == f1s1.id)
+            .one()
+        )
         assert f1s2.id == f1s1.id
         assert f1s2.value == f1s1.value