Skip to main content

uqa_sql/catalog/events/
restoration.rs

1//
2// Unified Query Algebra
3//
4// Copyright (c) 2023-2026 Cognica, Inc.
5//
6
7//! Validate the bound function identity before restoring stored trigger metadata.
8use super::definition::EventAnalysisContext;
9use crate::{ast::CreateTrigger, catalog::resolution::RelationLookupMode};
10
11pub fn trigger_function_object_id(
12    context: &EventAnalysisContext<'_>,
13    definition: &CreateTrigger,
14) -> Result<[u8; 16], String> {
15    context
16        .resolve_trigger_function(&definition.function, RelationLookupMode::Bound)
17        .map_err(|error| format!("restore trigger function identity: {error}"))?
18        .def
19        .object_id
20        .ok_or_else(|| {
21            format!(
22                "restore trigger catalog: function `{}` has no object identity",
23                definition.function
24            )
25        })
26}