mirror of
https://github.com/fluencelabs/sqlite-wasm-connector
synced 2025-04-25 08:42:14 +00:00
Let bind take self instead of &self
This commit is contained in:
parent
fefb9afb5f
commit
2720246b1a
@ -25,7 +25,7 @@ pub trait Bindable {
|
|||||||
/// Bind to a parameter.
|
/// Bind to a parameter.
|
||||||
///
|
///
|
||||||
/// The leftmost parameter has the index 1.
|
/// The leftmost parameter has the index 1.
|
||||||
fn bind(&self, &mut Statement, usize) -> Result<()>;
|
fn bind(self, &mut Statement, usize) -> Result<()>;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A type suitable for reading from a prepared statement.
|
/// A type suitable for reading from a prepared statement.
|
||||||
@ -107,8 +107,8 @@ impl<'l> Drop for Statement<'l> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Bindable for Value {
|
impl<'l> Bindable for &'l Value {
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
match self {
|
match self {
|
||||||
&Value::Binary(ref value) => (value as &[u8]).bind(statement, i),
|
&Value::Binary(ref value) => (value as &[u8]).bind(statement, i),
|
||||||
&Value::Float(value) => value.bind(statement, i),
|
&Value::Float(value) => value.bind(statement, i),
|
||||||
@ -121,7 +121,7 @@ impl Bindable for Value {
|
|||||||
|
|
||||||
impl<'l> Bindable for &'l [u8] {
|
impl<'l> Bindable for &'l [u8] {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
debug_assert!(i > 0, "the indexing starts from 1");
|
debug_assert!(i > 0, "the indexing starts from 1");
|
||||||
unsafe {
|
unsafe {
|
||||||
ok!(statement.raw.1, ffi::sqlite3_bind_blob(statement.raw.0, i as c_int,
|
ok!(statement.raw.1, ffi::sqlite3_bind_blob(statement.raw.0, i as c_int,
|
||||||
@ -134,11 +134,11 @@ impl<'l> Bindable for &'l [u8] {
|
|||||||
|
|
||||||
impl Bindable for f64 {
|
impl Bindable for f64 {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
debug_assert!(i > 0, "the indexing starts from 1");
|
debug_assert!(i > 0, "the indexing starts from 1");
|
||||||
unsafe {
|
unsafe {
|
||||||
ok!(statement.raw.1, ffi::sqlite3_bind_double(statement.raw.0, i as c_int,
|
ok!(statement.raw.1, ffi::sqlite3_bind_double(statement.raw.0, i as c_int,
|
||||||
*self as c_double));
|
self as c_double));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@ -146,11 +146,11 @@ impl Bindable for f64 {
|
|||||||
|
|
||||||
impl Bindable for i64 {
|
impl Bindable for i64 {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
debug_assert!(i > 0, "the indexing starts from 1");
|
debug_assert!(i > 0, "the indexing starts from 1");
|
||||||
unsafe {
|
unsafe {
|
||||||
ok!(statement.raw.1, ffi::sqlite3_bind_int64(statement.raw.0, i as c_int,
|
ok!(statement.raw.1, ffi::sqlite3_bind_int64(statement.raw.0, i as c_int,
|
||||||
*self as ffi::sqlite3_int64));
|
self as ffi::sqlite3_int64));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@ -158,11 +158,11 @@ impl Bindable for i64 {
|
|||||||
|
|
||||||
impl<'l> Bindable for &'l str {
|
impl<'l> Bindable for &'l str {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
debug_assert!(i > 0, "the indexing starts from 1");
|
debug_assert!(i > 0, "the indexing starts from 1");
|
||||||
unsafe {
|
unsafe {
|
||||||
ok!(statement.raw.1, ffi::sqlite3_bind_text(statement.raw.0, i as c_int,
|
ok!(statement.raw.1, ffi::sqlite3_bind_text(statement.raw.0, i as c_int,
|
||||||
str_to_cstr!(*self).into_raw(), -1,
|
str_to_cstr!(self).into_raw(), -1,
|
||||||
Some(drop_cstring)));
|
Some(drop_cstring)));
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
@ -171,7 +171,7 @@ impl<'l> Bindable for &'l str {
|
|||||||
|
|
||||||
impl Bindable for () {
|
impl Bindable for () {
|
||||||
#[inline]
|
#[inline]
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
fn bind(self, statement: &mut Statement, i: usize) -> Result<()> {
|
||||||
debug_assert!(i > 0, "the indexing starts from 1");
|
debug_assert!(i > 0, "the indexing starts from 1");
|
||||||
unsafe {
|
unsafe {
|
||||||
ok!(statement.raw.1, ffi::sqlite3_bind_null(statement.raw.0, i as c_int));
|
ok!(statement.raw.1, ffi::sqlite3_bind_null(statement.raw.0, i as c_int));
|
||||||
@ -180,12 +180,6 @@ impl Bindable for () {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'l, T: Bindable> Bindable for &'l T {
|
|
||||||
fn bind(&self, statement: &mut Statement, i: usize) -> Result<()> {
|
|
||||||
(*self).bind(statement, i)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Readable for Value {
|
impl Readable for Value {
|
||||||
fn read(statement: &Statement, i: usize) -> Result<Self> {
|
fn read(statement: &Statement, i: usize) -> Result<Self> {
|
||||||
Ok(match statement.kind(i) {
|
Ok(match statement.kind(i) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user