Skip to content

Commit 473d28d

Browse files
authored
fix: update all namespace properties in update_namespace_properties (#873)
1 parent 19a2401 commit 473d28d

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

pyiceberg/catalog/sql.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -673,11 +673,16 @@ def update_namespace_properties(
673673
IcebergNamespaceProperties.property_key.in_(set(updates.keys())),
674674
)
675675
session.execute(delete_stmt)
676-
insert_stmt = insert(IcebergNamespaceProperties)
677-
for property_key, property_value in updates.items():
678-
insert_stmt = insert_stmt.values(
679-
catalog_name=self.name, namespace=namespace_str, property_key=property_key, property_value=property_value
680-
)
676+
insert_stmt_values = [
677+
{
678+
IcebergNamespaceProperties.catalog_name: self.name,
679+
IcebergNamespaceProperties.namespace: namespace_str,
680+
IcebergNamespaceProperties.property_key: property_key,
681+
IcebergNamespaceProperties.property_value: property_value,
682+
}
683+
for property_key, property_value in updates.items()
684+
]
685+
insert_stmt = insert(IcebergNamespaceProperties).values(insert_stmt_values)
681686
session.execute(insert_stmt)
682687
session.commit()
683688
return properties_update_summary

tests/catalog/test_sql.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1172,7 +1172,12 @@ def test_update_namespace_properties(catalog: SqlCatalog, namespace: str) -> Non
11721172
assert k in update_report.missing
11731173
else:
11741174
assert k in update_report.removed
1175-
assert "updated test description" == catalog.load_namespace_properties(namespace)["comment"]
1175+
assert catalog.load_namespace_properties(namespace) == {
1176+
"comment": "updated test description",
1177+
"test_property4": "4",
1178+
"test_property5": "5",
1179+
"location": f"{warehouse_location}/{namespace}.db",
1180+
}
11761181

11771182

11781183
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)