Skip to content

ARROW-801: Provide direct access to underlying buffer memory addresses#958

Closed
siddharthteotia wants to merge 1 commit intoapache:masterfrom
siddharthteotia:ARROW-801
Closed

ARROW-801: Provide direct access to underlying buffer memory addresses#958
siddharthteotia wants to merge 1 commit intoapache:masterfrom
siddharthteotia:ARROW-801

Conversation

@siddharthteotia
Copy link
Copy Markdown
Contributor

Added following methods at FieldVector interface

public long getValidityBufferAddress();
public long getDataBufferAddress();
public long getOffsetBufferAddress();

Couple of points:

For the UnionVector, we don't have an explicit BitVector and the typeVector also acts as a validity vector during get(), isNull(). So getValidityBufferAddress() returns the address of buffer associated with typeVector.

Both ListVector and FixedSizeListVector are backed by a FieldVector which acts as the dataVector. Right now the getDataBufferAddress() is unsupported for these two vectors but I think that we could just simply delegate this call to the dataVector instead of throwing exception

@siddharthteotia
Copy link
Copy Markdown
Contributor Author

cc @jacques-n, @StevenMPhillips

@siddharthteotia
Copy link
Copy Markdown
Contributor Author

Does this look good?

@StevenMPhillips
Copy link
Copy Markdown
Contributor

+1

@siddharthteotia
Copy link
Copy Markdown
Contributor Author

Squashed all 3 commits -- no new code changes pushed.

@wesm
Copy link
Copy Markdown
Member

wesm commented Aug 16, 2017

No need to squash, the merge tool will take care of that. Merging

@asfgit asfgit closed this in 31457ae Aug 16, 2017
pribor pushed a commit to GlobalWebIndex/arrow that referenced this pull request Oct 24, 2025
Added following methods at FieldVector interface

public long getValidityBufferAddress();
public long getDataBufferAddress();
public long getOffsetBufferAddress();

Couple of points:

For the UnionVector, we don't have an explicit BitVector and the typeVector also acts as a validity vector during get(), isNull(). So getValidityBufferAddress() returns the address of buffer associated with typeVector.

Both ListVector and FixedSizeListVector are backed by a FieldVector which acts as the dataVector. Right now the getDataBufferAddress() is unsupported for these two vectors but I think that we could just simply delegate this call to the dataVector instead of throwing exception

Author: siddharth <siddharth@dremio.com>

Closes apache#958 from siddharthteotia/ARROW-801 and squashes the following commits:

cb6dd25 [siddharth] ARROW-801: Provide direct access to underlying buffer memory addresses
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants