reifydb_engine/queue/
lookup.rs1use 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}