[][src]Struct sqlink::PostgresBuilder

pub struct PostgresBuilder {}

examples

use sqlink::{
    PostgresBuilder,
    postgres::{format_query, op}
};
struct Person {
    id: i32,
    name: String,
    data: Option<Vec<u8>>
}

struct PersonForm {
    id: i32,
    name: String,
    data: Option<Vec<u8>>
}

// let mut conn = Client::connect("postgresql://pguser:password@localhost:54321/sqlink_postgres", NoTls).unwrap();

let person_form = PersonForm {
    id: 3,
    name: "Hello World".to_owned(),
    data: None
};
let mut sqlinsert = PostgresBuilder::insert();
let qbuiltinsert = sqlinsert
    .table("person")
    .returning("id")
    .set("id", &person_form.id)
    .set("name", &person_form.name)
    .set("data", &person_form.data)
    .build().unwrap();

// &conn.query(qbuiltinsert.query.as_str(), &qbuiltinsert.parameters)?

let mut sqlupdate = PostgresBuilder::update();
let qbuiltinsert = sqlupdate
    .table("person")
    .set("name", &("Real Hello World"))
    .and_where(
        op::eq("person.id", &3) // equivalence to format_query("person.id = {}", vec![&3]), note that 3 has to be same type as person id, which is i32/INT here
    )
    .build().unwrap();
let mut sqlselect = PostgresBuilder::select();
let qbuiltselect = sqlselect
    .select("id")
    .select(("name", "person_name"))
    .select("data")
    .table("person")
    .and_where(
        format_query("person.id = {}", vec![&3])
    )
    .build().unwrap();
let mut sqldelete = PostgresBuilder::delete();
let qbuiltdelete = sqldelete
    .table("person")
    .and_where(
        op::eq("person.id", &3)
    )
    .build().unwrap();

Methods

impl PostgresBuilder[src]

pub fn insert() -> SqlInsert<'static>[src]

pub fn select() -> SqlSelect<'static>[src]

pub fn update() -> SqlUpdate<'static>[src]

pub fn delete() -> SqlDelete<'static>[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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