{"record":{"id":"8c8d07d78c167c76","repo":"risingwavelabs/risingwave","slug":"feature-is-not-yet-implemented-feature-issue","errorCode":null,"errorMessage":"Feature is not yet implemented: {feature}\n{issue}","messagePattern":"Feature is not yet implemented: (.+?)\n(.+?)","errorType":"exception","errorClass":"NotImplemented","httpStatus":null,"severity":"error","filePath":"src/error/src/common.rs","lineNumber":63,"sourceCode":"}\n\nimpl Display for TrackingIssue {\n    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n        match self.0 {\n            Some(id) => write!(\n                f,\n                \"Tracking issue: https://github.com/risingwavelabs/risingwave/issues/{id}\"\n            ),\n            None => write!(\n                f,\n                \"No tracking issue yet. Feel free to submit a feature request at https://github.com/risingwavelabs/risingwave/issues/new?labels=type%2Ffeature&template=feature_request.yml\"\n            ),\n        }\n    }\n}\n\n#[derive(Error, Debug, Macro)]\n#[error(\"Feature is not yet implemented: {feature}\\n{issue}\")]\n#[thiserror_ext(macro(path = \"crate::common\"))]\npub struct NotImplemented {\n    #[message]\n    pub feature: String,\n    pub issue: TrackingIssue,\n}\n\n#[derive(Error, Debug, Macro)]\n#[thiserror_ext(macro(path = \"crate::common\"))]\npub struct NoFunction {\n    #[message]\n    pub sig: String,\n    pub candidates: Option<String>,\n}\n\nimpl Display for NoFunction {\n    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {\n        write!(f, \"function {} does not exist\", self.sig)?;","sourceCodeStart":45,"sourceCodeEnd":81,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/error/src/common.rs#L45-L81","documentation":"RisingWaveError::NotImplemented signals a feature that is recognized by the API surface but has no implementation yet. The error carries the feature name and a TrackingIssue (GitHub issue link) so developers know exactly what is missing and can track or subscribe to its implementation.","triggerScenarios":"Calling any API/SQL feature whose implementation returns NotImplemented::new(feature, issue) — e.g. unsupported expression types, protocols, or storage operations explicitly marked unimplemented in the codebase.","commonSituations":"Using a cutting-edge/nightly feature that is stubbed out; hitting code paths excluded from the current release; querying features documented upstream but gated behind an unmerged PR referenced by the tracking issue.","solutions":["Check the TrackingIssue in the error message and wait for / track the implementing PR.","Rewrite the query or call to avoid the unimplemented feature (use a supported equivalent).","Downgrade expectations to the currently supported feature set, or pin to a release where the feature lands."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { await runFeature(); }\ncatch (e) {\n  if (String(e).includes(\"not yet implemented\")) {\n    const issue = String(e).match(/https:\\/\\/github\\.com\\/\\S+/)?.[0];\n    console.warn(`Feature unavailable, track: ${issue}`);\n  } else throw e;\n}","preventionTips":["Check release notes / tracking issues before using bleeding-edge features","Provide fallback implementations for known-unimplemented paths","Pin to a release where required features are implemented"],"tags":["unimplemented","feature","tracking-issue"],"backgroundTag":"method-not-implemented","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}