From 43613a0020a5fdbc636527a844bcee76f0a964ab Mon Sep 17 00:00:00 2001 From: gwenn Date: Mon, 1 Feb 2016 18:13:07 +0100 Subject: [PATCH] Moves ZeroBlob from types to blob module. --- src/blob.rs | 17 ++++++++++++++++- src/types.rs | 15 --------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/blob.rs b/src/blob.rs index e33b812..f8b1710 100644 --- a/src/blob.rs +++ b/src/blob.rs @@ -17,7 +17,7 @@ //! extern crate rusqlite; //! //! use rusqlite::{Connection, DatabaseName}; -//! use rusqlite::types::ZeroBlob; +//! use rusqlite::blob::ZeroBlob; //! use std::io::{Read, Write, Seek, SeekFrom}; //! //! fn main() { @@ -52,8 +52,10 @@ use std::io; use std::cmp::min; use std::mem; use std::ptr; +use libc::c_int; use super::ffi; +use super::types::ToSql; use {Result, Connection, DatabaseName}; /// Handle to an open BLOB. @@ -233,6 +235,19 @@ impl<'conn> Drop for Blob<'conn> { } } +/// BLOB of length N that is filled with zeroes. +/// Zeroblobs are intended to serve as placeholders for BLOBs whose content is later written using incremental BLOB I/O routines. +/// A negative value for the zeroblob results in a zero-length BLOB. +#[derive(Copy,Clone)] +pub struct ZeroBlob(pub i32); + +impl ToSql for ZeroBlob { + unsafe fn bind_parameter(&self, stmt: *mut ffi::sqlite3_stmt, col: c_int) -> c_int { + let ZeroBlob(length) = *self; + ffi::sqlite3_bind_zeroblob(stmt, col, length) + } +} + #[cfg(test)] mod test { use std::io::{BufReader, BufRead, BufWriter, Read, Write, Seek, SeekFrom}; diff --git a/src/types.rs b/src/types.rs index 3c474eb..de3d709 100644 --- a/src/types.rs +++ b/src/types.rs @@ -194,21 +194,6 @@ impl ToSql for Null { } } -/// BLOB of length N that is filled with zeroes. -/// Zeroblobs are intended to serve as placeholders for BLOBs whose content is later written using incremental BLOB I/O routines. -/// A negative value for the zeroblob results in a zero-length BLOB. -#[cfg(feature = "blob")] -#[derive(Copy,Clone)] -pub struct ZeroBlob(pub i32); - -#[cfg(feature = "blob")] -impl ToSql for ZeroBlob { - unsafe fn bind_parameter(&self, stmt: *mut sqlite3_stmt, col: c_int) -> c_int { - let ZeroBlob(length) = *self; - ffi::sqlite3_bind_zeroblob(stmt, col, length) - } -} - macro_rules! raw_from_impl( ($t:ty, $f:ident, $c:expr) => ( impl FromSql for $t {