Skip to content

bug: pco fails to round-trip the size two i32 array: [null, 1]. #4503

@danking

Description

@danking

I expected this to exit successfully; instead, the decompress() call fails.

    let array = PrimitiveArray::from_option_iter([None, Some(1)]);
    let compressed = PcoArray::from_primitive(&array, 3, 0).unwrap();
    assert_eq!(compressed.scalar_at(0), Scalar::null_typed::<i32>());
    assert_eq!(compressed.scalar_at(1), Scalar::from(Some(1)));
    let decompressed = compressed.decompress();
    assert_eq!(decompressed.scalar_at(0), Scalar::null_typed::<i32>());
    assert_eq!(decompressed.scalar_at(1), Scalar::from(Some(1)));
thread 'test::test_compress_decompress_big' panicked at /Users/danielking/projects/vortex/vortex-buffer/src/buffer.rs:266:13:
range end out of bounds: 2 <= 1

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions