3131#include < iceberg/util/checked_cast.h>
3232
3333#include " iceberg/arrow/arrow_fs_file_io_internal.h"
34- #include " iceberg/arrow_array_reader.h"
3534#include " iceberg/avro/avro_register.h"
36- #include " iceberg/file_format.h"
3735#include " iceberg/file_reader.h"
38- #include " iceberg/manifest_entry.h"
3936#include " iceberg/schema.h"
40- #include " iceberg/table_scan.h"
4137#include " iceberg/type.h"
4238#include " matchers.h"
4339#include " temp_file_test_base.h"
@@ -82,7 +78,7 @@ class AvroReaderTest : public TempFileTestBase {
8278 writer.close ();
8379 }
8480
85- void VerifyNextBatch (ArrowArrayReader & reader, std::string_view expected_json) {
81+ void VerifyNextBatch (Reader & reader, std::string_view expected_json) {
8682 // Boilerplate to get Arrow schema
8783 auto schema_result = reader.Schema ();
8884 ASSERT_THAT (schema_result, IsOk ());
@@ -104,7 +100,7 @@ class AvroReaderTest : public TempFileTestBase {
104100 ASSERT_TRUE (arrow_array->Equals (*expected_array));
105101 }
106102
107- void VerifyExhausted (ArrowArrayReader & reader) {
103+ void VerifyExhausted (Reader & reader) {
108104 auto data = reader.Next ();
109105 ASSERT_THAT (data, IsOk ());
110106 ASSERT_FALSE (data.value ().has_value ());
@@ -166,30 +162,4 @@ TEST_F(AvroReaderTest, ReadWithBatchSize) {
166162 ASSERT_NO_FATAL_FAILURE (VerifyExhausted (*reader));
167163}
168164
169- TEST_F (AvroReaderTest, ReadViaFileScanTask) {
170- CreateSimpleAvroFile ();
171-
172- auto data_file = std::make_shared<DataFile>();
173- data_file->file_path = temp_avro_file_;
174- data_file->file_format = FileFormatType::kAvro ;
175- auto arrow_file_io = internal::checked_cast<arrow::ArrowFileSystemFileIO&>(*file_io_);
176- data_file->file_size_in_bytes =
177- arrow_file_io.fs ()->GetFileInfo (temp_avro_file_).ValueOrDie ().size ();
178-
179- TableScanContext context;
180- context.projected_schema = std::make_shared<Schema>(std::vector<SchemaField>{
181- SchemaField::MakeOptional (2 , " name" , std::make_shared<StringType>()),
182- SchemaField::MakeRequired (1 , " id" , std::make_shared<IntType>())});
183-
184- FileScanTask task (data_file);
185-
186- auto reader_result = task.ToArrowArrayReader (context, file_io_);
187- ASSERT_THAT (reader_result, IsOk ());
188- auto reader = std::move (reader_result).value ();
189-
190- ASSERT_NO_FATAL_FAILURE (
191- VerifyNextBatch (*reader, R"( [["Alice", 1], ["Bob", 2], ["Charlie", 3]])" ));
192- ASSERT_NO_FATAL_FAILURE (VerifyExhausted (*reader));
193- }
194-
195165} // namespace iceberg::avro
0 commit comments