reifydb_core/interface/catalog/
view.rs1use serde::{Deserialize, Serialize};
5
6use crate::interface::catalog::{
7 column::ColumnDef,
8 id::{NamespaceId, ViewId},
9 key::PrimaryKeyDef,
10};
11
12#[derive(Debug, Clone, Copy, PartialEq, Serialize, Deserialize)]
13pub enum ViewKind {
14 Deferred,
15 Transactional,
16}
17
18#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
19pub struct ViewDef {
20 pub id: ViewId,
21 pub namespace: NamespaceId,
22 pub name: String,
23 pub kind: ViewKind,
24 pub columns: Vec<ColumnDef>,
25 pub primary_key: Option<PrimaryKeyDef>,
26}