{"record":{"id":"dd0ea281e49cdea0","repo":"risingwavelabs/risingwave","slug":"multi-point-type-not-supported","errorCode":null,"errorMessage":"MULTI POINT type not supported","messagePattern":"MULTI POINT type not supported","errorType":"validation","errorClass":"ConnectorError","httpStatus":null,"severity":"error","filePath":"src/connector/src/source/cdc/external/mysql.rs","lineNumber":435,"sourceCode":"        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());\n        }\n    };\n\n    Ok(dtype)\n}\n","sourceCodeStart":417,"sourceCodeEnd":453,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/source/cdc/external/mysql.rs#L417-L453","documentation":"Type-mapping guard in mysql_type_to_rw_type: a MULTIPOINT column in a MySQL CDC table cannot be translated to any RisingWave type, so schema parsing/replication for tables containing this spatial type is rejected with this error.","triggerScenarios":"Schema discovery (connect) or schema-change parsing encounters MULTIPOINT in the upstream table.","commonSituations":"Tables storing clusters of points (e.g. multi-sensor readings); CDC setup or a new MULTIPOINT column added upstream triggers it.","solutions":["Exclude the MULTIPOINT column from replication.","Convert to WKT text upstream (ST_AsText) and replicate that.","Use a non-CDC ingestion path.","Verify whether a newer RisingWave supports spatial types."],"exampleFix":"// before\nCREATE TABLE clusters (id INT PRIMARY KEY, pts MULTIPOINT);\n// after\nCREATE TABLE clusters (id INT PRIMARY KEY, pts_wkt TEXT AS (ST_AsText(pts)));","handlingStrategy":"validation","validationCode":"if col.data_type.eq_ignore_ascii_case(\"MULTIPOINT\") {\n    return Err(format!(\"column '{}' is MULTIPOINT; unsupported for MySQL CDC\", col.name));\n}","typeGuard":null,"tryCatchPattern":"match connect_mysql_cdc(schema).await {\n    Err(e) if e.to_string().contains(\"MULTI POINT\") => eprintln!(\"Exclude or text-serialize MULTIPOINT column\"),\n    other => other?,\n}","preventionTips":["Pre-check schema for multipoint columns.","Serialize point sets to text/JSON upstream.","Restrict CDC to scalar-typed tables."],"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"}