{"record":{"id":"2020826d071eb3de","repo":"apache/seatunnel","slug":"unsupported-data-type-202082","errorCode":"UNSUPPORTED_DATA_TYPE","errorMessage":"not supported data type: ${dataType}","messagePattern":"not supported data type: (.+?)","errorType":"error_code","errorClass":"Neo4jConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-neo4j/src/main/java/org/apache/seatunnel/connectors/seatunnel/neo4j/source/Neo4jSourceReader.java","lineNumber":227,"sourceCode":"                final SeaTunnelDataType<?> valueType = ((MapType<?, ?>) dataType).getValueType();\n                return value.asMap(v -> valueType.getTypeClass().cast(convertType(valueType, v)));\n            case ARRAY:\n                final SeaTunnelDataType<?> elementType =\n                        ((ArrayType<?, ?>) dataType).getElementType();\n                final List<?> list =\n                        value.asList(\n                                v -> elementType.getTypeClass().cast(convertType(elementType, v)));\n                final Object array = Array.newInstance(elementType.getTypeClass(), list.size());\n                for (int i = 0; i < list.size(); i++) {\n                    Array.set(array, i, list.get(i));\n                }\n                return array;\n            case INT:\n                return value.asInt();\n            case FLOAT:\n                return value.asFloat();\n            default:\n                throw new Neo4jConnectorException(\n                        CommonErrorCodeDeprecated.UNSUPPORTED_DATA_TYPE,\n                        \"not supported data type: \" + dataType);\n        }\n    }\n}\n","sourceCodeStart":209,"sourceCodeEnd":233,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-neo4j/src/main/java/org/apache/seatunnel/connectors/seatunnel/neo4j/source/Neo4jSourceReader.java#L209-L233","documentation":"convertType hit a SeaTunnel data type it has no conversion branch for when mapping a Neo4j driver Value to a Java value. The switch over dataType falls through to default and throws Neo4jConnectorException with code UNSUPPORTED_DATA_TYPE naming the offending dataType.","triggerScenarios":"A schema column in the Neo4j source declares a type not handled by convertType's switch (e.g. ROW/map-like struct types or other complex types outside STRING/BOOLEAN/INT/LONG/DOUBLE/FLOAT/TIME/TIMESTAMP/DATE/MAP/ARRAY), reached via convertRecord, nested convertType, or list element conversion.","commonSituations":"Users copy a schema from a different connector supporting richer types (e.g. nested rows); a typo or unsupported type keyword in the columns definition; Neo4j graph values needing custom mapping.","solutions":["Change the schema column to one of the supported types (string, boolean, tinyint/int/bigint, float/double, date, time, timestamp, map<string,T>, array<T>).","Cast or serialize the value in Cypher (e.g. toString() / collect()) into a supported type.","Split complex structures into primitive columns instead of nested ROW types."],"exampleFix":"// before\ncolumns = [{ name = address, type = row<city string, zip string> }]\n// after\ncolumns = [\n  { name = address_city, type = string }\n  { name = address_zip, type = string }\n]","handlingStrategy":"validation","validationCode":"Set<String> supported = Set.of(\"string\",\"boolean\",\"tinyint\",\"smallint\",\"int\",\"bigint\",\"float\",\"double\",\"date\",\"time\",\"timestamp\",\"map<string,...>\",\"array<...>\");\ncolumns.forEach(c -> { if (!supported.contains(c.type)) throw new IllegalArgumentException(\"unsupported: \" + c.type); });","typeGuard":null,"tryCatchPattern":"try {\n  row = convertRecord(...);\n} catch (Neo4jConnectorException e) {\n  log.error(\"unsupported type {} for column conversion\", e.getMessage());\n  throw e;\n}","preventionTips":["Only use types in the schema that convertType supports (primitives, date/time, map<string,T>, array<T>).","Flatten nested structures into primitive columns in the Cypher query.","Check the connector docs for the supported type list before writing schema."],"tags":["neo4j","unsupported-type","schema","type-conversion"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}