{"record":{"id":"4d6b9238e560442d","repo":"apache/seatunnel","slug":"unsupported-data-type-4d6b92","errorCode":"UNSUPPORTED_DATA_TYPE","errorMessage":"Unsupported data type: ","messagePattern":"Unsupported data type: ","errorType":"error_code","errorClass":"IotdbConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-iotdb-v2/src/main/java/org/apache/seatunnel/connectors/seatunnel/iotdbv2/serialize/DefaultSeaTunnelRowDeserializer.java","lineNumber":105,"sourceCode":"            SeaTunnelDataType<?> seaTunnelFieldType = rowType.getFieldType(i);\n            seaTunnelFields[i] = convert(seaTunnelFieldType, field);\n        }\n        return new SeaTunnelRow(seaTunnelFields);\n    }\n\n    private Object convert(SeaTunnelDataType<?> seaTunnelFieldType, Field field) {\n        switch (field.getDataType()) {\n            case INT32:\n                Number int32 = field.getIntV();\n                switch (seaTunnelFieldType.getSqlType()) {\n                    case TINYINT:\n                        return int32.byteValue();\n                    case SMALLINT:\n                        return int32.shortValue();\n                    case INT:\n                        return int32.intValue();\n                    default:\n                        throw new IotdbConnectorException(\n                                CommonErrorCode.UNSUPPORTED_DATA_TYPE,\n                                \"Unsupported data type: \" + seaTunnelFieldType);\n                }\n            case INT64:\n                return field.getLongV();\n            case FLOAT:\n                return field.getFloatV();\n            case DOUBLE:\n                return field.getDoubleV();\n            case TEXT:\n            case STRING:\n                return field.getStringValue();\n            case BOOLEAN:\n                return field.getBoolV();\n            case TIMESTAMP:\n                long timestamp = (long) field.getObjectValue(TSDataType.TIMESTAMP);\n                switch (seaTunnelFieldType.getSqlType()) {\n                    case TIMESTAMP:","sourceCodeStart":87,"sourceCodeEnd":123,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-iotdb-v2/src/main/java/org/apache/seatunnel/connectors/seatunnel/iotdbv2/serialize/DefaultSeaTunnelRowDeserializer.java#L87-L123","documentation":"In DefaultSeaTunnelRowDeserializer.convert(), when the IoTDB field is INT32, only TINYINT, SMALLINT and INT SeaTunnel types are supported; any other target type hits the default branch and throws UNSUPPORTED_DATA_TYPE with the SeaTunnel field type.","triggerScenarios":"An IoTDB INT32 field mapped to a SeaTunnel type outside {TINYINT, SMALLINT, INT}, e.g., FLOAT, DOUBLE or BOOLEAN.","commonSituations":"Schema declares a wider or different type than the IoTDB storage type; users assume automatic numeric widening.","solutions":["Change the SeaTunnel column type to INT, SMALLINT or TINYINT to match the IoTDB INT32 field.","Cast/transform the data upstream if a different type is required.","Extend the deserializer's switch to support the desired mapping."],"exampleFix":"// before\nfield type = FLOAT  // IoTDB field is INT32\n// after\nfield type = INT","handlingStrategy":"validation","validationCode":"// check mapping compatibility\nSet<SqlType> allowed = Set.of(SqlType.TINYINT, SqlType.SMALLINT, SqlType.INT);\nif (iotdbField.getDataType() == TSDataType.INT32 && !allowed.contains(seaTunnelFieldType.getSqlType())) {\n    throw new IllegalStateException(\"INT32 cannot map to \" + seaTunnelFieldType);\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Map IoTDB INT32 only to TINYINT/SMALLINT/INT.","Validate schema-vs-storage type compatibility before job submit.","Avoid assuming implicit numeric widening."],"tags":["iotdb","data-type","deserialization"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}