pub struct HeatingStatsDataTransfer;Expand description
Implements the HeatingStatsDataTransferTrait for transferring heating statistics to the SQL database.
This struct serves as the concrete component for persisting daily heating statistics into the configured SQL database.
Trait Implementations§
Source§impl HeatingStatsDataTransferTrait for HeatingStatsDataTransfer
impl HeatingStatsDataTransferTrait for HeatingStatsDataTransfer
Source§fn transfer_heating_stats(
&mut self,
heating_stats_entry: HeatingStatsEntry,
sql_interface_heating: &mut SqlInterfaceHeatingStats,
) -> Result<(), SqlInterfaceError>
fn transfer_heating_stats( &mut self, heating_stats_entry: HeatingStatsEntry, sql_interface_heating: &mut SqlInterfaceHeatingStats, ) -> Result<(), SqlInterfaceError>
Persists a daily heating statistics entry to the SQL database.
This implementation calls the underlying insert_heating_stats_entry method
to write the provided data. The operation is typically an “upsert” (insert or update).
§Arguments
heating_stats_entry- TheHeatingStatsEntrycontaining the complete statistics for a single day.sql_interface_heating- A mutable reference to theSqlInterfaceHeatingStatsinstance, used to perform the database write operation.
§Returns
An empty Result (Ok(())) if the data was successfully inserted or updated in the database.
§Errors
This function will return an Err variant of SqlInterfaceError if the underlying
database operation fails. This is typically SqlInterfaceError::InsertHeatingStatsEntryFailure,
which can be caused by:
- A lost or broken database connection.
- A violation of database constraints (e.g., a malformed date that violates the primary key).
- Insufficient permissions for the database user to perform
INSERTorUPDATEoperations. - A malformed SQL query, which would indicate an internal logic error.
Auto Trait Implementations§
impl Freeze for HeatingStatsDataTransfer
impl RefUnwindSafe for HeatingStatsDataTransfer
impl Send for HeatingStatsDataTransfer
impl Sync for HeatingStatsDataTransfer
impl Unpin for HeatingStatsDataTransfer
impl UnwindSafe for HeatingStatsDataTransfer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more