I opened a JIRA to track a potential change or at least clarification about this use case. One major use case for the C interface will be in database clients (e.g. this question arose out of using the C interface for Kudu -- a database) and this may be a common question.
https://issues.apache.org/jira/browse/ARROW-8368 On Tue, Apr 7, 2020 at 12:46 PM Antoine Pitrou <anto...@python.org> wrote: > > > Le 07/04/2020 à 19:39, Wes McKinney a écrit : > > > > Re-orienting the discussion on something more concrete, suppose that an > > ArrowArray is used to convey a result set from a database query, and > > suppose that the resources associated with each column in the result set > > are independent of the other columns. Should it not be possible to select a > > subset of the columns and release the resources of the columns that are not > > needed? > > Perhaps. Though you should probably write the query so as to only > select those columns in the first place ("SELECT *" is a well-known > anti-pattern). > > That said, if there's a real need, I'm open to relaxing the > specification a bit, such that you may move one or several children > before immediately releasing the parent... > > Regards > > Antoine.