{"record":{"id":"c709fb10c917ec59","repo":"risingwavelabs/risingwave","slug":"set-type-not-supported","errorCode":null,"errorMessage":"SET type not supported","messagePattern":"SET type not supported","errorType":"validation","errorClass":"ConnectorError","httpStatus":null,"severity":"error","filePath":"src/connector/src/source/cdc/external/mysql.rs","lineNumber":420,"sourceCode":"        ColumnType::Timestamp(_) => DataType::Timestamptz,\n        ColumnType::Year => DataType::Int32,\n        ColumnType::Char(_)\n        | ColumnType::NChar(_)\n        | ColumnType::Varchar(_)\n        | ColumnType::NVarchar(_) => DataType::Varchar,\n        ColumnType::Binary(_) | ColumnType::Varbinary(_) => DataType::Bytea,\n        ColumnType::Text(_)\n        | ColumnType::TinyText(_)\n        | 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());","sourceCodeStart":402,"sourceCodeEnd":438,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/source/cdc/external/mysql.rs#L402-L438","documentation":"RisingWave has no SET data type equivalent, and mysql_type_to_rw_type refuses to degrade SET columns to another type, returning 'SET type not supported'. SET columns (comma-separated bitset strings) cannot be faithfully replicated through CDC type mapping.","triggerScenarios":"Creating a CDC table whose MySQL schema includes a column declared as SET('a','b','c'); or a schema change adding a SET column.","commonSituations":"Old MySQL schemas using SET for multi-select flags; migrating tables that predate normalized designs.","solutions":["Normalize the SET column into a separate join table or individual BOOLEAN columns in MySQL.","Change the column to VARCHAR and store comma-separated values, then parse in RW if needed.","Exclude the SET column from the replicated table."],"exampleFix":"// before (MySQL)\nCREATE TABLE t (perms SET('read','write','admin'));\n// after\nCREATE TABLE t (perms VARCHAR(64)); -- store 'read,write' as text","handlingStrategy":"validation","validationCode":"SELECT COLUMN_NAME, COLUMN_TYPE FROM information_schema.COLUMNS\nWHERE TABLE_SCHEMA='mydb' AND TABLE_NAME='t' AND DATA_TYPE = 'set';","typeGuard":"function isSetColumn(colType) { return /^set\\s*\\(/i.test(colType); }","tryCatchPattern":"try { await createCdcTable('t'); } catch (e) { if (String(e).includes('SET type not supported')) { /* normalize SET column to VARCHAR or boolean columns, then retry */ } else throw e; }","preventionTips":["Avoid the MySQL SET data type in CDC source tables","Model multi-value flags as separate boolean columns or a child table","Scan information_schema for DATA_TYPE='set' before CDC onboarding"],"tags":["cdc","mysql","type-mapping","unsupported-type"],"backgroundTag":"unsupported-dtype","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"}