{"record":{"id":"bdbb6dc2897f941f","repo":"prestodb/presto","slug":"not-supported-bdbb6d","errorCode":"NOT_SUPPORTED","errorMessage":"Unsupported type ","messagePattern":"Unsupported type ","errorType":"error_code","errorClass":"PrestoException","httpStatus":null,"severity":"error","filePath":"presto-accumulo/src/main/java/com/facebook/presto/accumulo/model/Row.java","lineNumber":235,"sourceCode":"            return Short.parseShort(str);\n        }\n        else if (type.equals(TIME)) {\n            return Time.valueOf(LocalTime.parse(str, TIME_PARSER));\n        }\n        else if (type.equals(TIMESTAMP)) {\n            return Timestamp.valueOf(LocalDateTime.parse(str, TIMESTAMP_PARSER));\n        }\n        else if (type.equals(TINYINT)) {\n            return Byte.valueOf(str);\n        }\n        else if (type.equals(VARBINARY)) {\n            return str.getBytes(UTF_8);\n        }\n        else if (type instanceof VarcharType) {\n            return str;\n        }\n        else {\n            throw new PrestoException(NOT_SUPPORTED, \"Unsupported type \" + type);\n        }\n    }\n}\n","sourceCodeStart":217,"sourceCodeEnd":239,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-accumulo/src/main/java/com/facebook/presto/accumulo/model/Row.java#L217-L239","documentation":"Row.valueFromString converts a String token into a Java value for the given Presto Type; when the schema column's type has no conversion branch it throws NOT_SUPPORTED with 'Unsupported type <type>'. It is invoked per-field by Row.fromString, so one unsupported column type fails the whole row parse.","triggerScenarios":"Row.fromString / valueFromString with a schema column whose Type is not among the handled ones (BOOLEAN, BIGINT/integer family, DOUBLE, REAL, VARCHAR, VARBINARY, DATE/TIME/TIMESTAMP family, etc.), e.g. arrays, maps, rows, DECIMAL, JSON, hyperloglog.","commonSituations":"Connector schema includes ARRAY/MAP columns but the record format is plain delimited strings; newer Presto types added to the table schema that the deserializer predates.","solutions":["Remove or exclude the unsupported column from the RowSchema being deserialized","Cast the column type in metadata to a supported type (e.g. cast array to VARCHAR before storage)","Add a conversion branch in valueFromString for the type (fork/maintenance path)","Use LexicoderRowSerializer instead of String-based deserialization, since it supports complex types"],"exampleFix":"// before\nelse {\n    throw new PrestoException(NOT_SUPPORTED, \"Unsupported type \" + type);\n}\n// after\nelse if (type instanceof DecimalType) {\n    return new BigDecimal(str);\n} else {\n    throw new PrestoException(NOT_SUPPORTED, \"Unsupported type \" + type);\n}","handlingStrategy":"validation","validationCode":"for (int i = 0; i < schema.getLength(); i++) {\n    Type t = schema.getColumn(i).getType();\n    if (!(t instanceof VarcharType) && !SUPPORTED_ROW_TYPES.contains(t)) {\n        throw new IllegalArgumentException(\"Column \" + schema.getColumn(i).getName() + \" has unsupported type \" + t);\n    }\n}","typeGuard":"static boolean isRowDecodableType(Type t) {\n    return t instanceof VarcharType || t.equals(BOOLEAN) || t.equals(BIGINT) || t.equals(DOUBLE) || t.equals(REAL) || t.equals(DATE) || t.equals(TIME) || t.equals(TIMESTAMP);\n}","tryCatchPattern":"try {\n    value = Row.valueFromString(token, type);\n} catch (PrestoException e) {\n    if (e.getErrorCode().getCode() == StandardErrorCode.NOT_SUPPORTED.toErrorCode().getCode()) {\n        return null; // or log and skip column\n    }\n    throw e;\n}","preventionTips":["Verify all schema column types are supported before deserializing records","Exclude complex types (ARRAY/MAP/ROW/DECIMAL) from string-based row schemas","Use LexicoderRowSerializer for schemas with complex types","Add unit tests covering every column type in the schema"],"tags":["presto","accumulo","unsupported-type","deserialization"],"backgroundTag":"unsupported-presto-type","analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}