Skip to content

Commit

Permalink
Bump version, return CheckIndexes errs
Browse files Browse the repository at this point in the history
  • Loading branch information
tuxcanfly committed May 14, 2015
1 parent b2fff77 commit 5fc2e8f
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions waddrmgr/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import (

const (
// LatestMgrVersion is the most recent manager version.
LatestMgrVersion = 4
LatestMgrVersion = 5
)

var (
Expand Down Expand Up @@ -1995,29 +1995,26 @@ func upgradeToVersion5(namespace walletdb.Namespace) error {
// and name indexes and rebuils them, if required, to make sure that the
// indexes are consistent
func CheckIndexes(namespace walletdb.Namespace) error {
err := namespace.Update(func(tx walletdb.Tx) error {
return namespace.Update(func(tx walletdb.Tx) error {
bucket := tx.RootBucket().Bucket(acctBucketName)

bucket.ForEach(func(k, v []byte) error {
return bucket.ForEach(func(k, v []byte) error {
account := binary.LittleEndian.Uint32(k)
if v == nil {
fmt.Printf("account #%d: missing account data", account)
return nil
}

row, err := deserializeAccountRow(k, v)
if err != nil {
fmt.Printf("account #%d: %v\n", account, err.Error())
return nil
return err
}

switch row.acctType {
case actBIP0044:
// Fetch the name from the account row
acctInfo, err := deserializeBIP0044AccountRow(k, row)
if err != nil {
fmt.Printf("account #%d: %v\n", account, err.Error())
return nil
return err
}
name := acctInfo.name

Expand All @@ -2026,8 +2023,7 @@ func CheckIndexes(namespace walletdb.Namespace) error {
oldName, _ := fetchAccountName(tx, account)
if oldName != name {
if err := putAccountIDIndex(tx, account, name); err != nil {
fmt.Printf("account #%d: %v\n", account, err.Error())
return nil
return err
}
fmt.Printf("account #%d: fixed invalid id index - "+
"'%s' -> '%s'\n", account, oldName, name)
Expand All @@ -2036,16 +2032,13 @@ func CheckIndexes(namespace walletdb.Namespace) error {
oldAccount, _ := fetchAccountByName(tx, name)
if oldAccount != account {
if err := putAccountNameIndex(tx, account, name); err != nil {
fmt.Printf("account #%d: %v\n", account, err.Error())
return nil
return err
}
fmt.Printf("account '%s': fixed invalid name index - "+
"#%d -> #%d\n", name, oldAccount, account)
}
}
return nil
})
return nil
})
return err
}

0 comments on commit 5fc2e8f

Please sign in to comment.