aboutsummaryrefslogtreecommitdiffstats
path: root/log_db/src/record.rs
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-02-21 14:25:15 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-02-21 14:28:00 +0200
commit147c589ce617c1d500c3b698321eeb71bacd74a3 (patch)
treeb5cc3041ad5043bf1228634c1cf8ca933a6c8d54 /log_db/src/record.rs
parentbea37e2834a5265035b960277ff27e5f8d74d079 (diff)
Rename Record -> Row
Diffstat (limited to 'log_db/src/record.rs')
-rw-r--r--log_db/src/record.rs81
1 files changed, 0 insertions, 81 deletions
diff --git a/log_db/src/record.rs b/log_db/src/record.rs
deleted file mode 100644
index 8108fb5..0000000
--- a/log_db/src/record.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-use super::*;
-
-#[derive(Debug, Clone)]
-pub struct Record {
- pub values: Vec<Value>,
- pub tombstone: bool,
-}
-
-impl Record {
- pub fn serialize(&self) -> Vec<u8> {
- let mut bytes = Vec::new();
-
- if self.tombstone {
- bytes.extend(&[B_TOMBSTONE]);
- } else {
- bytes.extend(&[B_LIVE]);
- }
-
- for value in &self.values {
- bytes.extend(value.serialize());
- }
- bytes
- }
-
- pub fn deserialize(bytes: &[u8]) -> Record {
- assert!(bytes.len() > 0);
-
- let mut values = Vec::new();
-
- let tombstone = bytes[0] == B_TOMBSTONE;
-
- let mut start = 1;
- while start < bytes.len() {
- let (rv, consumed) = Value::deserialize(&bytes[start..]);
- values.push(rv);
- start += consumed;
- }
- Record { values, tombstone }
- }
-
- pub fn from(values: &[Value]) -> Record {
- Record {
- values: values.to_vec(),
- tombstone: false,
- }
- }
-
- pub fn at(&self, index: usize) -> &Value {
- &self.values[index]
- }
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn test_record_serialize_deserialize() {
- let record = Record {
- values: vec![
- Value::Int(1),
- Value::String("hello".to_string()),
- Value::Bytes(vec![0, 1, 2, 3]),
- ],
- tombstone: true,
- };
-
- let serialized = record.serialize();
- let deserialized = Record::deserialize(&serialized);
- let reserialized = deserialized.serialize();
-
- assert_eq!(serialized.len(), reserialized.len());
- assert_eq!(record.values, deserialized.values);
- }
-}
-
-#[derive(Clone, Debug)]
-pub enum TxEntry {
- Upsert { record: Record },
- Delete { record: Record },
-}