pub enum GenericValue {
Null,
Bool(bool),
Int(i64),
Decimal(Decimal),
String(String),
Array(Vec<GenericValue>),
Map(BTreeMap<String, GenericValue>),
}Variants§
Null
Bool(bool)
Int(i64)
Decimal(Decimal)
String(String)
Array(Vec<GenericValue>)
Map(BTreeMap<String, GenericValue>)
Implementations§
Source§impl GenericValue
impl GenericValue
Sourcepub fn is_bindable_scalar(&self) -> bool
pub fn is_bindable_scalar(&self) -> bool
Whether this value can stand as a single SQL parameter, key, or literal:
true for the scalar variants, false for Null and the composite
Array/Map. The one home for that rule — the Postgres source applies
it when binding params, building keys, and inlining literals. Written as
an exhaustive match so a new variant cannot be added without classifying
it here.
Trait Implementations§
Source§impl Clone for GenericValue
impl Clone for GenericValue
Source§fn clone(&self) -> GenericValue
fn clone(&self) -> GenericValue
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GenericValue
impl Debug for GenericValue
Source§impl<'de> Deserialize<'de> for GenericValue
Deserializes from the same natural shape it serializes to, by inspecting
the value’s form rather than expecting serde’s tagged-enum encoding. This
requires a self-describing format (JSON, MessagePack, …); it is what lets a
compiled config round-trip. A Decimal is written as a string by its serde
integration, so a decimal literal round-trips as a String
— a documented edge for the rare decimal constant / default.
impl<'de> Deserialize<'de> for GenericValue
Deserializes from the same natural shape it serializes to, by inspecting
the value’s form rather than expecting serde’s tagged-enum encoding. This
requires a self-describing format (JSON, MessagePack, …); it is what lets a
compiled config round-trip. A Decimal is written as a string by its serde
integration, so a decimal literal round-trips as a String
— a documented edge for the rare decimal constant / default.
Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
impl Eq for GenericValue
Source§impl Hash for GenericValue
impl Hash for GenericValue
Source§impl PartialEq for GenericValue
impl PartialEq for GenericValue
Source§fn eq(&self, other: &GenericValue) -> bool
fn eq(&self, other: &GenericValue) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for GenericValue
Serializes to the natural JSON shape — 5, "x", true, null,
[…], {…} — not serde’s externally-tagged enum form ({"Int": 5}). This
is what makes a serialized Config or IndexMapping read like the data it
describes; a value’s variant is evident from its JSON shape.
impl Serialize for GenericValue
Serializes to the natural JSON shape — 5, "x", true, null,
[…], {…} — not serde’s externally-tagged enum form ({"Int": 5}). This
is what makes a serialized Config or IndexMapping read like the data it
describes; a value’s variant is evident from its JSON shape.