mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-10 13:01:21 +00:00
e3: ots underflow fixes (#860)
This commit is contained in:
parent
3f234f90d0
commit
040fefda7b
@ -558,35 +558,23 @@ func (it *InvertedIterator) advanceInDb() {
|
|||||||
//Asc: [from, to) AND from > to
|
//Asc: [from, to) AND from > to
|
||||||
//Desc: [from, to) AND from < to
|
//Desc: [from, to) AND from < to
|
||||||
var keyBytes [8]byte
|
var keyBytes [8]byte
|
||||||
if it.startTxNum < 0 {
|
if it.startTxNum > 0 {
|
||||||
if it.orderAscend {
|
|
||||||
_, v, err = it.cursor.First()
|
|
||||||
if err != nil {
|
|
||||||
// TODO pass error properly around
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
_, v, err = it.cursor.Last()
|
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
binary.BigEndian.PutUint64(keyBytes[:], uint64(it.startTxNum))
|
binary.BigEndian.PutUint64(keyBytes[:], uint64(it.startTxNum))
|
||||||
if v, err = it.cursor.SeekBothRange(it.key, keyBytes[:]); err != nil {
|
}
|
||||||
panic(err)
|
k, v, err = it.cursor.SeekExact(it.key)
|
||||||
|
if v, err = it.cursor.SeekBothRange(it.key, keyBytes[:]); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if v == nil {
|
||||||
|
if !it.orderAscend {
|
||||||
|
_, v, _ = it.cursor.PrevDup()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if v == nil {
|
if v == nil {
|
||||||
if !it.orderAscend {
|
it.hasNextInDb = false
|
||||||
_, v, _ = it.cursor.PrevDup()
|
return
|
||||||
if err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if v == nil {
|
|
||||||
it.hasNextInDb = false
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user