{"record":{"id":"82549a4a2ce169b2","repo":"databendlabs/databend","slug":"unimplemented","errorCode":null,"errorMessage":"unimplemented","messagePattern":"unimplemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/query/storages/iceberg/src/iceberg_inspect.rs","lineNumber":342,"sourceCode":"                                    TableDataType::String,\n                                    TableDataType::String,\n                                ],\n                            }\n                            .wrap_nullable(),\n                        )),\n                    ),\n                ];\n\n                Arc::new(TableSchema::new(fields))\n            }\n        }\n    }\n\n    pub fn from_name(name: &str) -> InspectType {\n        match name {\n            \"iceberg_snapshot\" => InspectType::Snapshot,\n            \"iceberg_manifest\" => InspectType::Manifest,\n            _ => unimplemented!(),\n        }\n    }\n}\n","sourceCodeStart":324,"sourceCodeEnd":346,"githubUrl":"https://github.com/databendlabs/databend/blob/288d84d76e20a2f8f7173bda9691eb6ece301aa9/src/query/storages/iceberg/src/iceberg_inspect.rs#L324-L346","documentation":"`InspectType::from_name` maps system inspect table names to enum variants; only `iceberg_snapshot` and `iceberg_manifest` are recognized. Any other name hits `unimplemented!()` and panics, meaning that inspect table name is not supported by the Iceberg inspect layer.","triggerScenarios":"Querying an iceberg inspect table (e.g. `system.inspect$<name>` style lookup) whose name is not exactly `iceberg_snapshot` or `iceberg_manifest`, so the match falls to `_ => unimplemented!()`.","commonSituations":"Trying to inspect other Iceberg metadata tables (e.g. snapshot refs, partitions, history) that exist in upstream Iceberg but are not implemented in Databend; typos in the inspect table name.","solutions":["Use only the supported inspect names: `iceberg_snapshot` and `iceberg_manifest`.","Check spelling/case of the inspect table name against the supported list.","Extend from_name's match to support the needed inspect type and implement it if you control the code."],"exampleFix":"// before\n_ => unimplemented!(),\n// after\nother => return Err(ErrorCode::Unimplemented(format!(\"inspect type not supported: {}\", other))),","handlingStrategy":"type-guard","validationCode":"const SUPPORTED_INSPECT: &[&str] = &[\"iceberg_snapshot\", \"iceberg_manifest\"];\nif !SUPPORTED_INSPECT.contains(&name) {\n    return Err(anyhow::anyhow!(\"unsupported inspect table: {}\", name));\n}","typeGuard":"fn is_supported_inspect(name: &str) -> bool {\n    matches!(name, \"iceberg_snapshot\" | \"iceberg_manifest\")\n}","tryCatchPattern":"let inspect = InspectType::try_from_name(name)\n    .unwrap_or_else(|e| { log::warn!(\"{}\", e); InspectType::Snapshot });","preventionTips":["Only query inspect tables named iceberg_snapshot and iceberg_manifest.","Validate inspect table names against a whitelist before dispatching.","Keep a lookup of implemented Iceberg metadata tables near the query site."],"tags":["iceberg","inspect","unimplemented"],"backgroundTag":"method-not-implemented","analyzedSha":"288d84d76e20a2f8f7173bda9691eb6ece301aa9","analyzedAt":"2026-09-11T11:29:36.208Z","contentChangedAt":"2026-09-11T11:29:36.208Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}