add deleteMsg to agent store interface (#255)

This commit is contained in:
Efim Poberezkin
2022-01-05 16:11:52 +04:00
committed by GitHub
parent 4727e568d5
commit 19edf09ae2
2 changed files with 6 additions and 0 deletions

View File

@@ -70,6 +70,7 @@ class Monad m => MonadAgentStore s m where
getMsg :: s -> ConnId -> InternalId -> m Msg
checkRcvMsg :: s -> ConnId -> InternalId -> m ()
updateRcvMsgAck :: s -> ConnId -> InternalId -> m ()
deleteMsg :: s -> ConnId -> InternalId -> m ()
-- * Queue types

View File

@@ -514,6 +514,11 @@ instance (MonadUnliftIO m, MonadError StoreError m) => MonadAgentStore SQLiteSto
|]
(RcvMsgAcknowledged, connId, msgId)
deleteMsg :: SQLiteStore -> ConnId -> InternalId -> m ()
deleteMsg st connId msgId =
liftIO . withTransaction st $ \db ->
DB.execute db "DELETE FROM messages WHERE conn_alias = ? AND internal_id = ?;" (connId, msgId)
-- * Auxiliary helpers
instance ToField QueueStatus where toField = toField . serializeQueueStatus