@@ -51,7 +51,7 @@ func (p *PostgresStorage) GetForkIDs(ctx context.Context, dbTx pgx.Tx) ([]state.
5151}
5252
5353// UpdateForkID updates the forkID stored in db
54- func (p * PostgresStorage ) UpdateForkID (ctx context.Context , forkID state.ForkIDInterval , dbTx pgx.Tx ) error {
54+ func (p * PostgresStorage ) UpdateForkIDToBatchNumber (ctx context.Context , forkID state.ForkIDInterval , dbTx pgx.Tx ) error {
5555 const updateForkIDSQL = "UPDATE state.fork_id SET to_batch_num = $1 WHERE fork_id = $2"
5656 e := p .getExecQuerier (dbTx )
5757 if _ , err := e .Exec (ctx , updateForkIDSQL , forkID .ToBatchNumber , forkID .ForkId ); err != nil {
@@ -60,6 +60,25 @@ func (p *PostgresStorage) UpdateForkID(ctx context.Context, forkID state.ForkIDI
6060 return nil
6161}
6262
63+ // UpdateForkID updates the forkID stored in db
64+ func (p * PostgresStorage ) UpdateForkIDBlockNumber (ctx context.Context , forkdID uint64 , newBlockNumber uint64 , updateMemCache bool , dbTx pgx.Tx ) error {
65+ const sql = "UPDATE state.fork_id SET block_num = $1 WHERE fork_id = $2"
66+ e := p .getExecQuerier (dbTx )
67+ if _ , err := e .Exec (ctx , sql , forkdID , newBlockNumber ); err != nil {
68+ return err
69+ }
70+ if updateMemCache {
71+ log .Debugf ("Updating forkID %d in memory" , forkdID )
72+ forkIDs , err := p .GetForkIDs (ctx , dbTx )
73+ if err != nil {
74+ log .Error ("error getting oldForkIDs. Error: " , err )
75+ return err
76+ }
77+ p .UpdateForkIDIntervalsInMemory (forkIDs )
78+ }
79+ return nil
80+ }
81+
6382// UpdateForkIDIntervalsInMemory updates the forkID intervals in memory
6483func (p * PostgresStorage ) UpdateForkIDIntervalsInMemory (intervals []state.ForkIDInterval ) {
6584 log .Infof ("Updating forkIDs. Setting %d forkIDs" , len (intervals ))
@@ -88,7 +107,7 @@ func (p *PostgresStorage) AddForkIDInterval(ctx context.Context, newForkID state
88107 return err
89108 }
90109 forkIDs [len (forkIDs )- 1 ].ToBatchNumber = newForkID .FromBatchNumber - 1
91- err := p .UpdateForkID (ctx , forkIDs [len (forkIDs )- 1 ], dbTx )
110+ err := p .UpdateForkIDToBatchNumber (ctx , forkIDs [len (forkIDs )- 1 ], dbTx )
92111 if err != nil {
93112 log .Errorf ("error updating forkID: %d. Error: %v" , forkIDs [len (forkIDs )- 1 ].ForkId , err )
94113 return err
0 commit comments