Skip to content

Commit 101a2f8

Browse files
committed
db-sync: Fix (again) foreign key exception on pool offline data
This was supposed to be fixed in d658f38 but probably due to a git merge error, the new functions that were supposed to fix this issue were added but not used. The fix is to use the checked versions of the functions and completely remove the unchecked functions so they cannot be called by accident. Closes: #858
1 parent 73d86fc commit 101a2f8

File tree

2 files changed

+4
-12
lines changed

2 files changed

+4
-12
lines changed

cardano-db-sync/src/Cardano/DbSync/Era/Shelley/Offline.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ insertOfflineResults trce resultQueue = do
8383
insert :: (MonadBaseControl IO m, MonadIO m) => FetchResult -> ReaderT SqlBackend m ()
8484
insert fr =
8585
case fr of
86-
ResultMetadata md -> void $ DB.insertPoolOfflineData md
87-
ResultError fe -> void $ DB.insertPoolOfflineFetchError fe
86+
ResultMetadata md -> void $ DB.insertCheckPoolOfflineData md
87+
ResultError fe -> void $ DB.insertCheckPoolOfflineFetchError fe
8888

8989
isFetchError :: FetchResult -> Bool
9090
isFetchError fe =

cardano-db/src/Cardano/Db/Insert.hs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ module Cardano.Db.Insert
2424
, insertPotTransfer
2525
, insertPoolHash
2626
, insertPoolMetadataRef
27-
, insertPoolOfflineData
28-
, insertPoolOfflineFetchError
2927
, insertPoolOwner
3028
, insertPoolRelay
3129
, insertPoolRetire
@@ -154,12 +152,6 @@ insertPoolHash = insertCheckUnique "PoolHash"
154152
insertPoolMetadataRef :: (MonadBaseControl IO m, MonadIO m) => PoolMetadataRef -> ReaderT SqlBackend m PoolMetadataRefId
155153
insertPoolMetadataRef = insertCheckUnique "PoolMetadataRef"
156154

157-
insertPoolOfflineData :: (MonadBaseControl IO m, MonadIO m) => PoolOfflineData -> ReaderT SqlBackend m PoolOfflineDataId
158-
insertPoolOfflineData = insertCheckUnique "PoolOfflineData"
159-
160-
insertPoolOfflineFetchError :: (MonadBaseControl IO m, MonadIO m) => PoolOfflineFetchError -> ReaderT SqlBackend m PoolOfflineFetchErrorId
161-
insertPoolOfflineFetchError = insertCheckUnique "PoolOfflineFetchError"
162-
163155
insertPoolOwner :: (MonadBaseControl IO m, MonadIO m) => PoolOwner -> ReaderT SqlBackend m PoolOwnerId
164156
insertPoolOwner = insertCheckUnique "PoolOwner"
165157

@@ -218,13 +210,13 @@ insertCheckPoolOfflineData :: (MonadBaseControl IO m, MonadIO m) => PoolOfflineD
218210
insertCheckPoolOfflineData pod = do
219211
foundPool <- existsPoolHashId (poolOfflineDataPoolId pod)
220212
foundMeta <- existsPoolMetadataRefId (poolOfflineDataPmrId pod)
221-
when (foundPool && foundMeta) $ void $ insertPoolOfflineData pod
213+
when (foundPool && foundMeta) . void $ insertCheckUnique "PoolOfflineData" pod
222214

223215
insertCheckPoolOfflineFetchError :: (MonadBaseControl IO m, MonadIO m) => PoolOfflineFetchError -> ReaderT SqlBackend m ()
224216
insertCheckPoolOfflineFetchError pofe = do
225217
foundPool <- existsPoolHashId (poolOfflineFetchErrorPoolId pofe)
226218
foundMeta <- existsPoolMetadataRefId (poolOfflineFetchErrorPmrId pofe)
227-
when (foundPool && foundMeta) $ void $ insertPoolOfflineFetchError pofe
219+
when (foundPool && foundMeta) . void $ insertCheckUnique "PoolOfflineFetchError" pofe
228220

229221
-- -----------------------------------------------------------------------------
230222

0 commit comments

Comments
 (0)