MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / get_procedure

Method get_procedure

nodedb/src/control/security/catalog/procedures.rs:30–52  ·  view source on GitHub ↗

Get a single procedure by tenant_id + name.

(
        &self,
        tenant_id: u64,
        name: &str,
    )

Source from the content-addressed store, hash-verified

28
29 /// Get a single procedure by tenant_id + name.
30 pub fn get_procedure(
31 &self,
32 tenant_id: u64,
33 name: &str,
34 ) -> crate::Result<Option<StoredProcedure>> {
35 let key = procedure_key(tenant_id, name);
36 let read_txn = self
37 .db
38 .begin_read()
39 .map_err(|e| catalog_err("read txn", e))?;
40 let table = read_txn
41 .open_table(PROCEDURES)
42 .map_err(|e| catalog_err("open procedures", e))?;
43 match table.get(key.as_str()) {
44 Ok(Some(value)) => {
45 let p: StoredProcedure = zerompk::from_msgpack(value.value())
46 .map_err(|e| catalog_err("deser procedure", e))?;
47 Ok(Some(p))
48 }
49 Ok(None) => Ok(None),
50 Err(e) => Err(catalog_err("get procedure", e)),
51 }
52 }
53
54 /// Delete a procedure. Returns true if it existed.
55 pub fn delete_procedure(&self, tenant_id: u64, name: &str) -> crate::Result<bool> {

Callers 10

has_procedureMethod · 0.80
procedure_descriptorMethod · 0.80
put_and_getFunction · 0.80
stampFunction · 0.80
lookup_current_versionFunction · 0.80
call_procedureFunction · 0.80
drop_procedureFunction · 0.80
create_procedureFunction · 0.80
primary_row_ownerFunction · 0.80

Calls 4

procedure_keyFunction · 0.85
catalog_errFunction · 0.70
getMethod · 0.45
as_strMethod · 0.45

Tested by 3

has_procedureMethod · 0.64
procedure_descriptorMethod · 0.64
put_and_getFunction · 0.64