diff --git a/pkg/transformers/frob/repository.go b/pkg/transformers/frob/repository.go index bf6d4d08..a45b895d 100644 --- a/pkg/transformers/frob/repository.go +++ b/pkg/transformers/frob/repository.go @@ -16,6 +16,7 @@ package frob import ( "fmt" + "log" "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared" @@ -27,29 +28,38 @@ type FrobRepository struct { } func (repository FrobRepository) Create(headerID int64, models []interface{}) error { - tx, err := repository.db.Begin() - if err != nil { - return err + tx, dBaseErr := repository.db.Begin() + if dBaseErr != nil { + return dBaseErr } for _, model := range models { frobModel, ok := model.(FrobModel) if !ok { - tx.Rollback() + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } return fmt.Errorf("model of type %T, not %T", model, FrobModel{}) } - _, err = tx.Exec(`INSERT INTO maker.frob (header_id, art, dart, dink, iart, ilk, ink, urn, raw_log, log_idx, tx_idx) + _, execErr := tx.Exec(`INSERT INTO maker.frob (header_id, art, dart, dink, iart, ilk, ink, urn, raw_log, log_idx, tx_idx) VALUES($1, $2::NUMERIC, $3::NUMERIC, $4::NUMERIC, $5::NUMERIC, $6, $7::NUMERIC, $8, $9, $10, $11)`, headerID, frobModel.Art, frobModel.Dart, frobModel.Dink, frobModel.IArt, frobModel.Ilk, frobModel.Ink, frobModel.Urn, frobModel.Raw, frobModel.LogIndex, frobModel.TransactionIndex) - if err != nil { - tx.Rollback() - return err + if execErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return execErr } } - err = shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.FrobChecked) - if err != nil { - tx.Rollback() - return err + checkHeaderErr := shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.FrobChecked) + if checkHeaderErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return checkHeaderErr } return tx.Commit() } diff --git a/pkg/transformers/pit_file/debt_ceiling/repository.go b/pkg/transformers/pit_file/debt_ceiling/repository.go index 12f69fb2..0cbf5857 100644 --- a/pkg/transformers/pit_file/debt_ceiling/repository.go +++ b/pkg/transformers/pit_file/debt_ceiling/repository.go @@ -19,6 +19,7 @@ import ( "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared/constants" + "log" ) type PitFileDebtCeilingRepository struct { @@ -26,34 +27,43 @@ type PitFileDebtCeilingRepository struct { } func (repository PitFileDebtCeilingRepository) Create(headerID int64, models []interface{}) error { - tx, err := repository.db.Begin() - if err != nil { - return err + tx, dBaseErr := repository.db.Begin() + if dBaseErr != nil { + return dBaseErr } for _, model := range models { pitFileDC, ok := model.(PitFileDebtCeilingModel) if !ok { - tx.Rollback() + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } return fmt.Errorf("model of type %T, not %T", model, PitFileDebtCeilingModel{}) } - _, err = tx.Exec( + _, execErr := tx.Exec( `INSERT into maker.pit_file_debt_ceiling (header_id, what, data, log_idx, tx_idx, raw_log) VALUES($1, $2, $3::NUMERIC, $4, $5, $6)`, headerID, pitFileDC.What, pitFileDC.Data, pitFileDC.LogIndex, pitFileDC.TransactionIndex, pitFileDC.Raw, ) - if err != nil { - tx.Rollback() - return err + if execErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return execErr } } - err = shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PitFileDebtCeilingChecked) - if err != nil { - tx.Rollback() - return err + checkHeaderErr := shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PitFileDebtCeilingChecked) + if checkHeaderErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return checkHeaderErr } return tx.Commit() diff --git a/pkg/transformers/pit_file/ilk/repository.go b/pkg/transformers/pit_file/ilk/repository.go index 9a187de7..374f1b9f 100644 --- a/pkg/transformers/pit_file/ilk/repository.go +++ b/pkg/transformers/pit_file/ilk/repository.go @@ -19,6 +19,7 @@ import ( "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared/constants" + "log" ) type PitFileIlkRepository struct { @@ -26,33 +27,42 @@ type PitFileIlkRepository struct { } func (repository PitFileIlkRepository) Create(headerID int64, models []interface{}) error { - tx, err := repository.db.Begin() - if err != nil { - return err + tx, dBaseErr := repository.db.Begin() + if dBaseErr != nil { + return dBaseErr } for _, model := range models { pitFileIlk, ok := model.(PitFileIlkModel) if !ok { - tx.Rollback() + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } return fmt.Errorf("model of type %T, not %T", model, PitFileIlkModel{}) } - _, err = tx.Exec( + _, execErr := tx.Exec( `INSERT into maker.pit_file_ilk (header_id, ilk, what, data, log_idx, tx_idx, raw_log) VALUES($1, $2, $3, $4::NUMERIC, $5, $6, $7)`, headerID, pitFileIlk.Ilk, pitFileIlk.What, pitFileIlk.Data, pitFileIlk.LogIndex, pitFileIlk.TransactionIndex, pitFileIlk.Raw, ) - if err != nil { - tx.Rollback() - return err + if execErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return execErr } } - err = shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PitFileIlkChecked) - if err != nil { - tx.Rollback() - return err + checkHeaderErr := shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PitFileIlkChecked) + if checkHeaderErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return checkHeaderErr } return tx.Commit() } diff --git a/pkg/transformers/price_feeds/repository.go b/pkg/transformers/price_feeds/repository.go index cbb9a012..0edd0508 100644 --- a/pkg/transformers/price_feeds/repository.go +++ b/pkg/transformers/price_feeds/repository.go @@ -19,6 +19,7 @@ import ( "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared/constants" + "log" ) type PriceFeedRepository struct { @@ -26,29 +27,38 @@ type PriceFeedRepository struct { } func (repository PriceFeedRepository) Create(headerID int64, models []interface{}) error { - tx, err := repository.db.Begin() - if err != nil { - return err + tx, dBaseErr := repository.db.Begin() + if dBaseErr != nil { + return dBaseErr } for _, model := range models { priceUpdate, ok := model.(PriceFeedModel) if !ok { - tx.Rollback() + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } return fmt.Errorf("model of type %T, not %T", model, PriceFeedModel{}) } - _, err = tx.Exec(`INSERT INTO maker.price_feeds (block_number, header_id, medianizer_address, usd_value, log_idx, tx_idx, raw_log) + _, execErr := tx.Exec(`INSERT INTO maker.price_feeds (block_number, header_id, medianizer_address, usd_value, log_idx, tx_idx, raw_log) VALUES ($1, $2, $3, $4::NUMERIC, $5, $6, $7)`, priceUpdate.BlockNumber, headerID, priceUpdate.MedianizerAddress, priceUpdate.UsdValue, priceUpdate.LogIndex, priceUpdate.TransactionIndex, priceUpdate.Raw) - if err != nil { - tx.Rollback() - return err + if execErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return execErr } } - err = shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PriceFeedsChecked) - if err != nil { - tx.Rollback() - return err + checkHeaderErr := shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.PriceFeedsChecked) + if checkHeaderErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return checkHeaderErr } return tx.Commit() } diff --git a/pkg/transformers/tend/repository.go b/pkg/transformers/tend/repository.go index 17620a00..6f4e4bbd 100644 --- a/pkg/transformers/tend/repository.go +++ b/pkg/transformers/tend/repository.go @@ -19,6 +19,7 @@ import ( "github.com/vulcanize/vulcanizedb/pkg/datastore/postgres" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared" "github.com/vulcanize/vulcanizedb/pkg/transformers/shared/constants" + "log" ) type TendRepository struct { @@ -26,39 +27,48 @@ type TendRepository struct { } func (repository TendRepository) Create(headerID int64, models []interface{}) error { - tx, err := repository.db.Begin() - if err != nil { - return err + tx, dBaseErr := repository.db.Begin() + if dBaseErr != nil { + return dBaseErr } - tic, err := shared.GetTicInTx(headerID, tx) - if err != nil { - return err + tic, getTicErr := shared.GetTicInTx(headerID, tx) + if getTicErr != nil { + return getTicErr } for _, model := range models { tend, ok := model.(TendModel) if !ok { - tx.Rollback() + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } return fmt.Errorf("model of type %T, not %T", model, TendModel{}) } - _, err = tx.Exec( + _, execErr := tx.Exec( `INSERT into maker.tend (header_id, bid_id, lot, bid, guy, tic, log_idx, tx_idx, raw_log) VALUES($1, $2, $3::NUMERIC, $4::NUMERIC, $5, $6, $7, $8, $9)`, headerID, tend.BidId, tend.Lot, tend.Bid, tend.Guy, tic, tend.LogIndex, tend.TransactionIndex, tend.Raw, ) - if err != nil { - tx.Rollback() - return err + if execErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return execErr } } - err = shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.TendChecked) - if err != nil { - tx.Rollback() - return err + checkHeaderErr := shared.MarkHeaderCheckedInTransaction(headerID, tx, constants.TendChecked) + if checkHeaderErr != nil { + rollbackErr := tx.Rollback() + if rollbackErr != nil { + log.Println("failed to rollback ", rollbackErr) + } + return checkHeaderErr } return tx.Commit() }