Antoine Pitrou commented on ARROW-2835:

Unfortunately, things are bit more complicated as in some cases, ReadAt / 
WriteAt are forced to update the file position anyway (on Windows, see 
implementation of {{FileRead}} in {{io-util.cc}}).

> [C++] ReadAt/WriteAt are inconsistent with moving the files position
> --------------------------------------------------------------------
>                 Key: ARROW-2835
>                 URL: https://issues.apache.org/jira/browse/ARROW-2835
>             Project: Apache Arrow
>          Issue Type: New Feature
>            Reporter: Dimitri Vorona
>            Priority: Major
> Right now, there is inconsistent behaviour regarding moving the files 
> position pointer after calling ReadAt or WriteAt. For example, the default 
> implementation of ReadAt seeks to the desired offset and calls Read which 
> moves the position pointer. MemoryMappedFile::ReadAt, however, doesn't change 
> the position. WriteableFile::WriteAt seem to move the position in the current 
> implementation, but there is no docstring which prescribes this behaviour.
> Antoine suggested that *At methods shouldn't touch the position and it makes 
> more sense, IMHO. The change isn't huge and doesn't seem to break anything 
> internally, but it might break the existing user code.

This message was sent by Atlassian JIRA

Reply via email to