pub enum ParamsType {
    Positional(Vec<SqlType>),
    Named(HashMap<String, SqlType>),
}
Expand description

Parameters type

Variants§

§

Positional(Vec<SqlType>)

Positional parameters, using ‘?’. This is the default option.

Firebird provides direct support for this kind of parameter, which this crate makes use of.

§

Named(HashMap<String, SqlType>)

Named parameters, using the common :-prefixed :param syntax.

Support for this kind of parameter is provided by this library.

Currently only a naive regex-based approach is used, to support very basic select, insert, etc statements

CAUTION! Named parameter support is still very preliminary. Use of named parameters may currently give unexpected results. Please test your queries carefully when using this feature.

In particular, the simple regex-based parser is known to definitely to have trouble with:

  • occurences of apostrophe (') anywhere except as string literal delimiters (for example, in comments)
  • statements with closed variable bindings (which uses the :var syntax) (for example, in PSQL via EXECUTE BLOCK or EXECUTE PROCEDURE)

This crate provides a derive macro for supplying arguments via the fields of a struct and their labels.

Implementations§

source§

impl ParamsType

source

pub fn named(&self) -> bool

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V