On Tue, 8 Jun 2021 12:32:23 +0000
"Weber, Eugene" <[email protected]> wrote:
> 
> When I compile example.cc under cpp/examples/minimal_build I get a 
> depreciation warning on:
> 
>       arrow::csv::TableReader::Make(arrow::default_memory_pool(),
>                                     arrow::io::default_io_context(),
>                                     input_file,
>                                     arrow::csv::ReadOptions::Defaults(),
>                                     arrow::csv::ParseOptions::Defaults(),
>                                     arrow::csv::ConvertOptions::Defaults()));
> 
> The deprecation code in reader.h is:
> 
>   ARROW_DEPRECATED("Use MemoryPool-less variant (the IOContext holds a pool 
> already)")
>   static Result<std::shared_ptr<TableReader>> Make(
>       MemoryPool* pool, io::IOContext io_context, 
> std::shared_ptr<io::InputStream> input,
>       const ReadOptions&, const ParseOptions&, const ConvertOptions&);
> 
> I've read the documentation on MemoryPool, but I'm still not fully 
> understanding the relationship between TableReader and MemoryPool, or how 
> exactly to correct the example code. I understand that the CVS table is read 
> into a table structure in memory allocated from the memory pool. I'm not 
> understanding the meaning of "Use MemoryPool-less variant (the IOContext 
> holds a pool already)".

What it means is that you don't need to pass a memory pool explicitly,
since the IOContext parameter already has a memory pool inside.

That said, it seems the example code should be updated for the newer
API.  Thanks for noticing this.

Regards

Antoine.


Reply via email to