{"record":{"id":"69845896219893b4","repo":"apache/seatunnel","slug":"the-column-with-type-will-be-converted-to-ve","errorCode":null,"errorMessage":"The column {} with type {} will be converted to VECTOR in YashanDB","messagePattern":"The column (.+?) with type (.+?) will be converted to VECTOR in YashanDB","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/yashandb/YashanDbTypeConverter.java","lineNumber":448,"sourceCode":"                            String.format(\"%s(%s,FLOAT64)\", VECTOR_NAME, column.getColumnLength()));\n                    builder.dataType(VECTOR_NAME);\n                } else {\n                    throw new UnsupportedOperationException(\n                            \"Unsupport \"\n                                    + ((ArrayType) column.getDataType())\n                                            .getElementType()\n                                            .getSqlType()\n                                    + \" ARRAY\");\n                }\n                break;\n            case FLOAT_VECTOR:\n            case FLOAT16_VECTOR:\n                builder.columnType(String.format(\"%s(%s)\", VECTOR_NAME, column.getScale()));\n                builder.dataType(VECTOR_NAME);\n                break;\n            case BFLOAT16_VECTOR:\n                // Vector types are stored as VECTOR in YashanDB\n                log.warn(\n                        \"The column {} with type {} will be converted to VECTOR in YashanDB\",\n                        column.getName(),\n                        column.getDataType().getSqlType().name());\n                builder.columnType(String.format(\"%s(%s)\", VECTOR_NAME, column.getScale()));\n                builder.dataType(VECTOR_NAME);\n                break;\n            case STRING:\n                if (column.getColumnLength() == null || column.getColumnLength() <= 0) {\n                    builder.columnType(String.format(\"%s(%s)\", VARCHAR, MAX_VARCHAR_LENGTH));\n                    builder.dataType(VARCHAR);\n                } else if (column.getColumnLength() <= MAX_VARCHAR_LENGTH) {\n                    builder.columnType(String.format(\"%s(%s)\", VARCHAR, column.getColumnLength()));\n                    builder.dataType(VARCHAR);\n                } else {\n                    builder.columnType(CLOB);\n                    builder.dataType(CLOB);\n                }\n                break;","sourceCodeStart":430,"sourceCodeEnd":466,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/yashandb/YashanDbTypeConverter.java#L430-L466","documentation":"This is a WARN-level log emitted by the YashanDB JDBC dialect's type converter during reconvert(). YashanDB has no dedicated FLOAT16_VECTOR/BFLOAT16_VECTOR column types, so any such SeaTunnel column is silently mapped to a generic VECTOR column with the column's scale. The warning informs the user that precision characteristics of the original vector type may be lost in the conversion.","triggerScenarios":"A catalog/table-definition conversion via YashanDbTypeConverter.reconvert() encounters a column whose SeaTunnel SQL type is FLOAT16_VECTOR or BFLOAT16_VECTOR; the converter logs the warning and rewrites the column type to VECTOR(scale).","commonSituations":"Sink schemas defined with vector columns for engines supporting half-precision/bfloat16 vector types (e.g. Milvus, newer MySQL vector flavors) being written to YashanDB; auto table creation against YashanDB with such a schema.","solutions":["Accept the VECTOR(scale) mapping if the application tolerates it","Change the source schema column to a plain VECTOR type so no lossy conversion is attempted","Explicitly define the target YashanDB table with the desired VECTOR dimension/scale instead of relying on auto-creation"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Before writing, check the sink dialect supports the vector type\nif (column.getDataType().getSqlType() == SqlType.FLOAT16_VECTOR\n        || column.getDataType().getSqlType() == SqlType.BFLOAT16_VECTOR) {\n    // YashanDB maps these to generic VECTOR(scale) - confirm precision loss is acceptable\n    log.info(\"Column {} will be stored as VECTOR({}) in YashanDB\", column.getName(), column.getScale());\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Review sink schema for vector column types before enabling auto table creation against YashanDB","Prefer plain VECTOR types in source schemas when targeting YashanDB","Watch for this WARN in job logs to know a lossy mapping occurred"],"tags":["jdbc","yashandb","type-conversion","vector"],"backgroundTag":"type-mismatch","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"}