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
- Remove or change the additional column type to one listed as acceptable for the connector
- Use a connector that supports the desired additional column type
- 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
- Check per-connector INCLUDE support matrix before writing DDL
- Don't copy INCLUDE clauses across different connectors
- Keep a lint script that cross-checks WITH connector vs INCLUDE columns
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
- additional column is not supported for connector {}, accepta
- Unknown source connector: {connector_name}
- No allow_alter_on_fly fields registered for connector: {conn
- Field '{field}' is not allowed to be altered on the fly for
- Field '{field}' is not allowed to be altered on the fly for
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/20dc070e160d5cd1.
Report an issue: GitHub.