reifydb_core/value/frame/
column.rs1use std::ops::Deref;
5
6use serde::{Deserialize, Serialize};
7
8use crate::value::frame::data::FrameColumnData;
9
10#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
11pub struct FrameColumn {
12 pub namespace: Option<String>,
13 pub source: Option<String>,
14 pub name: String,
15 pub data: FrameColumnData,
16}
17
18impl Deref for FrameColumn {
19 type Target = FrameColumnData;
20
21 fn deref(&self) -> &Self::Target {
22 &self.data
23 }
24}
25
26impl FrameColumn {
27 pub fn qualified_name(&self) -> String {
28 match (&self.namespace, &self.source) {
29 (Some(namespace), Some(table)) => {
30 format!("{}.{}.{}", namespace, table, self.name)
31 }
32 (None, Some(table)) => {
33 format!("{}.{}", table, self.name)
34 }
35 _ => self.name.clone(),
36 }
37 }
38}