#[non_exhaustive]pub enum JsonValidFlag {
Rfc8259Json = 1,
Json5 = 2,
JsonbLike = 4,
Rfc8259JsonOrJsonb = 5,
Json5OrJsonb = 6,
JsonbStrict = 8,
Rfc8259JsonOrJsonbStrict = 9,
Json5OrJsonbStrict = 10,
}Available on crate feature
sqlite only.Expand description
Flags for the json_valid function
These flags define what is meant by “well-formed” JSON when validating.
The following bits are currently defined:
0x01→ The input is text that strictly complies with canonical RFC-8259 JSON, without any extensions.0x02→ The input is text that is JSON with JSON5 extensions.0x04→ The input is a BLOB that superficially appears to be JSONB.0x08→ The input is a BLOB that strictly conforms to the internal JSONB format.
By combining bits, the following useful values can be derived:
Rfc8259Json(1) → X is RFC-8259 JSON textJson5(2) → X is JSON5 textJsonbLike(4) → X is probably JSONBRfc8259JsonOrJsonb(5) → X is RFC-8259 JSON text or JSONBJson5OrJsonb(6) → X is JSON5 text or JSONB (recommended for most use cases)JsonbStrict(8) → X is strictly conforming JSONBRfc8259JsonOrJsonbStrict(9) → X is RFC-8259 or strictly conforming JSONBJson5OrJsonbStrict(10) → X is JSON5 or strictly conforming JSONB
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Rfc8259Json = 1
X is RFC-8259 JSON text (flag = 1)
Json5 = 2
X is JSON5 text (flag = 2)
JsonbLike = 4
X is probably JSONB (flag = 4)
Rfc8259JsonOrJsonb = 5
X is RFC-8259 JSON text or JSONB (flag = 5)
Json5OrJsonb = 6
X is JSON5 text or JSONB (flag = 6, recommended for most use cases)
JsonbStrict = 8
X is strictly conforming JSONB (flag = 8)
Rfc8259JsonOrJsonbStrict = 9
X is RFC-8259 or strictly conforming JSONB (flag = 9)
Json5OrJsonbStrict = 10
X is JSON5 or strictly conforming JSONB (flag = 10)
Trait Implementations§
Source§impl<'__expr> AsExpression<JsonValidFlags> for &'__expr JsonValidFlag
impl<'__expr> AsExpression<JsonValidFlags> for &'__expr JsonValidFlag
Source§type Expression = Bound<JsonValidFlags, &'__expr JsonValidFlag>
type Expression = Bound<JsonValidFlags, &'__expr JsonValidFlag>
The expression being returned
Source§fn as_expression(self) -> <Self as AsExpression<JsonValidFlags>>::Expression
fn as_expression(self) -> <Self as AsExpression<JsonValidFlags>>::Expression
Perform the conversion
Source§impl AsExpression<JsonValidFlags> for JsonValidFlag
impl AsExpression<JsonValidFlags> for JsonValidFlag
Source§type Expression = Bound<JsonValidFlags, JsonValidFlag>
type Expression = Bound<JsonValidFlags, JsonValidFlag>
The expression being returned
Source§fn as_expression(self) -> <Self as AsExpression<JsonValidFlags>>::Expression
fn as_expression(self) -> <Self as AsExpression<JsonValidFlags>>::Expression
Perform the conversion
Source§impl<'__expr> AsExpression<Nullable<JsonValidFlags>> for &'__expr JsonValidFlag
impl<'__expr> AsExpression<Nullable<JsonValidFlags>> for &'__expr JsonValidFlag
Source§type Expression = Bound<Nullable<JsonValidFlags>, &'__expr JsonValidFlag>
type Expression = Bound<Nullable<JsonValidFlags>, &'__expr JsonValidFlag>
The expression being returned
Source§fn as_expression(
self,
) -> <Self as AsExpression<Nullable<JsonValidFlags>>>::Expression
fn as_expression( self, ) -> <Self as AsExpression<Nullable<JsonValidFlags>>>::Expression
Perform the conversion
Source§impl AsExpression<Nullable<JsonValidFlags>> for JsonValidFlag
impl AsExpression<Nullable<JsonValidFlags>> for JsonValidFlag
Source§type Expression = Bound<Nullable<JsonValidFlags>, JsonValidFlag>
type Expression = Bound<Nullable<JsonValidFlags>, JsonValidFlag>
The expression being returned
Source§fn as_expression(
self,
) -> <Self as AsExpression<Nullable<JsonValidFlags>>>::Expression
fn as_expression( self, ) -> <Self as AsExpression<Nullable<JsonValidFlags>>>::Expression
Perform the conversion
Source§impl Clone for JsonValidFlag
impl Clone for JsonValidFlag
Source§fn clone(&self) -> JsonValidFlag
fn clone(&self) -> JsonValidFlag
Returns a duplicate of the value. Read more
1.0.0 · 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 JsonValidFlag
impl Debug for JsonValidFlag
Source§impl ToSql<JsonValidFlags, Sqlite> for JsonValidFlag
impl ToSql<JsonValidFlags, Sqlite> for JsonValidFlag
Source§impl<__DB> ToSql<Nullable<JsonValidFlags>, __DB> for JsonValidFlag
impl<__DB> ToSql<Nullable<JsonValidFlags>, __DB> for JsonValidFlag
impl Copy for JsonValidFlag
Auto Trait Implementations§
impl Freeze for JsonValidFlag
impl RefUnwindSafe for JsonValidFlag
impl Send for JsonValidFlag
impl Sync for JsonValidFlag
impl Unpin for JsonValidFlag
impl UnwindSafe for JsonValidFlag
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> AggregateDistinct<Self>where
Self: DistinctDsl,
fn aggregate_distinct(self) -> AggregateDistinct<Self>where
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> AggregateAll<Self>where
Self: AllDsl,
fn aggregate_all(self) -> AggregateAll<Self>where
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
fn aggregate_filter<P>(self, f: P) -> AggregateFilter<Self, P>
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>where
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> AggregateOrder<Self, O>where
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Over<Self>where
Self: OverDsl,
fn over(self) -> Over<Self>where
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> WindowFilter<Self, P>
fn window_filter<P>(self, f: P) -> WindowFilter<Self, P>
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> PartitionBy<Self, E>where
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> PartitionBy<Self, E>where
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> WindowOrder<Self, E>where
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> WindowOrder<Self, E>where
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more