reifydb_core/interface/catalog/
table.rs1use serde::{Deserialize, Serialize};
5
6use crate::{
7 common::TimeSource,
8 interface::catalog::{
9 column::Column,
10 id::{NamespaceId, TableId},
11 key::PrimaryKey,
12 },
13};
14
15#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
16pub struct Table {
17 pub id: TableId,
18 pub namespace: NamespaceId,
19 pub name: String,
20 pub columns: Vec<Column>,
21 pub primary_key: Option<PrimaryKey>,
22 pub partition_by: Vec<String>,
23 pub underlying: bool,
24 pub time: TimeSource,
25}
26
27impl Table {
28 pub fn name(&self) -> &str {
29 &self.name
30 }
31}