formualizer_eval/formula_plane/
virtual_ref.rs1#[cfg(feature = "serde")]
6use serde::{Deserialize, Serialize};
7
8#[repr(transparent)]
10#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12pub struct VirtualSourceId(pub u32);
13
14#[repr(transparent)]
16#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
17#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
18pub struct VirtualRangeId(pub u32);
19
20#[derive(Clone, Debug, PartialEq, Eq, Hash)]
22#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
23pub struct VirtualSourceKey {
24 pub namespace: String,
25 pub name: String,
26}
27
28#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
30#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
31pub struct VirtualProviderVersion {
32 pub fingerprint_hi: u64,
33 pub fingerprint_lo: u64,
34}
35
36#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
38#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
39pub enum VirtualReferenceKind {
40 Scalar,
41 Range,
42 Column,
43 Table,
44 DataFrame,
45}
46
47#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
49#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
50pub enum VirtualReferenceVolatility {
51 Immutable,
52 Versioned,
53 Volatile,
54}
55
56#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
58#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
59pub enum VirtualReferenceErrorKind {
60 MissingProvider,
61 MissingReference,
62 ShapeMismatch,
63 UnsupportedCapability,
64 ProviderError,
65}