Get a single function by tenant_id + name.
(
&self,
tenant_id: u64,
name: &str,
)
| 31 | |
| 32 | /// Get a single function by tenant_id + name. |
| 33 | pub fn get_function( |
| 34 | &self, |
| 35 | tenant_id: u64, |
| 36 | name: &str, |
| 37 | ) -> crate::Result<Option<StoredFunction>> { |
| 38 | let key = function_key(tenant_id, name); |
| 39 | let read_txn = self |
| 40 | .db |
| 41 | .begin_read() |
| 42 | .map_err(|e| catalog_err("read txn", e))?; |
| 43 | let table = read_txn |
| 44 | .open_table(FUNCTIONS) |
| 45 | .map_err(|e| catalog_err("open functions", e))?; |
| 46 | match table.get(key.as_str()) { |
| 47 | Ok(Some(value)) => { |
| 48 | let func: StoredFunction = zerompk::from_msgpack(value.value()) |
| 49 | .map_err(|e| catalog_err("deser function", e))?; |
| 50 | Ok(Some(func)) |
| 51 | } |
| 52 | Ok(None) => Ok(None), |
| 53 | Err(e) => Err(catalog_err("get function", e)), |
| 54 | } |
| 55 | } |
| 56 | |
| 57 | /// Delete a function by tenant_id + name. |
| 58 | /// |