Skip to content

[Rust] Logical equality should consider parent array nullability #26635

@asfimport

Description

@asfimport

When creating a struct array with a primitive child array, it is possible for the child to be non-nullable, while its parent struct array is nullable.

In this scenario, the child array's slots where the parent is null, become invalidated, such that an array with [1, 2, 3] having slot 2 being null, should be interpreted as [1, 0, 3].

This issue becomes evident in Parquet roundtrip tests, as we end up not able to correctly compare nested structures that have non-null children.

The specification caters for the above behaviour, see http://arrow.apache.org/docs/format/Columnar.html#struct-layout .

When a struct has nulls, its child array(s) nullability is subject to the parent struct.

Reporter: Neville Dipale / @nevi-me
Assignee: Neville Dipale / @nevi-me

PRs and other links:

Note: This issue was originally created as ARROW-10684. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions