{"record":{"id":"493c7a571cc2f55c","repo":"apache/seatunnel","slug":"common-17-493c7a","errorCode":"COMMON-17","errorMessage":"'${identifier}' unsupported convert type '${dataType}' of '${field}' to SeaTunnel data type.","messagePattern":"'(.+?)' unsupported convert type '(.+?)' of '(.+?)' to SeaTunnel data type\\.","errorType":"error_code","errorClass":"SeaTunnelRuntimeException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/xugu/XuguTypeConverter.java","lineNumber":212,"sourceCode":"                break;\n            case XUGU_TIMESTAMP:\n                builder.dataType(LocalTimeType.LOCAL_DATE_TIME_TYPE);\n                if (typeDefine.getScale() == null) {\n                    builder.scale(TIMESTAMP_DEFAULT_SCALE);\n                } else {\n                    builder.scale(typeDefine.getScale());\n                }\n                break;\n            case XUGU_TIMESTAMP_WITH_TIME_ZONE:\n                builder.dataType(LocalTimeType.OFFSET_DATE_TIME_TYPE);\n                if (typeDefine.getScale() == null) {\n                    builder.scale(TIMESTAMP_DEFAULT_SCALE);\n                } else {\n                    builder.scale(typeDefine.getScale());\n                }\n                break;\n            default:\n                throw CommonError.convertToSeaTunnelTypeError(\n                        DatabaseIdentifier.XUGU, xuguDataType, typeDefine.getName());\n        }\n        return builder.build();\n    }\n\n    @Override\n    public BasicTypeDefine reconvert(Column column) {\n        BasicTypeDefine.BasicTypeDefineBuilder builder =\n                BasicTypeDefine.builder()\n                        .name(column.getName())\n                        .nullable(column.isNullable())\n                        .comment(column.getComment())\n                        .defaultValue(column.getDefaultValue());\n        switch (column.getDataType().getSqlType()) {\n            case BOOLEAN:\n                builder.columnType(XUGU_BOOLEAN);\n                builder.dataType(XUGU_BOOLEAN);\n                break;","sourceCodeStart":194,"sourceCodeEnd":230,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/xugu/XuguTypeConverter.java#L194-L230","documentation":"XuguTypeConverter.convert() maps a XuGu database column type to a SeaTunnel data type while reading. Types with no case in the switch hit default and throw CommonError.convertToSeaTunnelTypeError, including the XuGu type string and column name. The source cannot represent that column in SeaTunnel's type system.","triggerScenarios":"Reading a XuGu table whose column type string (xuguDataType) is not among the handled constants — e.g. spatial, BLOB variants, or newer XuGu types not covered by the converter.","commonSituations":"XuGu deployments using CLOB/BLOB or spatial extensions; type naming differences across XuGu versions; tables created outside the connector's tested surface.","solutions":["Cast the column to a supported type in the source query (e.g. CAST(col AS VARCHAR)).","Create a XuGu view that casts/excludes unsupported columns and read from it.","Exclude the column from the connector's query/schema.","Upgrade the connector or add a convert case for the type and contribute upstream."],"exampleFix":"// before: reading RAW/blob col directly\n// after\nSELECT id, CAST(bin_col AS VARCHAR) AS bin_col_str FROM t","handlingStrategy":"validation","validationCode":"-- Audit XuGu table columns before reading; whitelist supported types\nSELECT column_name, data_type\nFROM information_schema.columns\nWHERE table_name = 'MY_TABLE';\n-- flag types not in: VARCHAR/CHAR/INT/BIGINT/DECIMAL/DOUBLE/DATE/TIME/TIMESTAMP/BOOLEAN/BINARY","typeGuard":null,"tryCatchPattern":"try {\n    sourceReader.read();\n} catch (SeaTunnelRuntimeException e) {\n    if (e.getMessage().contains(\"unsupported convert type\")) {\n        // create a view with CAST for the named column and point the connector at it\n    } else { throw e; }\n}","preventionTips":["Whitelist supported XuGu column types when designing ETL-facing tables.","Expose views with CAST for exotic/spatial/BLOB columns.","Test new XuGu tables in a dry-run before production ingestion.","Track XuGu version differences in type naming."],"tags":["jdbc","xugu","type-conversion","source","unsupported-type"],"backgroundTag":"unsupported-dtype","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}