{"record":{"id":"e979c17ee272ac55","repo":"risingwavelabs/risingwave","slug":"don-t-support-vector","errorCode":null,"errorMessage":"Don't support Vector","messagePattern":"Don't support Vector","errorType":"validation","errorClass":"SinkError::BigQuery","httpStatus":null,"severity":"error","filePath":"src/connector/src/sink/big_query.rs","lineNumber":1015,"sourceCode":"        DataType::List(l) => {\n            let (mut field, proto) = build_protobuf_field(l.elem(), index, name)?;\n            field.label = Some(field_descriptor_proto::Label::Repeated.into());\n            return Ok((field, proto));\n        }\n        DataType::Bytea => field.r#type = Some(field_descriptor_proto::Type::Bytes.into()),\n        DataType::Jsonb => field.r#type = Some(field_descriptor_proto::Type::String.into()),\n        DataType::Variant => {\n            return Err(SinkError::BigQuery(anyhow::anyhow!(\"Don't support Variant\")));\n        }\n        DataType::Serial => field.r#type = Some(field_descriptor_proto::Type::Int64.into()),\n        DataType::Float32 | DataType::Int256 => {\n            return Err(SinkError::BigQuery(anyhow::anyhow!(\n                \"Don't support Float32 and Int256\"\n            )));\n        }\n        DataType::Map(_) => return Err(SinkError::BigQuery(anyhow::anyhow!(\"Don't support Map\"))),\n        DataType::Vector(_) => {\n            return Err(SinkError::BigQuery(anyhow::anyhow!(\"Don't support Vector\")));\n        }\n    }\n    Ok((field, None))\n}\n\n#[cfg(test)]\nmod test {\n\n    use std::assert_matches;\n    use std::collections::HashMap;\n\n    use risingwave_common::catalog::{Field, Schema};\n    use risingwave_common::types::{DataType, StructType};\n\n    use crate::connector_common::AwsAuthProps;\n    use crate::sink::big_query::{\n        BigQueryCommon, BigQueryConfig, BigQuerySink, build_protobuf_descriptor_pool,\n        build_protobuf_schema,","sourceCodeStart":997,"sourceCodeEnd":1033,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/sink/big_query.rs#L997-L1033","documentation":"The BigQuery sink's protobuf schema builder walks the RisingWave schema and refuses to map columns of type Vector into a BigQuery-supported protobuf field. There is no representation for RisingWave vector types in the generated protobuf schema, so build_protobuf_field short-circuits with this config error during sink schema construction.","triggerScenarios":"Creating a BigQuery sink whose source/materialized view contains a column of DataType::Vector (e.g. VECTOR or VECTOR(3) columns); the error is raised recursively while build_protobuf_schema builds the field list.","commonSituations":"Users storing embeddings or similarity-search vectors in RisingWave and attempting to sink the whole table to BigQuery without excluding the vector column.","solutions":["Exclude the vector column by sinking a view that selects only supported columns.","Cast or transform the vector into a supported representation (e.g. array of floats) before sinking.","Use a sink type without protobuf schema building (e.g. different connector) if vector data must be shipped as-is."],"exampleFix":"// before\nCREATE SINK bq_sink FROM mv WITH (connector='big_query', ...); -- mv contains vector column\n// after\nCREATE VIEW mv_no_vec AS SELECT id, payload FROM mv; -- drop the VECTOR column\nCREATE SINK bq_sink FROM mv_no_vec WITH (connector='big_query', ...);","handlingStrategy":"validation","validationCode":"function assertNoVectorColumns(columns) {\n  const bad = columns.filter(c => c.dataType.startsWith('VECTOR'));\n  if (bad.length) throw new Error(`Vector columns not sinkable to BigQuery: ${bad.map(c => c.name).join(', ')}`);\n}","typeGuard":"function isVectorColumn(c) { return typeof c.dataType === 'string' && c.dataType.toUpperCase().startsWith('VECTOR'); }","tryCatchPattern":null,"preventionTips":["Audit the sinked relation's schema for VECTOR columns before creating a BigQuery sink.","Project out vector columns into a view used as the sink source.","Keep embeddings in dedicated relations separate from those shipped to BigQuery."],"tags":["sink","bigquery","vector","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"}