1use reifydb_type::value::row_number::RowNumber;
5use serde::{Deserialize, Serialize};
6
7use crate::encoded::{row::EncodedRow, shape::RowShape};
8
9#[derive(Debug, Clone)]
10pub struct Row {
11 pub number: RowNumber,
12 pub encoded: EncodedRow,
13 pub shape: RowShape,
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
17pub struct Ttl {
18 pub duration_nanos: u64,
19
20 pub anchor: TtlAnchor,
21
22 pub cleanup_mode: TtlCleanupMode,
23}
24
25#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Default)]
26pub enum TtlAnchor {
27 #[default]
28 Created,
29
30 Updated,
31}
32
33#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
34pub enum TtlCleanupMode {
35 Delete,
36
37 Drop,
38}