{"record":{"id":"53cf8819dbe3bc88","repo":"risingwavelabs/risingwave","slug":"line-string-type-not-supported","errorCode":null,"errorMessage":"LINE string type not supported","messagePattern":"LINE string type not supported","errorType":"validation","errorClass":"ConnectorError","httpStatus":null,"severity":"error","filePath":"src/connector/src/source/cdc/external/mysql.rs","lineNumber":429,"sourceCode":"        | ColumnType::MediumText(_)\n        | ColumnType::LongText(_) => DataType::Varchar,\n        ColumnType::Blob(_)\n        | ColumnType::TinyBlob\n        | ColumnType::MediumBlob\n        | ColumnType::LongBlob => DataType::Bytea,\n        ColumnType::Enum(_) => DataType::Varchar,\n        ColumnType::Json => DataType::Jsonb,\n        ColumnType::Set(_) => {\n            return Err(anyhow!(\"SET type not supported\").into());\n        }\n        ColumnType::Geometry(_) => {\n            return Err(anyhow!(\"GEOMETRY type not supported\").into());\n        }\n        ColumnType::Point(_) => {\n            return Err(anyhow!(\"POINT type not supported\").into());\n        }\n        ColumnType::LineString(_) => {\n            return Err(anyhow!(\"LINE string type not supported\").into());\n        }\n        ColumnType::Polygon(_) => {\n            return Err(anyhow!(\"POLYGON type not supported\").into());\n        }\n        ColumnType::MultiPoint(_) => {\n            return Err(anyhow!(\"MULTI POINT type not supported\").into());\n        }\n        ColumnType::MultiLineString(_) => {\n            return Err(anyhow!(\"MULTI LINE STRING type not supported\").into());\n        }\n        ColumnType::MultiPolygon(_) => {\n            return Err(anyhow!(\"MULTI POLYGON type not supported\").into());\n        }\n        ColumnType::GeometryCollection(_) => {\n            return Err(anyhow!(\"GEOMETRY COLLECTION type not supported\").into());\n        }\n        ColumnType::Unknown(_) => {\n            return Err(anyhow!(\"Unknown MySQL data type\").into());","sourceCodeStart":411,"sourceCodeEnd":447,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/source/cdc/external/mysql.rs#L411-L447","documentation":"Same mapper as above: LINESTRING columns have no RisingWave DataType equivalent in the MySQL CDC connector, so mysql_type_to_rw_type returns an error instead of a type. This fails schema parsing before table creation. It is an explicit, not incidental, rejection.","triggerScenarios":"parse_schema_change, connect, or schema discovery encounters a MySQL column of type LINESTRING in the CDC table's schema.","commonSituations":"CDC on tables storing route/line geometry (maps, logistics routes); schema evolution adds a LINESTRING column and the CDC pipeline errors on refresh.","solutions":["Remove the LINESTRING column from the replicated table or replicate a projection without it.","Convert to WKT text upstream (ST_AsText) via a generated or materialized column.","Use a non-CDC ingestion path that serializes geometry.","Upgrade RisingWave / check release notes for spatial type support."],"exampleFix":"// before\nCREATE TABLE routes (id INT PRIMARY KEY, path LINESTRING);\n// after\nCREATE TABLE routes (id INT PRIMARY KEY, path_wkt TEXT AS (ST_AsText(path)));","handlingStrategy":"validation","validationCode":"let forbidden = [\"LINESTRING\", \"GEOMETRY\", \"POINT\", \"POLYGON\", \"MULTIPOINT\", \"MULTILINESTRING\", \"MULTIPOLYGON\", \"GEOMETRYCOLLECTION\"];\nif forbidden.iter().any(|t| col.data_type.eq_ignore_ascii_case(t)) {\n    return Err(format!(\"{} column '{}' unsupported for CDC\", col.data_type, col.name));\n}","typeGuard":null,"tryCatchPattern":"match connect_mysql_cdc(schema).await {\n    Err(e) if e.to_string().contains(\"not supported\") => fallback_to_wkt_projection(schema)?,\n    other => other?,\n}","preventionTips":["Pre-check the upstream schema for geometry types.","Replicate spatial columns only as serialized text.","Keep route/geometry data in non-CDC pipelines."],"tags":["cdc","mysql","unsupported-type","spatial"],"backgroundTag":"unsupported-enum-value","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}