MCPcopy Create free account
hub / github.com/apache/orc / buildConvertReader

Function buildConvertReader

c++/src/ConvertColumnReader.cc:1269–1586  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1267 readType.toString());
1268
1269 std::unique_ptr<ColumnReader> buildConvertReader(const Type& fileType, StripeStreams& stripe,
1270 bool useTightNumericVector,
1271 bool throwOnOverflow) {
1272 if (!useTightNumericVector) {
1273 throw SchemaEvolutionError(
1274 "SchemaEvolution only support tight vector, please create ColumnVectorBatch with "
1275 "option useTightNumericVector");
1276 }
1277 const auto& readType = *stripe.getSchemaEvolution()->getReadType(fileType);
1278
1279 switch (fileType.getKind()) {
1280 case BOOLEAN: {
1281 switch (readType.getKind()) {
1282 CASE_CREATE_READER(BYTE, BooleanToByte)
1283 CASE_CREATE_READER(SHORT, BooleanToShort)
1284 CASE_CREATE_READER(INT, BooleanToInt)
1285 CASE_CREATE_READER(LONG, BooleanToLong)
1286 CASE_CREATE_READER(FLOAT, BooleanToFloat)
1287 CASE_CREATE_READER(DOUBLE, BooleanToDouble)
1288 CASE_CREATE_READER(STRING, BooleanToString)
1289 CASE_CREATE_READER(CHAR, BooleanToChar)
1290 CASE_CREATE_READER(VARCHAR, BooleanToVarchar)
1291 CASE_CREATE_DECIMAL_READER(Boolean)
1292 CASE_CREATE_READER(TIMESTAMP, BooleanToTimestamp)
1293 CASE_CREATE_READER(TIMESTAMP_INSTANT, BooleanToTimestamp)
1294 case BOOLEAN:
1295 case BINARY:
1296 case LIST:
1297 case MAP:
1298 case STRUCT:
1299 case UNION:
1300 case DATE:
1301 CASE_EXCEPTION
1302 }
1303 }
1304 case BYTE: {
1305 switch (readType.getKind()) {
1306 CASE_CREATE_READER(BOOLEAN, ByteToBoolean)
1307 CASE_CREATE_READER(SHORT, ByteToShort)
1308 CASE_CREATE_READER(INT, ByteToInt)
1309 CASE_CREATE_READER(LONG, ByteToLong)
1310 CASE_CREATE_READER(FLOAT, ByteToFloat)
1311 CASE_CREATE_READER(DOUBLE, ByteToDouble)
1312 CASE_CREATE_READER(STRING, ByteToString)
1313 CASE_CREATE_READER(CHAR, ByteToChar)
1314 CASE_CREATE_READER(VARCHAR, ByteToVarchar)
1315 CASE_CREATE_DECIMAL_READER(Byte)
1316 CASE_CREATE_READER(TIMESTAMP, ByteToTimestamp)
1317 CASE_CREATE_READER(TIMESTAMP_INSTANT, ByteToTimestamp)
1318 case BYTE:
1319 case BINARY:
1320 case LIST:
1321 case MAP:
1322 case STRUCT:
1323 case UNION:
1324 case DATE:
1325 CASE_EXCEPTION
1326 }

Callers 1

buildReaderFunction · 0.85

Calls 5

isDecimal64Function · 0.85
getSchemaEvolutionMethod · 0.65
getKindMethod · 0.65
getReadTypeMethod · 0.45

Tested by

no test coverage detected