pub struct ToSqlConfigEntity {
    pub enabled: bool,
    pub callback: Option<fn(_: &SqlGraphEntity, _: &PgxSql) -> Result<String, Box<dyn Error + Send + Sync + 'static>>>,
    pub content: Option<&'static str>,
}
Expand description

Represents configuration options for tuning the SQL generator.

When an item that can be rendered to SQL has these options at hand, they should be respected. If an item does not have them, then it is not expected that the SQL generation for those items can be modified.

The default configuration has enabled set to true, and callback to None, which indicates that the default SQL generation behavior will be used. These are intended to be mutually exclusive options, so callback should only be set if generation is enabled.

When enabled is false, no SQL is generated for the item being configured.

When callback has a value, the corresponding ToSql implementation should invoke the callback instead of performing their default behavior.

Fields§

§enabled: bool§callback: Option<fn(_: &SqlGraphEntity, _: &PgxSql) -> Result<String, Box<dyn Error + Send + Sync + 'static>>>§content: Option<&'static str>

Implementations§

Given a SqlGraphEntity, this function converts it to SQL based on the current configuration.

If the config overrides the default behavior (i.e. using the ToSql trait), then Some(eyre::Result) is returned. If the config does not override the default behavior, then None is returned. This can be used to dispatch SQL generation in a single line, e.g.:

config.to_sql(entity, context).unwrap_or_else(|| entity.to_sql(context))?

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more