Skip to content

Commit 58147d5

Browse files
committed
db: Remove final OnDeleteCascade statements
These got reintroduced by mistake when rebasing against master. They have all be replaced with explicit delete statements.
1 parent 06f2980 commit 58147d5

File tree

4 files changed

+44
-36
lines changed

4 files changed

+44
-36
lines changed

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

+10-8
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ insertTx tracer cache network isMember blkNo epochNo slotNo blockIndex tx groupe
234234
else do
235235
-- The following operations only happen if the script passes stage 2 validation (or the tx
236236
-- has no script).
237-
!redeemers <- Map.fromList <$> mapM (insertRedeemer tracer (fst <$> groupedTxOut grouped) txId) (Generic.txRedeemer tx)
237+
!redeemers <- Map.fromList <$> mapM (insertRedeemer tracer blkNo (fst <$> groupedTxOut grouped) txId) (Generic.txRedeemer tx)
238238

239239
mapM_ (insertDatum tracer txId) (Generic.txData tx)
240240
-- Insert the transaction inputs and collateral inputs (Alonzo).
@@ -308,8 +308,8 @@ inertCollateralTxOut tracer cache blkNo (txId, _txHash) (Generic.TxOut index add
308308
, DB.collateralTxOutMultiAssetsDescr = textShow maMap
309309
, DB.collateralTxOutInlineDatumId = mDatumId
310310
, DB.collateralTxOutReferenceScriptId = mScriptId
311+
, DB.collateralTxOutBlockNo = fromIntegral $ unBlockNo blkNo
311312
}
312-
pure ()
313313
-- TODO: Is there any reason to add new tables for collateral multi-assets/multi-asset-outputs
314314
where
315315
hasScript :: Bool
@@ -346,13 +346,14 @@ insertReferenceTxIn
346346
:: (MonadBaseControl IO m, MonadIO m)
347347
=> Trace IO Text -> BlockNo -> DB.TxId -> Generic.TxIn
348348
-> ExceptT SyncNodeError (ReaderT SqlBackend m) ()
349-
insertReferenceTxIn _tracer _blkNo txInId (Generic.TxIn txId index _) = do
349+
insertReferenceTxIn _tracer blkNo txInId (Generic.TxIn txId index _) = do
350350
txOutId <- liftLookupFail "insertReferenceTxIn" $ DB.queryTxId txId
351351
void . lift . DB.insertReferenceTxIn $
352352
DB.ReferenceTxIn
353353
{ DB.referenceTxInTxInId = txInId
354354
, DB.referenceTxInTxOutId = txOutId
355355
, DB.referenceTxInTxOutIndex = fromIntegral index
356+
, DB.referenceTxInBlockNo = fromIntegral $ unBlockNo blkNo
356357
}
357358

358359
insertCertificate
@@ -740,10 +741,10 @@ insertParamProposal _tracer blkNo pp = do
740741

741742
insertRedeemer
742743
:: (MonadBaseControl IO m, MonadIO m)
743-
=> Trace IO Text -> [ExtendedTxOut] -> DB.TxId -> (Word64, Generic.TxRedeemer)
744+
=> Trace IO Text -> BlockNo -> [ExtendedTxOut] -> DB.TxId -> (Word64, Generic.TxRedeemer)
744745
-> ExceptT SyncNodeError (ReaderT SqlBackend m) (Word64, DB.RedeemerId)
745-
insertRedeemer tracer groupedOutputs txId (rix, redeemer) = do
746-
tdId <- insertRedeemerData tracer txId $ Generic.txRedeemerData redeemer
746+
insertRedeemer tracer blkNo groupedOutputs txId (rix, redeemer) = do
747+
tdId <- insertRedeemerData tracer blkNo txId $ Generic.txRedeemerData redeemer
747748
scriptHash <- findScriptHash
748749
rid <- lift . DB.insertRedeemer $
749750
DB.Redeemer
@@ -794,9 +795,9 @@ insertDatum tracer txId txd = do
794795

795796
insertRedeemerData
796797
:: (MonadBaseControl IO m, MonadIO m)
797-
=> Trace IO Text -> DB.TxId -> Generic.PlutusData
798+
=> Trace IO Text -> BlockNo -> DB.TxId -> Generic.PlutusData
798799
-> ExceptT SyncNodeError (ReaderT SqlBackend m) DB.RedeemerDataId
799-
insertRedeemerData tracer txId txd = do
800+
insertRedeemerData tracer blkNo txId txd = do
800801
mRedeemerDataId <- lift $ DB.queryRedeemerData $ Generic.txDataHash txd
801802
case mRedeemerDataId of
802803
Just redeemerDataId -> pure redeemerDataId
@@ -807,6 +808,7 @@ insertRedeemerData tracer txId txd = do
807808
, DB.redeemerDataTxId = txId
808809
, DB.redeemerDataValue = value
809810
, DB.redeemerDataBytes = Generic.txDataBytes txd
811+
, DB.redeemerDataBlockNo = fromIntegral $ unBlockNo blkNo
810812
}
811813

812814
insertTxMetadata

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

+3
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ deleteAfterBlockNo blockNo = do
4848
delete $ from (table @TxIn) >>= \ txi -> where_ (nonGenesisBlockNo $ txi ^. TxInBlockNo)
4949
delete $ from (table @TxOut) >>= \ txo -> where_ (nonGenesisBlockNo $ txo ^. TxOutBlockNo)
5050
delete $ from (table @Withdrawal) >>= \ w -> where_ (nonGenesisBlockNo $ w ^. WithdrawalBlockNo)
51+
delete $ from (table @CollateralTxOut) >>= \ cto -> where_ (nonGenesisBlockNo $ cto ^. CollateralTxOutBlockNo)
52+
delete $ from (table @ReferenceTxIn) >>= \ rti -> where_ (nonGenesisBlockNo $ rti ^. ReferenceTxInBlockNo)
53+
delete $ from (table @RedeemerData) >>= \ rd -> where_ (nonGenesisBlockNo $ rd ^. RedeemerDataBlockNo)
5154

5255
transactionCommit
5356
pure $ isNonZero count

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

+13-10
Original file line numberDiff line numberDiff line change
@@ -137,24 +137,25 @@ share
137137
stakeAddressId StakeAddressId Maybe
138138
value DbLovelace sqltype=lovelace
139139
dataHash ByteString Maybe sqltype=hash32type
140-
inlineDatumId DatumId Maybe OnDeleteCascade
141-
referenceScriptId ScriptId Maybe OnDeleteCascade
140+
inlineDatumId DatumId Maybe
141+
referenceScriptId ScriptId Maybe
142142
blockNo Int64 -- sqltype=bigint
143143
UniqueTxout txId index -- The (tx_id, index) pair must be unique.
144144

145145
CollateralTxOut
146-
txId TxId OnDeleteCascade -- This type is the primary key for the 'tx' table.
146+
txId TxId
147147
index Word64 sqltype=txindex
148148
address Text
149149
addressRaw ByteString
150150
addressHasScript Bool
151151
paymentCred ByteString Maybe sqltype=hash28type
152-
stakeAddressId StakeAddressId Maybe OnDeleteCascade
152+
stakeAddressId StakeAddressId Maybe
153153
value DbLovelace sqltype=lovelace
154154
dataHash ByteString Maybe sqltype=hash32type
155155
multiAssetsDescr Text
156-
inlineDatumId DatumId Maybe OnDeleteCascade
157-
referenceScriptId ScriptId Maybe OnDeleteCascade
156+
inlineDatumId DatumId Maybe
157+
referenceScriptId ScriptId Maybe
158+
blockNo Int64 -- sqltype=bigint
158159
UniqueColTxout txId index -- The (tx_id, index) pair must be unique.
159160

160161
TxIn
@@ -173,9 +174,10 @@ share
173174
UniqueColTxin txInId txOutId txOutIndex
174175

175176
ReferenceTxIn
176-
txInId TxId OnDeleteCascade -- The transaction where this is used as an input.
177-
txOutId TxId OnDeleteCascade -- The transaction where this was created as an output.
177+
txInId TxId -- The transaction where this is used as an input.
178+
txOutId TxId -- The transaction where this was created as an output.
178179
txOutIndex Word64 sqltype=txindex
180+
blockNo Int64 -- sqltype=bigint
179181
UniqueRefTxin txInId txOutId txOutIndex
180182

181183
-- A table containing metadata about the chain. There will probably only ever be one
@@ -409,7 +411,7 @@ share
409411
purpose ScriptPurpose sqltype=scriptpurposetype
410412
index Word64 sqltype=word31type
411413
scriptHash ByteString Maybe sqltype=hash28type
412-
redeemerDataId RedeemerDataId OnDeleteCascade
414+
redeemerDataId RedeemerDataId
413415
UniqueRedeemer txId purpose index
414416

415417
Script
@@ -430,9 +432,10 @@ share
430432

431433
RedeemerData
432434
hash ByteString sqltype=hash32type
433-
txId TxId OnDeleteCascade
435+
txId TxId
434436
value Text Maybe sqltype=jsonb
435437
bytes ByteString sqltype=bytea
438+
blockNo Int64 -- sqltype=bigint
436439
UniqueRedeemerData hash
437440

438441
ExtraKeyWitness

0 commit comments

Comments
 (0)