Skip to main content

reifydb_core/
row.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2025 ReifyDB
3
4use 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}