Add Debug bound on ToSql and log params during stmt execution

This commit is contained in:
Steven Fackler 2015-03-30 23:22:31 -07:00
parent 8c6f72d732
commit 01862817c9
3 changed files with 5 additions and 4 deletions

View File

@ -65,7 +65,7 @@ use std::borrow::{ToOwned, Cow};
use std::cell::{Cell, RefCell};
use std::collections::{VecDeque, HashMap};
use std::fmt;
use std::iter::{IntoIterator, RandomAccessIterator};
use std::iter::IntoIterator;
use std::io::{self, BufStream};
use std::io::prelude::*;
use std::mem;
@ -1353,7 +1353,7 @@ impl<'conn> Statement<'conn> {
"expected {} parameters but got {}",
self.param_types.len(),
params.len());
debug!("executing statement {}", self.name);
debug!("executing statement {} with parameters: {:?}", self.name, params);
let mut values = vec![];
for (param, ty) in params.iter().zip(self.param_types.iter()) {
let mut buf = vec![];
@ -2032,7 +2032,7 @@ impl<'a> CopyInStatement<'a> {
where I: Iterator<Item=J>, J: StreamIterator {
let mut conn = self.conn.conn.borrow_mut();
debug!("executing statement {}", self.name);
debug!("executing COPY IN statement {}", self.name);
try!(conn.write_messages(&[
Bind {
portal: "",

View File

@ -605,7 +605,7 @@ pub enum IsNull {
}
/// A trait for types that can be converted into Postgres values.
pub trait ToSql {
pub trait ToSql: fmt::Debug {
/// Converts the value of `self` into the binary format of the specified
/// Postgres `Type`, writing it to `out`.
///

View File

@ -24,6 +24,7 @@ use types::IsNull;
/// }
/// # Ok(()) }
/// ```
#[derive(Debug)]
pub struct Slice<'a, T: 'a + ToSql>(pub &'a [T]);
impl<'a, T: 'a + ToSql> ToSql for Slice<'a, T> {