From 25770d435ca86229e7a315ef4961d7366611dc13 Mon Sep 17 00:00:00 2001 From: EY <98988862+eloiseyang@users.noreply.github.com> Date: Thu, 14 May 2026 16:25:43 -0700 Subject: [PATCH 1/2] Apply and test sql_db.select for PKDict compatability. --- pykern/sql_db.py | 2 +- tests/sql_db_test.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pykern/sql_db.py b/pykern/sql_db.py index 4c308776..128f8eb2 100644 --- a/pykern/sql_db.py +++ b/pykern/sql_db.py @@ -266,7 +266,7 @@ def rollback(self): self.commit_or_rollback(commit=False) def select(self, table_or_stmt, where=None): - return self.__execute_table_or_stmt("select", table_or_stmt, where) + return self.__execute_table_or_stmt("select", table_or_stmt, where).mappings() def select_max_primary_id(self, table): w = self.meta._table_wrap(table) diff --git a/tests/sql_db_test.py b/tests/sql_db_test.py index a5371079..e3828202 100644 --- a/tests/sql_db_test.py +++ b/tests/sql_db_test.py @@ -92,10 +92,12 @@ def _meta(dir_path): def _selects(meta): from pykern import pkunit, pkdebug + from pykern.pkcollections import PKDict import sqlalchemy with meta.session() as s: r = s.select_one("t1", where=dict(a_name="Mildred")) + PKDict(r) pkunit.pkeq("hitch hiker's guide", r.a_text) t1, t2 = s.t.t1, s.t.t2 r = s.execute( From 0e89be2ebb7c031bf34fc6827927b8dd1e25a6c2 Mon Sep 17 00:00:00 2001 From: EY <98988862+eloiseyang@users.noreply.github.com> Date: Fri, 15 May 2026 11:21:45 -0700 Subject: [PATCH 2/2] Check that we get the expected keys. --- tests/sql_db_test.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/sql_db_test.py b/tests/sql_db_test.py index e3828202..45a31c99 100644 --- a/tests/sql_db_test.py +++ b/tests/sql_db_test.py @@ -97,9 +97,10 @@ def _selects(meta): with meta.session() as s: r = s.select_one("t1", where=dict(a_name="Mildred")) - PKDict(r) pkunit.pkeq("hitch hiker's guide", r.a_text) t1, t2 = s.t.t1, s.t.t2 + d = PKDict(r) + pkunit.pkeq(t1.c.keys(), list(d.keys())) r = s.execute( sqlalchemy.select( t1,