diff --git a/docs/source/changelog.md b/docs/source/changelog.md index e8b99a8a..6bc8c8ad 100644 --- a/docs/source/changelog.md +++ b/docs/source/changelog.md @@ -1,5 +1,8 @@ # Changelog +## 0.6.5 (2026-01-DD) +- fix sqlalchemy deprecation warnings + ## 0.6.4 (2025-12-18) - fix col.map() Null-type handling and string operations - fix print display of short tables diff --git a/src/pydiverse/transform/_internal/backend/sql.py b/src/pydiverse/transform/_internal/backend/sql.py index 922daf58..e07d9c22 100644 --- a/src/pydiverse/transform/_internal/backend/sql.py +++ b/src/pydiverse/transform/_internal/backend/sql.py @@ -172,19 +172,19 @@ def export( connection=conn, schema_overrides={ sql_col.name: schema_overrides[col._uuid] - for sql_col, col in zip(sel.columns.values(), final_select, strict=True) + for sql_col, col in zip(sel.selected_columns.values(), final_select, strict=True) if col._uuid in schema_overrides } | { sql_col.name: NullType().to_polars() - for sql_col, col in zip(sel.columns.values(), final_select, strict=True) + for sql_col, col in zip(sel.selected_columns.values(), final_select, strict=True) if types.without_const(col.dtype()) == NullType() }, ) # fix column names in case default case is modified by database driver # (for example IBM DB2 returns lowercase columns as uppercase column # names) - df.columns = [c.name for c in sel.columns] + df.columns = [c.name for c in sel.selected_columns] df.name = nd.name return df diff --git a/tests/test_sql_table.py b/tests/test_sql_table.py index 1b568dc9..06500547 100644 --- a/tests/test_sql_table.py +++ b/tests/test_sql_table.py @@ -129,6 +129,9 @@ def test_show_query(self, tbl1, capfd): def test_export(self, tbl1): assert_equal(tbl1 >> export(Polars()), df1) + def test_export_mutate(self, tbl1): + assert_equal(tbl1 >> mutate(col3=tbl1.col1 * 2) >> export(Polars()), df1.with_columns(col3=df1["col1"] * 2)) + def test_select(self, tbl1): assert_equal(tbl1 >> select(tbl1.col1), df1.select("col1")) assert_equal(tbl1 >> select(tbl1.col2), df1.select("col2"))