Introduce new error to indicate that block is not found vs db error.

ok @davecgh
This commit is contained in:
Dale Rahn 2014-07-17 10:48:03 -04:00 committed by Josh Rickmar
parent d9ee066af6
commit f373ba3583
2 changed files with 10 additions and 6 deletions

11
db.go
View file

@ -13,11 +13,12 @@ import (
// Errors that the various database functions may return. // Errors that the various database functions may return.
var ( var (
PrevShaMissing = errors.New("Previous sha missing from database") PrevShaMissing = errors.New("Previous sha missing from database")
TxShaMissing = errors.New("Requested transaction does not exist") TxShaMissing = errors.New("Requested transaction does not exist")
DuplicateSha = errors.New("Duplicate insert attempted") BlockShaMissing = errors.New("Requested block does not exist")
DbDoesNotExist = errors.New("Non-existent database") DuplicateSha = errors.New("Duplicate insert attempted")
DbUnknownType = errors.New("Non-existent database type") DbDoesNotExist = errors.New("Non-existent database")
DbUnknownType = errors.New("Non-existent database type")
) )
// AllShas is a special value that can be used as the final sha when requesting // AllShas is a special value that can be used as the final sha when requesting

View file

@ -76,6 +76,9 @@ func (db *LevelDb) getBlkLoc(sha *btcwire.ShaHash) (int64, error) {
data, err := db.lDb.Get(key, db.ro) data, err := db.lDb.Get(key, db.ro)
if err != nil { if err != nil {
if err == leveldb.ErrNotFound {
err = btcdb.BlockShaMissing
}
return 0, err return 0, err
} }
@ -203,7 +206,7 @@ func (db *LevelDb) blkExistsSha(sha *btcwire.ShaHash) (bool, error) {
switch err { switch err {
case nil: case nil:
return true, nil return true, nil
case leveldb.ErrNotFound: case leveldb.ErrNotFound, btcdb.BlockShaMissing:
return false, nil return false, nil
} }
return false, err return false, err