| 151 | } |
| 152 | |
| 153 | OrcColumnReader::OrcColumnReader(const orc::Type* orc_type, |
| 154 | const SlotDescriptor* slot_desc, HdfsOrcScanner* scanner) |
| 155 | : slot_desc_(slot_desc), scanner_(scanner) { |
| 156 | orc_column_id_ = DCHECK_NOTNULL(orc_type)->getColumnId(); |
| 157 | if (slot_desc_ == nullptr) { |
| 158 | orc::TypeKind type_kind = orc_type->getKind(); |
| 159 | DCHECK(type_kind == orc::TypeKind::LIST |
| 160 | || type_kind == orc::TypeKind::MAP |
| 161 | || type_kind == orc::TypeKind::STRUCT) |
| 162 | << "Selected primitive types should have SlotDescriptors"; |
| 163 | } |
| 164 | VLOG(3) << "Created reader for " << PrintNode(orc_type) << ": slot_desc_=" |
| 165 | << (slot_desc_? slot_desc_->DebugString() : "null"); |
| 166 | } |
| 167 | |
| 168 | Status OrcBoolColumnReader::ReadValue(int row_idx, Tuple* tuple, MemPool* pool) { |
| 169 | if (IsNull(DCHECK_NOTNULL(batch_), row_idx)) { |
nothing calls this directly
no test coverage detected