Skip to content

Commit 8b9bc1b

Browse files
authored
Fix divide by zero on Bucket Transform (#187)
1 parent a368bd9 commit 8b9bc1b

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

pyiceberg/transforms.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ def hash_func(v: Any) -> int:
262262
raise ValueError(f"Unknown type {source}")
263263

264264
if bucket:
265-
return lambda v: (hash_func(v) & IntegerType.max) % self._num_buckets if v else None
265+
return lambda v: (hash_func(v) & IntegerType.max) % self._num_buckets if v is not None else None
266266
return hash_func
267267

268268
def __repr__(self) -> str:

tests/test_transforms.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ def test_bucket_hash_values(test_input: Any, test_type: PrimitiveType, expected:
135135
@pytest.mark.parametrize(
136136
"transform,value,expected",
137137
[
138+
(BucketTransform(2).transform(IntegerType()), 0, 0),
138139
(BucketTransform(100).transform(IntegerType()), 34, 79),
139140
(BucketTransform(100).transform(LongType()), 34, 79),
140141
(BucketTransform(100).transform(DateType()), 17486, 26),

0 commit comments

Comments
 (0)