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

[Go] C Data Interface: export a dummy non-null buffer for null/0-size buffers #33936

Closed
lidavidm opened this issue Jan 30, 2023 · 0 comments · Fixed by #33951
Closed

[Go] C Data Interface: export a dummy non-null buffer for null/0-size buffers #33936

lidavidm opened this issue Jan 30, 2023 · 0 comments · Fixed by #33951

Comments

@lidavidm
Copy link
Member

Describe the enhancement requested

Related to #14875, #14805.

Go exports a NULL buffer if the source buffer is either nil or 0-sized. While technically this is valid by #14805, libarrow < 12 doesn't handle it, and it would be easiest just to export a dummy buffer (ideally a static global) to make interoperability easier.

Component(s)

Go

@lidavidm lidavidm self-assigned this Jan 30, 2023
lidavidm added a commit to lidavidm/arrow that referenced this issue Jan 31, 2023
lidavidm added a commit to lidavidm/arrow that referenced this issue Jan 31, 2023
lidavidm added a commit to lidavidm/arrow that referenced this issue Jan 31, 2023
lidavidm added a commit that referenced this issue Jan 31, 2023
…33951)

### Rationale for this change

While #14805 clarified that NULL buffers are valid in the C Data Interface, not all implementations handle this correctly (or were fixed, but earlier versions still exist).

### What changes are included in this PR?

Export a non-NULL dummy buffer for nil/empty buffers to ensure compatibility.

### Are these changes tested?

A regression test is included.
* Closes: #33936

Authored-by: David Li <li.davidm96@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
@lidavidm lidavidm added this to the 12.0.0 milestone Jan 31, 2023
sjperkins pushed a commit to sjperkins/arrow that referenced this issue Feb 10, 2023
…ffers (apache#33951)

### Rationale for this change

While apache#14805 clarified that NULL buffers are valid in the C Data Interface, not all implementations handle this correctly (or were fixed, but earlier versions still exist).

### What changes are included in this PR?

Export a non-NULL dummy buffer for nil/empty buffers to ensure compatibility.

### Are these changes tested?

A regression test is included.
* Closes: apache#33936

Authored-by: David Li <li.davidm96@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
gringasalpastor pushed a commit to gringasalpastor/arrow that referenced this issue Feb 17, 2023
…ffers (apache#33951)

### Rationale for this change

While apache#14805 clarified that NULL buffers are valid in the C Data Interface, not all implementations handle this correctly (or were fixed, but earlier versions still exist).

### What changes are included in this PR?

Export a non-NULL dummy buffer for nil/empty buffers to ensure compatibility.

### Are these changes tested?

A regression test is included.
* Closes: apache#33936

Authored-by: David Li <li.davidm96@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
fatemehp pushed a commit to fatemehp/arrow that referenced this issue Feb 24, 2023
…ffers (apache#33951)

### Rationale for this change

While apache#14805 clarified that NULL buffers are valid in the C Data Interface, not all implementations handle this correctly (or were fixed, but earlier versions still exist).

### What changes are included in this PR?

Export a non-NULL dummy buffer for nil/empty buffers to ensure compatibility.

### Are these changes tested?

A regression test is included.
* Closes: apache#33936

Authored-by: David Li <li.davidm96@gmail.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant