Skip to main content

reifydb_core/interface/catalog/
table.rs

1// SPDX-License-Identifier: Apache-2.0
2// Copyright (c) 2026 ReifyDB
3
4use 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 time: TimeSource,
24}
25
26impl Table {
27	pub fn name(&self) -> &str {
28		&self.name
29	}
30}