Encode a composite PK from multiple values.
(values: &[&nodedb_types::value::Value])
| 188 | |
| 189 | /// Encode a composite PK from multiple values. |
| 190 | pub fn encode_composite_pk(values: &[&nodedb_types::value::Value]) -> Vec<u8> { |
| 191 | let mut key = Vec::new(); |
| 192 | for (i, val) in values.iter().enumerate() { |
| 193 | if i > 0 { |
| 194 | key.push(0xFF); // Separator between composite PK parts. |
| 195 | } |
| 196 | key.extend_from_slice(&encode_pk(val)); |
| 197 | } |
| 198 | key |
| 199 | } |
| 200 | |
| 201 | #[cfg(test)] |
| 202 | mod tests { |