risingwavelabs/risingwave · error

additional column type

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.

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.

Appendix: 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)