Skip to main content

reifydb_core/interface/catalog/
layout.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Copyright (c) 2025 ReifyDB
3
4use super::{ringbuffer::RingBufferDef, table::TableDef, view::ViewDef};
5use crate::encoded::schema::Schema;
6
7pub trait GetSchema {
8	fn get_schema(&self) -> Schema;
9}
10
11impl GetSchema for TableDef {
12	fn get_schema(&self) -> Schema {
13		Schema::from(&self.columns)
14	}
15}
16
17impl GetSchema for ViewDef {
18	fn get_schema(&self) -> Schema {
19		Schema::from(&self.columns)
20	}
21}
22
23impl GetSchema for RingBufferDef {
24	fn get_schema(&self) -> Schema {
25		Schema::from(&self.columns)
26	}
27}