risingwavelabs/risingwave · error

additional column type {} is not supported for connector {},

Error message

additional column type {} is not supported for connector {}, acceptable column types: {:?}

What it means

After resolving the connector's compatible additional-column set, build_additional_column_desc checks that the requested additional column type (e.g. 'partition', 'offset', 'header', 'timestamp') is in that set. Requesting a type the connector does support partially (or not at all) bails with this error.

Source

Thrown at src/connector/src/parser/additional_columns.rs:171

    reject_unknown_connector: bool,
    is_cdc_backfill_table: bool,
) -> ConnectorResult<ColumnDesc> {
    let compatible_columns = match (
        get_supported_additional_columns(connector_name, is_cdc_backfill_table),
        reject_unknown_connector,
    ) {
        (Some(compat_cols), _) => compat_cols,
        (None, false) => &COMMON_COMPATIBLE_ADDITIONAL_COLUMNS,
        (None, true) => {
            bail!(
                "additional column is not supported for connector {}, acceptable connectors: {:?}",
                connector_name,
                COMPATIBLE_ADDITIONAL_COLUMNS.keys(),
            );
        }
    };
    if !compatible_columns.contains(additional_col_type) {
        bail!(
            "additional column type {} is not supported for connector {}, acceptable column types: {:?}",
            additional_col_type,
            connector_name,
            compatible_columns
        );
    }

    let column_name = column_alias.unwrap_or_else(|| {
        gen_default_addition_col_name(
            connector_name,
            additional_col_type,
            inner_field_name,
            data_type,
        )
    });

    let col_desc = match additional_col_type {
        "key" => ColumnDesc::named_with_additional_column(

View on GitHub (pinned to 6469eb736d)

Solutions

  1. Remove or change the additional column type to one listed as acceptable for the connector
  2. Use a connector that supports the desired additional column type
  3. Check docs for the connector's supported INCLUDE columns

Example fix

// before
CREATE TABLE t (...) WITH (connector='nexmark', include header AS h);
// after
CREATE TABLE t (...) WITH (connector='kafka', include header AS h);
Defensive patterns

Strategy: validation

Validate before calling

const KAFKA_COLS = ['partition','offset','timestamp','header','key'];
function validateInclude(connector, colType) {
  const allowed = { kafka: KAFKA_COLS, nexmark: [], pulsar: ['message_id','partition'] }[connector] || [];
  if (!allowed.includes(colType)) throw new Error(`${colType} unsupported for ${connector}`);
}

Try / catch

try {
  await rw.query(ddl);
} catch (e) {
  if (/additional column type .* is not supported/.test(e.message)) {
    // remove/rename the offending INCLUDE column and retry
  } else throw e;
}

Prevention

When it happens

Trigger: CREATE TABLE/SOURCE with INCLUDE <col> AS name (or include header/key/partition/offset/timestamp options) where the specific column type is not listed for that connector in COMPATIBLE_ADDITIONAL_COLUMNS.

Common situations: Adding #header to a connector that only supports #partition and #offset; copying a CREATE TABLE statement between connectors with different support matrices.

Related errors


AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11). Data as JSON: /api/errors/20dc070e160d5cd1. Report an issue: GitHub.