MCPcopy Create free account
hub / github.com/apache/arrow / AssertTableWriteReadEqual

Function AssertTableWriteReadEqual

cpp/src/arrow/adapters/orc/adapter_test.cc:225–260  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

223}
224
225void AssertTableWriteReadEqual(const std::vector<std::shared_ptr<Table>>& input_tables,
226 const std::shared_ptr<Table>& expected_output_table,
227 const int64_t max_size = kDefaultSmallMemStreamSize,
228 std::vector<int>* opt_selected_read_indices = nullptr) {
229 EXPECT_OK_AND_ASSIGN(auto buffer_output_stream,
230 io::BufferOutputStream::Create(max_size));
231 auto write_options = adapters::orc::WriteOptions();
232#ifdef ARROW_WITH_SNAPPY
233 write_options.compression = Compression::SNAPPY;
234#else
235 write_options.compression = Compression::UNCOMPRESSED;
236#endif
237 write_options.file_version = adapters::orc::FileVersion(0, 11);
238 write_options.compression_block_size = 64 * 1024;
239 write_options.row_index_stride = 5000;
240 EXPECT_OK_AND_ASSIGN(auto writer, adapters::orc::ORCFileWriter::Open(
241 buffer_output_stream.get(), write_options));
242 for (const auto& input_table : input_tables) {
243 ARROW_EXPECT_OK(writer->Write(*input_table));
244 }
245 ARROW_EXPECT_OK(writer->Close());
246 EXPECT_OK_AND_ASSIGN(auto buffer, buffer_output_stream->Finish());
247 std::shared_ptr<io::RandomAccessFile> in_stream(new io::BufferReader(buffer));
248 EXPECT_OK_AND_ASSIGN(
249 auto reader, adapters::orc::ORCFileReader::Open(in_stream, default_memory_pool()));
250 ASSERT_EQ(reader->GetFileVersion(), write_options.file_version);
251 ASSERT_EQ(reader->GetCompression(), write_options.compression);
252 ASSERT_EQ(reader->GetCompressionSize(), write_options.compression_block_size);
253 ASSERT_EQ(reader->GetRowIndexStride(), write_options.row_index_stride);
254 EXPECT_OK_AND_ASSIGN(auto actual_output_table,
255 opt_selected_read_indices == nullptr
256 ? reader->Read()
257 : reader->Read(*opt_selected_read_indices));
258 ASSERT_OK(actual_output_table->ValidateFull());
259 AssertTablesEqual(*expected_output_table, *actual_output_table, false, false);
260}
261
262void AssertBatchWriteReadEqual(
263 const std::vector<std::shared_ptr<RecordBatch>>& input_batches,

Callers 4

SchemaORCWriteReadTestFunction · 0.85
TEST_FFunction · 0.85
RunTestMethod · 0.85

Calls 12

WriteOptionsClass · 0.85
FileVersionFunction · 0.85
AssertTablesEqualFunction · 0.85
push_backMethod · 0.80
WriteMethod · 0.45
CloseMethod · 0.45
GetFileVersionMethod · 0.45
GetCompressionMethod · 0.45
GetCompressionSizeMethod · 0.45
GetRowIndexStrideMethod · 0.45
ReadMethod · 0.45
ValidateFullMethod · 0.45

Tested by

no test coverage detected