pub struct DataType { /* private fields */ }Expand description
Represents a data type including metadata.
Implementations§
Source§impl DataType
impl DataType
Sourcepub fn new(
type_name: &str,
metadata: Option<Params>,
identifier: Option<String>,
) -> Self
pub fn new( type_name: &str, metadata: Option<Params>, identifier: Option<String>, ) -> Self
Creates a new DataType instance.
Sourcepub fn from_parts(
type_name: &str,
topic: &str,
metadata: Option<Params>,
) -> Self
pub fn from_parts( type_name: &str, topic: &str, metadata: Option<Params>, ) -> Self
Creates a DataType from persisted parts (type_name, topic, metadata).
Hash is recomputed from topic. Use when restoring from legacy data_type column.
Identifier is set to None.
Sourcepub fn to_persistence_json(&self) -> Result<String, Error>
pub fn to_persistence_json(&self) -> Result<String, Error>
Serializes to JSON for persistence (type_name, metadata, identifier; no topic, no hash).
§Errors
Returns a JSON serialization error if the data cannot be serialized.
Sourcepub fn from_persistence_json(s: &str) -> Result<Self, Error>
pub fn from_persistence_json(s: &str) -> Result<Self, Error>
Deserializes from JSON produced by to_persistence_json.
Accepts legacy JSON with topic (ignored); topic is rebuilt from type_name + metadata.
§Errors
Returns an error if the string is not valid JSON or missing required fields.
Sourcepub fn metadata_str(&self) -> String
pub fn metadata_str(&self) -> String
Returns a string representation of the metadata.
Sourcepub fn metadata_string_map(&self) -> Option<HashMap<String, String>>
pub fn metadata_string_map(&self) -> Option<HashMap<String, String>>
Returns metadata as a string-only map (e.g. for Arrow schema metadata).
Sourcepub fn precomputed_hash(&self) -> u64
pub fn precomputed_hash(&self) -> u64
Returns the precomputed hash for this data type.
Sourcepub fn identifier(&self) -> Option<&str>
pub fn identifier(&self) -> Option<&str>
Returns the optional catalog path identifier (can contain subdirs, e.g. "venue//symbol").
Sourcepub fn instrument_id(&self) -> Option<InstrumentId>
pub fn instrument_id(&self) -> Option<InstrumentId>
Returns an Option<InstrumentId> parsed from the metadata.
§Panics
This function panics if:
- The
instrument_idvalue contained in the metadata is invalid.
Sourcepub fn venue(&self) -> Option<Venue>
pub fn venue(&self) -> Option<Venue>
Returns an Option<Venue> parsed from the metadata.
§Panics
This function panics if:
- The
venuevalue contained in the metadata is invalid.
Sourcepub fn start(&self) -> Option<UnixNanos>
pub fn start(&self) -> Option<UnixNanos>
Returns an Option<UnixNanos> parsed from the metadata start field.
§Panics
This function panics if:
- The
startvalue contained in the metadata is invalid.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for DataType
impl<'de> Deserialize<'de> for DataType
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for DataType
Source§impl Ord for DataType
impl Ord for DataType
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Auto Trait Implementations§
impl Freeze for DataType
impl RefUnwindSafe for DataType
impl Send for DataType
impl Sync for DataType
impl Unpin for DataType
impl UnsafeUnpin for DataType
impl UnwindSafe for DataType
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.