Skip to content

Instantly share code, notes, and snippets.

@jimmycuadra
Created February 20, 2016 03:49
Show Gist options
  • Select an option

  • Save jimmycuadra/fca9013f39e49f8e1c3a to your computer and use it in GitHub Desktop.

Select an option

Save jimmycuadra/fca9013f39e49f8e1c3a to your computer and use it in GitHub Desktop.
$ cargo build
Compiling ruma v0.1.0 (file:///Users/jimmy/Code/ruma)
src/user.rs:39:41: 39:51 error: no method named `get_result` found for type `diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser>` in the current scope
src/user.rs:39 insert(new_user).into(users::table).get_result(connection).map_err(APIError::from)
^~~~~~~~~~
src/user.rs:39:41: 39:51 note: the method `get_result` exists but the following trait bounds were not satisfied: `diesel::query_builder::insert_statement::InsertQuery<(schema::users::columns::id, schema::users::columns::password_hash, schema::users::columns::created_at, schema::users::columns::updated_at), diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser>> : diesel::query_builder::QueryFragment<_>`, `&diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::AsQuery`, `_ : diesel::query_builder::QueryFragment<_>`, `&diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `&diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `&mut diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::AsQuery`, `_ : diesel::query_builder::QueryFragment<_>`, `&mut diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `&mut diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`, `&mut diesel::query_builder::insert_statement::InsertStatement<schema::users::table, &user::NewUser> : diesel::query_builder::Query`
error: aborting due to previous error
Could not compile `ruma`.
To learn more, run the command again with --verbose.
use diesel::{LoadDsl, insert};
use diesel::pg::PgConnection;
use diesel::pg::data_types::PgTimestamp;
use error::APIError;
use schema::users;
#[derive(Queryable)]
pub struct User {
pub id: String,
pub password_hash: String,
pub created_at: PgTimestamp,
pub updated_at: PgTimestamp,
}
#[insertable_into(users)]
pub struct NewUser {
pub id: String,
pub password_hash: String,
}
pub fn insert_user<'a>(
connection: &'a PgConnection,
new_user: &'a NewUser,
) -> Result<User, APIError> {
insert(new_user).into(users::table).get_result(connection).map_err(APIError::from)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment