From 6f0acfb9b44b590fef40ca1c990d70e99be40e40 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Tue, 19 Nov 2024 21:47:44 -0800 Subject: [PATCH 1/2] add default --- pyiceberg/table/sorting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyiceberg/table/sorting.py b/pyiceberg/table/sorting.py index f74d5bc701..64d56f0e63 100644 --- a/pyiceberg/table/sorting.py +++ b/pyiceberg/table/sorting.py @@ -108,7 +108,7 @@ def set_null_order(cls, values: Dict[str, Any]) -> Dict[str, Any]: BeforeValidator(parse_transform), PlainSerializer(lambda c: str(c), return_type=str), # pylint: disable=W0108 WithJsonSchema({"type": "string"}, mode="serialization"), - ] = Field() + ] = Field(default=IdentityTransform()) direction: SortDirection = Field() null_order: NullOrder = Field(alias="null-order") From 4f6ecd988a17c8c2f4d614ed8758282235174b90 Mon Sep 17 00:00:00 2001 From: Kevin Liu Date: Tue, 19 Nov 2024 21:50:01 -0800 Subject: [PATCH 2/2] add test --- tests/table/test_sorting.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/table/test_sorting.py b/tests/table/test_sorting.py index 6b41193631..977ff9d5d8 100644 --- a/tests/table/test_sorting.py +++ b/tests/table/test_sorting.py @@ -41,6 +41,13 @@ def sort_order() -> SortOrder: ) +def test_serialize_sort_order_default() -> None: + assert ( + SortOrder(SortField(source_id=19)).model_dump_json() + == '{"order-id":1,"fields":[{"source-id":19,"transform":"identity","direction":"asc","null-order":"nulls-first"}]}' + ) + + def test_serialize_sort_order_unsorted() -> None: assert UNSORTED_SORT_ORDER.model_dump_json() == '{"order-id":0,"fields":[]}'