reifydb_core/interface/catalog/
table.rs1use serde::{Deserialize, Serialize};
5
6use crate::{
7 interface::{ColumnDef, NamespaceId, PrimaryKeyDef, TableId},
8 value::encoded::EncodedValuesNamedLayout,
9};
10
11#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
12pub struct TableDef {
13 pub id: TableId,
14 pub namespace: NamespaceId,
15 pub name: String,
16 pub columns: Vec<ColumnDef>,
17 pub primary_key: Option<PrimaryKeyDef>,
18}
19
20impl From<&TableDef> for EncodedValuesNamedLayout {
21 fn from(value: &TableDef) -> Self {
22 value.columns.as_slice().into()
23 }
24}