@@ -793,7 +793,8 @@ TypePtr ReaderBase::convertType(
793793 requestedType,
794794 isRepeated,
795795 [](const TypePtr& type) {
796- return type->kind () == TypeKind::SMALLINT ||
796+ return type->kind () == TypeKind::TINYINT ||
797+ type->kind () == TypeKind::SMALLINT ||
797798 type->kind () == TypeKind::INTEGER ||
798799 type->kind () == TypeKind::BIGINT;
799800 }),
@@ -809,18 +810,20 @@ TypePtr ReaderBase::convertType(
809810 thrift::Type::INT32,
810811 " {} converted type can only be set for value of thrift::Type::INT32" ,
811812 schemaElement.converted_type );
812- VELOX_CHECK (
813- !requestedType ||
814- isCompatible (
815- requestedType,
816- isRepeated,
817- [](const TypePtr& type) {
818- return type->kind () == TypeKind::INTEGER ||
819- type->kind () == TypeKind::BIGINT;
820- }),
821- kTypeMappingErrorFmtStr ,
822- " INTEGER" ,
823- requestedType->toString ());
813+ // VELOX_CHECK(
814+ // !requestedType ||
815+ // isCompatible(
816+ // requestedType,
817+ // isRepeated,
818+ // [](const TypePtr& type) {
819+ // return type->kind() == TypeKind::TINYINT ||
820+ // type->kind() == TypeKind::SMALLINT ||
821+ // type->kind() == TypeKind::INTEGER ||
822+ // type->kind() == TypeKind::BIGINT;
823+ // }),
824+ // kTypeMappingErrorFmtStr,
825+ // "INTEGER",
826+ // requestedType->toString());
824827 return INTEGER ();
825828
826829 case thrift::ConvertedType::INT_64:
@@ -835,8 +838,12 @@ TypePtr ReaderBase::convertType(
835838 isCompatible (
836839 requestedType,
837840 isRepeated,
838- [](const TypePtr& type) {
839- return type->kind () == TypeKind::BIGINT;
841+ [&](const TypePtr& type) {
842+ return type->kind () == TypeKind::TINYINT ||
843+ type->kind () == TypeKind::SMALLINT ||
844+ type->kind () == TypeKind::INTEGER ||
845+ type->kind () == TypeKind::BIGINT ||
846+ requestedType->isDecimal ();
840847 }),
841848 kTypeMappingErrorFmtStr ,
842849 " BIGINT" ,
@@ -938,17 +945,17 @@ TypePtr ReaderBase::convertType(
938945 switch (schemaElement.type ) {
939946 case thrift::Type::BYTE_ARRAY:
940947 case thrift::Type::FIXED_LEN_BYTE_ARRAY:
941- VELOX_CHECK (
942- !requestedType ||
943- isCompatible (
944- requestedType,
945- isRepeated,
946- [](const TypePtr& type) {
947- return type->kind () == TypeKind::VARCHAR;
948- }),
949- kTypeMappingErrorFmtStr ,
950- " VARCHAR" ,
951- requestedType->toString ());
948+ // VELOX_CHECK(
949+ // !requestedType ||
950+ // isCompatible(
951+ // requestedType,
952+ // isRepeated,
953+ // [](const TypePtr& type) {
954+ // return type->kind() == TypeKind::VARCHAR;
955+ // }),
956+ // kTypeMappingErrorFmtStr,
957+ // "VARCHAR",
958+ // requestedType->toString());
952959 return VARCHAR ();
953960 default :
954961 VELOX_FAIL (
@@ -959,17 +966,17 @@ TypePtr ReaderBase::convertType(
959966 schemaElement.type ,
960967 thrift::Type::BYTE_ARRAY,
961968 " ENUM converted type can only be set for value of thrift::Type::BYTE_ARRAY" );
962- VELOX_CHECK (
963- !requestedType ||
964- isCompatible (
965- requestedType,
966- isRepeated,
967- [](const TypePtr& type) {
968- return type->kind () == TypeKind::VARCHAR;
969- }),
970- kTypeMappingErrorFmtStr ,
971- " VARCHAR" ,
972- requestedType->toString ());
969+ // VELOX_CHECK(
970+ // !requestedType ||
971+ // isCompatible(
972+ // requestedType,
973+ // isRepeated,
974+ // [](const TypePtr& type) {
975+ // return type->kind() == TypeKind::VARCHAR;
976+ // }),
977+ // kTypeMappingErrorFmtStr,
978+ // "VARCHAR",
979+ // requestedType->toString());
973980 return VARCHAR ();
974981 }
975982 case thrift::ConvertedType::MAP:
@@ -1001,18 +1008,20 @@ TypePtr ReaderBase::convertType(
10011008 requestedType->toString ());
10021009 return BOOLEAN ();
10031010 case thrift::Type::type::INT32:
1004- VELOX_CHECK (
1005- !requestedType ||
1006- isCompatible (
1007- requestedType,
1008- isRepeated,
1009- [](const TypePtr& type) {
1010- return type->kind () == TypeKind::INTEGER ||
1011- type->kind () == TypeKind::BIGINT;
1012- }),
1013- kTypeMappingErrorFmtStr ,
1014- " INTEGER" ,
1015- requestedType->toString ());
1011+ // VELOX_CHECK(
1012+ // !requestedType ||
1013+ // isCompatible(
1014+ // requestedType,
1015+ // isRepeated,
1016+ // [](const TypePtr& type) {
1017+ // return type->kind() == TypeKind::TINYINT ||
1018+ // type->kind() == TypeKind::SMALLINT ||
1019+ // type->kind() == TypeKind::INTEGER ||
1020+ // type->kind() == TypeKind::BIGINT;
1021+ // }),
1022+ // kTypeMappingErrorFmtStr,
1023+ // "INTEGER",
1024+ // requestedType->toString());
10161025 return INTEGER ();
10171026 case thrift::Type::type::INT64:
10181027 // For Int64 Timestamp in nano precision
@@ -1037,7 +1046,10 @@ TypePtr ReaderBase::convertType(
10371046 requestedType,
10381047 isRepeated,
10391048 [](const TypePtr& type) {
1040- return type->kind () == TypeKind::BIGINT;
1049+ return type->kind () == TypeKind::TINYINT ||
1050+ type->kind () == TypeKind::SMALLINT ||
1051+ type->kind () == TypeKind::INTEGER ||
1052+ type->kind () == TypeKind::BIGINT;
10411053 }),
10421054 kTypeMappingErrorFmtStr ,
10431055 " BIGINT" ,
0 commit comments