feat: add an optional query logger (using log)

This commit is contained in:
Ryan Leckey
2020-07-26 23:55:36 -07:00
parent d06de149a0
commit 7bc3133f70
8 changed files with 111 additions and 65 deletions

View File

@@ -2,6 +2,7 @@ use crate::common::StatementCache;
use crate::describe::Describe;
use crate::error::Error;
use crate::executor::{Execute, Executor};
use crate::logger::QueryLogger;
use crate::sqlite::connection::describe::describe;
use crate::sqlite::statement::{StatementHandle, VirtualStatement};
use crate::sqlite::{
@@ -71,6 +72,7 @@ impl<'c> Executor<'c> for &'c mut SqliteConnection {
E: Execute<'q, Self::Database>,
{
let sql = query.sql();
let mut logger = QueryLogger::new(sql);
let arguments = query.take_arguments();
let persistent = query.persistent() && arguments.is_some();
@@ -135,6 +137,8 @@ impl<'c> Executor<'c> for &'c mut SqliteConnection {
let v = Either::Right(row);
*last_row_values = Some(weak_values_ref);
logger.increment_rows();
r#yield!(v);
}
}