MCPcopy Create free account
hub / github.com/apache/impala / CreateTopLevelReader

Method CreateTopLevelReader

be/src/exec/orc/orc-column-readers.cc:137–151  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

135}
136
137OrcComplexColumnReader* OrcComplexColumnReader::CreateTopLevelReader(
138 const orc::Type* node, const TupleDescriptor* table_tuple_desc,
139 HdfsOrcScanner* scanner) {
140 OrcComplexColumnReader* reader = nullptr;
141 if (node->getKind() == orc::TypeKind::STRUCT) {
142 reader = new OrcStructReader(node, table_tuple_desc, scanner);
143 } else if (node->getKind() == orc::TypeKind::LIST) {
144 reader = new OrcListReader(node, table_tuple_desc, scanner);
145 } else if (node->getKind() == orc::TypeKind::MAP) {
146 reader = new OrcMapReader(node, table_tuple_desc, scanner);
147 } else {
148 DCHECK(false) << "Can't create top level reader for " << PrintNode(node);
149 }
150 return scanner->obj_pool_.Add(reader);
151}
152
153OrcColumnReader::OrcColumnReader(const orc::Type* orc_type,
154 const SlotDescriptor* slot_desc, HdfsOrcScanner* scanner)

Callers

nothing calls this directly

Calls 3

PrintNodeFunction · 0.85
getKindMethod · 0.80
AddMethod · 0.45

Tested by

no test coverage detected