diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-08-10 18:40:49 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-08-12 12:23:56 -0400 |
| commit | 6d4dcbb40571644494524738cd76e2e281323534 (patch) | |
| tree | 55f63399ebe9d711b5d49e01f0436cead3e0a82e /test/sql/test_resultset.py | |
| parent | 180ae7c1a53385f72b0047496ac001ec5099cc3e (diff) | |
| download | sqlalchemy-6d4dcbb40571644494524738cd76e2e281323534.tar.gz | |
Break scalars() and mappings() into separate objects
The issue of Result.fetchXXX() methods returning Row
objects unless filtering is applied will not provide a
clear enough API story when type annotations are applied,
so break out scalars/mappings into separate wrapper objects.
this makes some things more intuitive and other things a little
more bumpy. however the return type story is now clearer.
Fixes: #5503
Change-Id: I629a061823179680dc0723559183859a67ea4db1
Diffstat (limited to 'test/sql/test_resultset.py')
| -rw-r--r-- | test/sql/test_resultset.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/sql/test_resultset.py b/test/sql/test_resultset.py index 5642797e7..428f71999 100644 --- a/test/sql/test_resultset.py +++ b/test/sql/test_resultset.py @@ -316,6 +316,24 @@ class CursorResultTest(fixtures.TablesTest): eq_(r[1:], (2, "foo@bar.com")) eq_(r[:-1], (1, 2)) + def test_mappings(self, connection): + users = self.tables.users + addresses = self.tables.addresses + + connection.execute(users.insert(), user_id=1, user_name="john") + connection.execute(users.insert(), user_id=2, user_name="jack") + connection.execute( + addresses.insert(), address_id=1, user_id=2, address="foo@bar.com" + ) + + r = connection.execute( + text("select * from addresses", bind=testing.db) + ) + eq_( + r.mappings().all(), + [{"address_id": 1, "user_id": 2, "address": "foo@bar.com"}], + ) + def test_column_accessor_basic_compiled_mapping(self, connection): users = self.tables.users |
