| 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 | } |
no test coverage detected