Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEA] Couple null mask and null count in all APIs #15256

Open
vyasr opened this issue Mar 8, 2024 · 0 comments
Open

[FEA] Couple null mask and null count in all APIs #15256

vyasr opened this issue Mar 8, 2024 · 0 comments
Labels
feature request New feature or request

Comments

@vyasr
Copy link
Contributor

vyasr commented Mar 8, 2024

Is your feature request related to a problem? Please describe.
We currently have APIs that accept a null mask and a null count as parameters. Historically, these APIs made sense because the count was loosely coupled to the mask in the sense that it could be omitted and it would be inferred. As of #13372, this is no longer possible and the null count must be known when a column is constructed. Therefore, allowing the null mask and the null count to be provided separately is no longer possible. From an API design perspective, it would make more sense to have them tightly coupled.

Describe the solution you'd like
We should update all APIs involving a mask and count to instead accept the two as a pair (or as a simple POD struct if we prefer) that encodes both. This change would more clearly signal to users that the two must be provided and used together.

Describe alternatives you've considered
None

Additional context
Implementing this would effectively fix #13154, but it would be a breaking change to the existing API rather than adding an overload.

See #13311 (comment) for some of the discussion that originally sparked this idea.

@vyasr vyasr added the feature request New feature or request label Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant