{"record":{"id":"ea1b13ef88ba0f5f","repo":"risingwavelabs/risingwave","slug":"item-not-found-0","errorCode":null,"errorMessage":"Item not found: {0}","messagePattern":"Item not found: (.+?)","errorType":"error_code","errorClass":"ErrorCode","httpStatus":null,"severity":"error","filePath":"src/frontend/src/error.rs","lineNumber":155,"sourceCode":"        #[backtrace]\n        #[message]\n        BoxedError,\n    ),\n    #[error(\"Protocol error: {0}\")]\n    ProtocolError(#[message] String),\n    #[error(\"Scheduler error: {0}\")]\n    SchedulerError(\n        #[source]\n        #[backtrace]\n        BoxedError,\n    ),\n    #[error(\"Task not found\")]\n    TaskNotFound,\n    #[error(\"Session not found\")]\n    SessionNotFound,\n    #[error(\"Invalid reference: {0}\")]\n    InvalidReference(String),\n    #[error(\"Item not found: {0}\")]\n    ItemNotFound(String),\n    #[error(\"Duplicate Relation Name: {0}\")]\n    DuplicateRelationName(String),\n    #[error(\"Invalid insert operation: {0}\")]\n    InsertViolation(String),\n    #[error(\"Invalid input syntax: {0}\")]\n    InvalidInputSyntax(#[message] String),\n    #[error(\"Cannot compare in memory: {0}\")]\n    MemComparableError(#[from] memcomparable::Error),\n    #[error(\"Error while de/se values: {0}\")]\n    ValueEncodingError(\n        #[from]\n        #[backtrace]\n        ValueEncodingError,\n    ),\n    #[error(\"Invalid value `{config_value}` for `{config_entry}`\")]\n    InvalidConfigValue {\n        config_entry: String,","sourceCodeStart":137,"sourceCodeEnd":173,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/frontend/src/error.rs#L137-L173","documentation":"RisingWave frontend's ErrorCode::ItemNotFound variant, rendered as \"Item not found: {0}\". It is raised by the binder when a referenced item cannot be located in the bind context — most commonly an unresolvable column name (BindContext at src/frontend/src/binder/bind_context.rs:211,446,468,477, e.g. \"Invalid column: {name}\") and in column binding (src/frontend/src/binder/expr/column.rs).","triggerScenarios":"SELECT/WHERE references a column that no relation in the FROM clause provides; the column was dropped or renamed; referencing a column of one table while only another is in scope; system catalog code paths returning missing items.","commonSituations":"Schema drift after an ALTER TABLE rename/drop; typos in column names; cross-database assumptions; generated code or ORMs with stale column lists.","solutions":["Run SHOW COLUMNS FROM <relation> and fix the column name/case.","Re-sync the application schema cache after DDL changes (restart ORM/refresh metadata).","Qualify the column with the intended table/alias and confirm that relation is in the FROM clause.","Re-add the dropped/renamed column or update the query to the new name."],"exampleFix":"// before\nSELECT usr_name FROM users; -- column renamed\n// after\nSELECT user_name FROM users; -- matches SHOW COLUMNS FROM users","handlingStrategy":"validation","validationCode":"-- before query\nSELECT column_name FROM information_schema.columns\nWHERE table_name = 'users' AND column_name = 'user_name';","typeGuard":null,"tryCatchPattern":"try { await db.query(sql) } catch (e) {\n  if (/Item not found:/.test(e.message)) { await refreshSchemaCache(); throw e; }\n  throw e;\n}","preventionTips":["Refresh ORM/metadata caches after every ALTER TABLE.","Use SHOW COLUMNS to confirm names before writing queries by hand.","Pin query templates to a schema version checked in CI."],"tags":["sql","binder","risingwave","column-not-found"],"backgroundTag":"record-not-found","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"}