diff --git a/store/iavlstore.go b/store/iavlstore.go index a1a48722c..330358d8d 100644 --- a/store/iavlstore.go +++ b/store/iavlstore.go @@ -138,7 +138,6 @@ func (st *iavlStore) Subspace(prefix []byte) Iterator { } } } - fmt.Printf("%v \n", end) return st.Iterator(prefix, end) } @@ -242,7 +241,6 @@ func newIAVLIterator(tree *iavl.Tree, start, end []byte, ascending bool) *iavlIt quitCh: make(chan struct{}), initCh: make(chan struct{}), } - fmt.Printf("%v %v \n", iter.start, iter.end) go iter.iterateRoutine() go iter.initRoutine() return iter @@ -356,6 +354,9 @@ func (iter *iavlIterator) assertIsValid() { //---------------------------------------- func cp(bz []byte) (ret []byte) { + if bz == nil { + return nil + } ret = make([]byte, len(bz)) copy(ret, bz) return ret diff --git a/store/iavlstore_test.go b/store/iavlstore_test.go index 02b0d58bb..406d26926 100644 --- a/store/iavlstore_test.go +++ b/store/iavlstore_test.go @@ -150,6 +150,10 @@ func TestIAVLSubspace(t *testing.T) { iavlStore.Set([]byte{byte(55), byte(255), byte(255), byte(0)}, []byte("test4")) iavlStore.Set([]byte{byte(55), byte(255), byte(255), byte(1)}, []byte("test4")) iavlStore.Set([]byte{byte(55), byte(255), byte(255), byte(255)}, []byte("test4")) + iavlStore.Set([]byte{byte(255), byte(255), byte(0)}, []byte("test4")) + iavlStore.Set([]byte{byte(255), byte(255), byte(1)}, []byte("test4")) + iavlStore.Set([]byte{byte(255), byte(255), byte(255)}, []byte("test4")) + i := 0 iter := iavlStore.Subspace([]byte("test"))