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

Method SkipRowsInColumn

cpp/src/parquet/stream_reader.cc:478–515  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

476}
477
478void StreamReader::SkipRowsInColumn(ColumnReader* reader, int64_t num_rows_to_skip) {
479 int64_t num_skipped = 0;
480
481 switch (reader->type()) {
482 case Type::BOOLEAN:
483 num_skipped = static_cast<BoolReader*>(reader)->Skip(num_rows_to_skip);
484 break;
485 case Type::INT32:
486 num_skipped = static_cast<Int32Reader*>(reader)->Skip(num_rows_to_skip);
487 break;
488 case Type::INT64:
489 num_skipped = static_cast<Int64Reader*>(reader)->Skip(num_rows_to_skip);
490 break;
491 case Type::BYTE_ARRAY:
492 num_skipped = static_cast<ByteArrayReader*>(reader)->Skip(num_rows_to_skip);
493 break;
494 case Type::FIXED_LEN_BYTE_ARRAY:
495 num_skipped = static_cast<FixedLenByteArrayReader*>(reader)->Skip(num_rows_to_skip);
496 break;
497 case Type::FLOAT:
498 num_skipped = static_cast<FloatReader*>(reader)->Skip(num_rows_to_skip);
499 break;
500 case Type::DOUBLE:
501 num_skipped = static_cast<DoubleReader*>(reader)->Skip(num_rows_to_skip);
502 break;
503 case Type::INT96:
504 num_skipped = static_cast<Int96Reader*>(reader)->Skip(num_rows_to_skip);
505 break;
506 case Type::UNDEFINED:
507 throw ParquetException("Unexpected type: " + TypeToString(reader->type()));
508 break;
509 }
510 if (num_rows_to_skip != num_skipped) {
511 throw ParquetException("Skipped " + std::to_string(num_skipped) + "/" +
512 std::to_string(num_rows_to_skip) + " rows in column " +
513 reader->descr()->name());
514 }
515}
516
517void StreamReader::CheckColumn(Type::type physical_type,
518 ConvertedType::type converted_type, int length) {

Callers

nothing calls this directly

Calls 7

ParquetExceptionFunction · 0.85
TypeToStringFunction · 0.85
to_stringFunction · 0.85
SkipMethod · 0.80
typeMethod · 0.45
nameMethod · 0.45
descrMethod · 0.45

Tested by

no test coverage detected