Skip to main content

reifydb_engine/queue/
lookup.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use reifydb_catalog::catalog::Catalog;
5use reifydb_core::interface::catalog::id::QueueId;
6use reifydb_transaction::transaction::Transaction;
7use reifydb_value::value::identity::IdentityId;
8
9use crate::engine::StandardEngine;
10
11pub fn find_queue_id(engine: &StandardEngine, identity: IdentityId, qualified_name: &str) -> Option<QueueId> {
12	let (namespace_name, queue_name) = Catalog::split_qualified_name(qualified_name)?;
13
14	let mut query_txn = engine.begin_query(identity).ok()?;
15	let mut txn = Transaction::Query(&mut query_txn);
16
17	let catalog = engine.catalog();
18	let namespace = catalog.find_namespace_by_name(&mut txn, &namespace_name).ok()??;
19	let queue = catalog.find_queue_by_name(&mut txn, namespace.id(), queue_name).ok()??;
20
21	Some(queue.id)
22}