/// @throw isc::db::DbOperationError An operation on the open database has
/// failed.
///
- /// @note This function checks that old_cltt_ and old_valid_lft_ values of
- /// the stored lease match values of the new lease.
- /// The old_cltt_ and old_valid_lft_ are used to ensure automatic action on
- /// respective lease.
- /// @note The UPDATE query uses IF expire = ? to delete the lease only if
+ /// @note The old_cltt_ and old_valid_lft_ are used to ensure that only one
+ /// thread or process performs an update or delete operation on the lease by
+ /// matching these values with the expired data in the database.
+ /// @note The UPDATE query uses IF expire = ? to update the lease only if
/// the value matches the one received on the SELECT query, effectively
- /// forcing that no other process or thread updates the lease between SELECT
- /// and UPDATE.
+ /// enforcing no update on the lease between SELECT and UPDATE.
virtual void updateLease4(const Lease4Ptr& lease4) override;
/// @brief Updates IPv6 lease.
/// @throw isc::db::DbOperationError An operation on the open database has
/// failed.
///
- /// @note This function checks that old_cltt_ and old_valid_lft_ values of
- /// the stored lease match values of the new lease.
- /// The old_cltt_ and old_valid_lft_ are used to ensure automatic action on
- /// respective lease.
- /// @note The UPDATE query uses IF expire = ? to delete the lease only if
+ /// @note The old_cltt_ and old_valid_lft_ are used to ensure that only one
+ /// thread or process performs an update or delete operation on the lease by
+ /// matching these values with the expired data in the database.
+ /// @note The UPDATE query uses IF expire = ? to update the lease only if
/// the value matches the one received on the SELECT query, effectively
- /// forcing that no other process or thread updates the lease between SELECT
- /// and UPDATE.
+ /// enforcing no update on the lease between SELECT and UPDATE.
virtual void updateLease6(const Lease6Ptr& lease6) override;
/// @brief Deletes an IPv4 lease.
///
/// @return true if deletion was successful, false if no such lease exists.
///
- /// @note This function checks that old_cltt_ and old_valid_lft_ values of
- /// the stored lease match values of the new lease.
- /// The old_cltt_ and old_valid_lft_ are used to ensure automatic action on
- /// respective lease.
+ /// @note The old_cltt_ and old_valid_lft_ are used to ensure that only one
+ /// thread or process performs an update or delete operation on the lease by
+ /// matching these values with the expired data in the database.
/// @note The DELETE query uses IF expire = ? to delete the lease only if
/// the value matches the one received on the SELECT query, effectively
- /// forcing that no other process or thread updates the lease between SELECT
- /// and DELETE.
+ /// enforcing no update on the lease between SELECT and DELETE.
bool deleteLease(const Lease4Ptr& lease) override final;
/// @brief Deletes an IPv6 lease.
///
/// @return true if deletion was successful, false if no such lease exists.
///
- /// @note This function checks that old_cltt_ and old_valid_lft_ values of
- /// the stored lease match values of the new lease.
- /// The old_cltt_ and old_valid_lft_ are used to ensure automatic action on
- /// respective lease.
+ /// @note The old_cltt_ and old_valid_lft_ are used to ensure that only one
+ /// thread or process performs an update or delete operation on the lease by
+ /// matching these values with the expired data in the database.
/// @note The DELETE query uses IF expire = ? to delete the lease only if
/// the value matches the one received on the SELECT query, effectively
- /// forcing that no other process or thread updates the lease between SELECT
- /// and DELETE.
+ /// enforcing no update on the lease between SELECT and DELETE.
bool deleteLease(const Lease6Ptr& lease) override final;
/// @brief Deletes all expired and reclaimed DHCPv4 leases.