Hello,
I would like to add support for handling optional fields to the
parquet::StreamReader and parquet::StreamWriter classes which I recently
contributed (thank you!).
Ideally I would do this by using std::optional like this:
parquet::StreamWriter writer{ parquet::ParquetFileWriter::Open(...) };
std::optional<double> d;
writer << d;
...
parquet::StreamReader os{parquet::ParquetFileReader::Open(...)};
reader >> d;
However std::optional is only available in C++17 and arrow is compiled
in C++11 mode.
From what I see arrow does use Boost to a limited extent and in fact
gandiva/cache.h uses the boost::optional class.
So would it be possible to use the boost::optional class in parquet?
Or perhaps someone can suggest another way of handling optional fields?
Thanks in advance for your help,
Gawain