CurtHagenlocher commented on issue #2265:
URL: https://github.com/apache/arrow-adbc/issues/2265#issuecomment-2428102343

   Ah, I should have been able to figure this out without debugging. There's a 
functionality gap described by https://github.com/apache/arrow/issues/36057 
which prevents this from working. Unfortunately, the failure mode is nearly 
impossible to figure out without a debugger. There's a draft PR at 
https://github.com/apache/arrow/pull/40992 which should resolve the problem 
(and which I apparently need to prioritize).
   
   You can work around the problem by cloning the data, which is of course a 
pretty high price to pay. I did that with
   ```
           class ClonedArrayStream : IArrowArrayStream
           {
               readonly IArrowArrayStream _arrowArrayStream;
   
               public ClonedArrayStream(IArrowArrayStream arrowArrayStream)
               {
                   _arrowArrayStream = arrowArrayStream;
               }
   
               public Schema Schema => _arrowArrayStream.Schema;
   
               public async ValueTask<RecordBatch?> 
ReadNextRecordBatchAsync(CancellationToken cancellationToken = default)
               {
                   var next = await 
_arrowArrayStream.ReadNextRecordBatchAsync(cancellationToken);
                   return next?.Clone();
               }
   
               public void Dispose() => _arrowArrayStream.Dispose();
           }
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to