Store a sequence definition. Key format: `"{tenant_id}:{name}"`.
(&self, seq: &StoredSequence)
| 10 | /// |
| 11 | /// Key format: `"{tenant_id}:{name}"`. |
| 12 | pub fn put_sequence(&self, seq: &StoredSequence) -> crate::Result<()> { |
| 13 | let key = sequence_key(seq.tenant_id, &seq.name); |
| 14 | let bytes = |
| 15 | zerompk::to_msgpack_vec(seq).map_err(|e| catalog_err("serialize sequence", e))?; |
| 16 | let write_txn = self |
| 17 | .db |
| 18 | .begin_write() |
| 19 | .map_err(|e| catalog_err("write txn", e))?; |
| 20 | { |
| 21 | let mut table = write_txn |
| 22 | .open_table(SEQUENCES) |
| 23 | .map_err(|e| catalog_err("open sequences", e))?; |
| 24 | table |
| 25 | .insert(key.as_str(), bytes.as_slice()) |
| 26 | .map_err(|e| catalog_err("insert sequence", e))?; |
| 27 | } |
| 28 | write_txn.commit().map_err(|e| catalog_err("commit", e)) |
| 29 | } |
| 30 | |
| 31 | /// Get a sequence definition by tenant and name. |
| 32 | pub fn get_sequence( |