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.

Reply via email to