mirror of
https://github.com/isar/rusqlite.git
synced 2025-09-16 04:32:19 +08:00
Make column_name
returns a Result
This commit is contained in:
24
src/row.rs
24
src/row.rs
@@ -223,21 +223,27 @@ impl<'stmt> Row<'stmt> {
|
||||
let idx = idx.idx(self.stmt)?;
|
||||
let value = self.stmt.value_ref(idx);
|
||||
FromSql::column_result(value).map_err(|err| match err {
|
||||
FromSqlError::InvalidType => {
|
||||
Error::InvalidColumnType(idx, self.stmt.column_name(idx).unwrap().into(), value.data_type())
|
||||
}
|
||||
FromSqlError::InvalidType => Error::InvalidColumnType(
|
||||
idx,
|
||||
self.stmt.column_name_unwrap(idx).into(),
|
||||
value.data_type(),
|
||||
),
|
||||
FromSqlError::OutOfRange(i) => Error::IntegralValueOutOfRange(idx, i),
|
||||
FromSqlError::Other(err) => {
|
||||
Error::FromSqlConversionFailure(idx as usize, value.data_type(), err)
|
||||
}
|
||||
#[cfg(feature = "i128_blob")]
|
||||
FromSqlError::InvalidI128Size(_) => {
|
||||
Error::InvalidColumnType(idx, self.stmt.column_name(idx).unwrap().into(), value.data_type())
|
||||
}
|
||||
FromSqlError::InvalidI128Size(_) => Error::InvalidColumnType(
|
||||
idx,
|
||||
self.stmt.column_name_unwrap(idx).into(),
|
||||
value.data_type(),
|
||||
),
|
||||
#[cfg(feature = "uuid")]
|
||||
FromSqlError::InvalidUuidSize(_) => {
|
||||
Error::InvalidColumnType(idx, self.stmt.column_name(idx).unwrap().into(), value.data_type())
|
||||
}
|
||||
FromSqlError::InvalidUuidSize(_) => Error::InvalidColumnType(
|
||||
idx,
|
||||
self.stmt.column_name_unwrap(idx).into(),
|
||||
value.data_type(),
|
||||
),
|
||||
})
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user