cornucopia-rs / cornucopia

Generate type-checked Rust from your PostgreSQL.
Other
755 stars 31 forks source link

Add example for null value on INSERT #233

Open erikschul opened 5 months ago

erikschul commented 5 months ago

Given the SQL

--! insert (a, b?)
INSERT INTO mytable (a,b)
VALUES (:a,:b);

Given the error

type annotations needed
cannot satisfy `_: cornucopia_async::StringSql`
the following types implement trait `cornucopia_async::StringSql`:
  std::boxed::Box<str>
  std::borrow::Cow<'_, str>
  std::string::String
  &T
  &str

It would be useful with an example of inserting a null value, using &None::<&str>, since &None and &None::<String> doesn't work.

cornucopia::queries::q::insert()
        .bind(&client, &"a", &None::<&str>)
        .await
        .unwrap();