OSDN Git Service

fix no table (#394)
authorwz <mars@bytom.io>
Fri, 30 Aug 2019 04:15:27 +0000 (12:15 +0800)
committerPaladz <yzhu101@uottawa.ca>
Fri, 30 Aug 2019 04:15:27 +0000 (12:15 +0800)
* fix no table

* fix update status

* fix

cmd/votereward/main.go
toolbar/vote_reward/synchron/block_keeper.go

index 8695737..275632d 100644 (file)
@@ -54,6 +54,8 @@ func runReward(cmd *cobra.Command, args []string) error {
                log.WithFields(log.Fields{"module": logModule, "error": err}).Fatal("Failded to initialize mysql db.")
        }
 
+       db.LogMode(true)
+
        sync, err := synchron.NewChainKeeper(db, config, rewardEndHeight)
        if err != nil {
                log.WithFields(log.Fields{"module": logModule, "error": err}).Fatal("Failded to initialize NewChainKeeper.")
index 9903480..368cb44 100644 (file)
@@ -84,7 +84,12 @@ func (c *ChainKeeper) syncChainStatus(db *gorm.DB, chainStatus *orm.ChainStatus)
                return err
        }
 
-       return c.DetachBlock(db, chainStatus, currentBlock)
+       preBlock, err := c.node.GetBlockByHash(currentBlock.PreviousBlockHash.String())
+       if err != nil {
+               return err
+       }
+
+       return c.DetachBlock(db, chainStatus, preBlock)
 }
 
 func (c *ChainKeeper) AttachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, block *types.Block) error {
@@ -131,11 +136,11 @@ func (c *ChainKeeper) AttachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, blo
 }
 
 func (c *ChainKeeper) DetachBlock(db *gorm.DB, chainStatus *orm.ChainStatus, block *types.Block) error {
-       if err := db.Where(&orm.Utxo{VoteHeight: block.Height}).Delete(&orm.Utxo{}).Error; err != nil {
+       if err := db.Where(&orm.Utxo{VoteHeight: chainStatus.BlockHeight}).Delete(&orm.Utxo{}).Error; err != nil {
                return err
        }
 
-       if err := db.Where(&orm.Utxo{VetoHeight: block.Height}).Update("veto_height", 0).Error; err != nil {
+       if err := db.Model(&orm.Utxo{}).Where(&orm.Utxo{VetoHeight: chainStatus.BlockHeight}).Update("veto_height", 0).Error; err != nil {
                return err
        }