pub struct PromoteColumn {
pub path: String,
pub type_: String,
}Expand description
One promoted jsonb path → typed Postgres column. Mirrors Python’s
chunkshop.config.PromoteColumn. The path is dot-separated; each segment
must match ^[A-Za-z_][A-Za-z0-9_]*$. The type_ must be in
ALLOWED_PROMOTE_TYPES — this is SQL-injection-prevention by allowlist:
_ensure_promote_columns interpolates the type as a literal into DDL.
Fields§
§path: String§type_: StringImplementations§
Source§impl PromoteColumn
impl PromoteColumn
Sourcepub fn column_name(&self) -> String
pub fn column_name(&self) -> String
Postgres column identifier — dots → double-underscore, lowercased.
Mirrors Python’s PromoteColumn.column_name.
Trait Implementations§
Source§impl Clone for PromoteColumn
impl Clone for PromoteColumn
Source§fn clone(&self) -> PromoteColumn
fn clone(&self) -> PromoteColumn
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PromoteColumn
impl Debug for PromoteColumn
Source§impl<'de> Deserialize<'de> for PromoteColumn
impl<'de> Deserialize<'de> for PromoteColumn
Source§fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PromoteColumn
impl RefUnwindSafe for PromoteColumn
impl Send for PromoteColumn
impl Sync for PromoteColumn
impl Unpin for PromoteColumn
impl UnsafeUnpin for PromoteColumn
impl UnwindSafe for PromoteColumn
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more