{"record":{"id":"59b2ae3daed891ca","repo":"risingwavelabs/risingwave","slug":"invalid-properties-for-adbc-snowflake-source","errorCode":null,"errorMessage":"Invalid properties for ADBC Snowflake source: {:?}","messagePattern":"Invalid properties for ADBC Snowflake source: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/frontend/src/handler/create_source/external_schema/adbc_snowflake.rs","lineNumber":59,"sourceCode":"                    ColumnId::new((i + 1).try_into().unwrap()),\n                    converter.type_from_field(field).unwrap(),\n                );\n                ColumnCatalog {\n                    column_desc,\n                    is_hidden: false,\n                }\n            })\n            .collect();\n\n        tracing::info!(\n            \"ADBC Snowflake inferred {} columns from table {}\",\n            columns.len(),\n            properties.table\n        );\n\n        Ok(columns)\n    } else {\n        Err(anyhow!(format!(\n            \"Invalid properties for ADBC Snowflake source: {:?}\",\n            props\n        )))\n    }\n}\n","sourceCodeStart":41,"sourceCodeEnd":65,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/handler/create_source/external_schema/adbc_snowflake.rs#L41-L65","documentation":"`extract_adbc_snowflake_columns` returns an `anyhow!` error when the source's properties do not form a valid ADBC Snowflake property set (`FromStr`/extraction into the ADBC Snowflake properties struct failed). Column binding for a Snowflake source via ADBC requires database/schema/table (or query) properties; anything else is rejected before attempting to read the remote schema.","triggerScenarios":"`CREATE SOURCE ... WITH (connector = 'snowflake', ...)` routed through the ADBC path where `props` fails to deserialize into the expected ADBC Snowflake properties — missing `database_name`/`schema_name`/`table_name` keys, wrong key names, or unexpected extra properties.","commonSituations":"Typos in WITH options (e.g. `tablename` instead of `table_name`); omitting required Snowflake properties; mixing CDC and non-CDC Snowflake option shapes; upgrading RisingWave so previously accepted property keys changed.","solutions":["Check the WITH options against the Snowflake source docs: include `connector='snowflake'`, `snowflake_url`, and `database`/`schema`/`table` as required.","Fix typos and casing in property keys — the error prints the offending props for comparison.","Confirm you are not reusing CDC (`schema-registry`/`aws.*`) style options for the ADBC direct-read source.","If properties look correct, test the same connection parameters outside RisingWave to rule out auth/URL errors masquerading as property errors."],"exampleFix":"// before\nCREATE SOURCE s WITH (connector='snowflake', tablename='T1');\n// after\nCREATE SOURCE s WITH (connector='snowflake', database='DB', schema='PUBLIC', table='T1');","handlingStrategy":"validation","validationCode":"// verify required Snowflake ADBC properties exist before issuing CREATE SOURCE\nfunction validateSnowflakeProps(p) {\n  const required = ['snowflake_url', 'database', 'schema', 'table'];\n  const missing = required.filter(k => !(k in p));\n  if (missing.length) throw new Error('missing snowflake props: ' + missing.join(','));\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy WITH options verbatim from the official Snowflake source docs.","Diff your props against the error message, which echoes the parsed props.","Keep CDC and ADBC/direct-read option sets separate."],"tags":["snowflake","source","properties","validation"],"backgroundTag":"invalid-config-value","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"}