Le 04/11/2021 à 10:56, Alessandro Molina a écrit :
On Wed, Nov 3, 2021 at 11:34 PM Jacques Nadeau <jacq...@apache.org> wrote:
In a perfect world we would have done a better job in the object
hierarchy/behavior of making this explicit but we don't live in that world,
unfortunately.
Makes sense, but I thought that was exactly the reason why set/setSafe are
only available for FixedWidth vectors.
On those once the size is set it seems fairly safe to mutate them if the
set methods take care of updating null values too.
Not if you have multiple threads reading the same data, which is going
to be common in many Arrow applications. To enable efficient access
without thread synchronization, immutable data is almost mandatory.
So I don't think we should modify the C++ Array APIs to allow for
mutations (as you say, people can say still do dirty things at a lower
level if they want to, and they have to live with the consequences).
Regards
Antoine.