mirror of
https://github.com/launchbadge/sqlx
synced 2024-11-10 06:24:16 +00:00
Add Debug impl for PgRow (#2917)
This commit is contained in:
parent
439ac858d1
commit
a5d7fffc1b
1 changed files with 27 additions and 2 deletions
|
@ -4,9 +4,11 @@ use crate::message::DataRow;
|
|||
use crate::statement::PgStatementMetadata;
|
||||
use crate::value::PgValueFormat;
|
||||
use crate::{PgColumn, PgValueRef, Postgres};
|
||||
use std::sync::Arc;
|
||||
|
||||
pub(crate) use sqlx_core::row::Row;
|
||||
use sqlx_core::type_checking::TypeChecking;
|
||||
use sqlx_core::value::ValueRef;
|
||||
use std::fmt::Debug;
|
||||
use std::sync::Arc;
|
||||
|
||||
/// Implementation of [`Row`] for PostgreSQL.
|
||||
pub struct PgRow {
|
||||
|
@ -48,3 +50,26 @@ impl ColumnIndex<PgRow> for &'_ str {
|
|||
.map(|v| *v)
|
||||
}
|
||||
}
|
||||
|
||||
impl Debug for PgRow {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
write!(f, "PgRow ")?;
|
||||
|
||||
let mut debug_map = f.debug_map();
|
||||
for (index, column) in self.columns().iter().enumerate() {
|
||||
match self.try_get_raw(index) {
|
||||
Ok(value) => {
|
||||
debug_map.entry(
|
||||
&column.name,
|
||||
&Postgres::fmt_value_debug(&<PgValueRef as ValueRef>::to_owned(&value)),
|
||||
);
|
||||
}
|
||||
Err(error) => {
|
||||
debug_map.entry(&column.name, &format!("decode error: {error:?}"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
debug_map.finish()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue