MCPcopy Index your code
hub / github.com/apache/orc / TEST

Function TEST

tools/test/TestMatch.cc:357–429  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

355#endif
356
357 TEST(TestMatch, columnSelectionTest) {
358 ReaderOptions readerOpts;
359 RowReaderOptions rowReaderOpts;
360 std::list<uint64_t> includes;
361 for (uint64_t i = 0; i < 9; i += 2) {
362 includes.push_back(i);
363 }
364 rowReaderOpts.include(includes);
365 std::string filename = findExample("demo-11-none.orc");
366 std::unique_ptr<Reader> reader =
367 createReader(readLocalFile(filename, readerOpts.getReaderMetrics()), readerOpts);
368 std::unique_ptr<RowReader> rowReader = reader->createRowReader(rowReaderOpts);
369
370 EXPECT_EQ(CompressionKind_NONE, reader->getCompression());
371 EXPECT_EQ(256 * 1024, reader->getCompressionSize());
372 EXPECT_EQ(385, reader->getNumberOfStripes());
373 EXPECT_EQ(1920800, reader->getNumberOfRows());
374 EXPECT_EQ(10000, reader->getRowIndexStride());
375 EXPECT_EQ(5069718, reader->getContentLength());
376 EXPECT_EQ(filename, reader->getStreamName());
377 EXPECT_THAT(reader->getMetadataKeys(), testing::IsEmpty());
378 EXPECT_FALSE(reader->hasMetadataValue("foo"));
379 EXPECT_EQ(18446744073709551615UL, rowReader->getRowNumber());
380
381 const Type& rootType = reader->getType();
382 EXPECT_EQ(0, rootType.getColumnId());
383 EXPECT_EQ(STRUCT, rootType.getKind());
384 ASSERT_EQ(9, rootType.getSubtypeCount());
385 EXPECT_EQ("_col0", rootType.getFieldName(0));
386 EXPECT_EQ("_col1", rootType.getFieldName(1));
387 EXPECT_EQ("_col2", rootType.getFieldName(2));
388 EXPECT_EQ("_col3", rootType.getFieldName(3));
389 EXPECT_EQ("_col4", rootType.getFieldName(4));
390 EXPECT_EQ("_col5", rootType.getFieldName(5));
391 EXPECT_EQ("_col6", rootType.getFieldName(6));
392 EXPECT_EQ("_col7", rootType.getFieldName(7));
393 EXPECT_EQ("_col8", rootType.getFieldName(8));
394 EXPECT_EQ(INT, rootType.getSubtype(0)->getKind());
395 EXPECT_EQ(STRING, rootType.getSubtype(1)->getKind());
396 EXPECT_EQ(STRING, rootType.getSubtype(2)->getKind());
397 EXPECT_EQ(STRING, rootType.getSubtype(3)->getKind());
398 EXPECT_EQ(INT, rootType.getSubtype(4)->getKind());
399 EXPECT_EQ(STRING, rootType.getSubtype(5)->getKind());
400 EXPECT_EQ(INT, rootType.getSubtype(6)->getKind());
401 EXPECT_EQ(INT, rootType.getSubtype(7)->getKind());
402 EXPECT_EQ(INT, rootType.getSubtype(8)->getKind());
403 for (unsigned int i = 0; i < 9; ++i) {
404 EXPECT_EQ(i + 1, rootType.getSubtype(i)->getColumnId()) << "fail on " << i;
405 }
406
407 const std::vector<bool> selected = rowReader->getSelectedColumns();
408 EXPECT_EQ(true, selected[0]) << "fail on " << 0;
409 for (size_t i = 1; i < 10; ++i) {
410 EXPECT_EQ(i % 2 == 1 ? true : false, selected[i]) << "fail on " << i;
411 }
412
413 unsigned long rowCount = 0;
414 std::unique_ptr<ColumnVectorBatch> batch = rowReader->createRowBatch(1024);

Callers

nothing calls this directly

Calls 15

findExampleFunction · 0.85
createColumnPrinterFunction · 0.85
getNameFunction · 0.85
includeMethod · 0.80
getNumberOfStripesMethod · 0.80
getStreamNameMethod · 0.80
getSubtypeCountMethod · 0.80
getSubtypeMethod · 0.80
hasCorrectStatisticsMethod · 0.80
getFormatVersionMethod · 0.80
getMemoryUseByFieldIdMethod · 0.80

Tested by

no test coverage detected