diff --git a/structure/type.go b/structure/type.go index a47c079d6522c..0755919254aaa 100644 --- a/structure/type.go +++ b/structure/type.go @@ -41,21 +41,21 @@ const ( func (t *TxStructure) encodeStringDataKey(key []byte) []byte { // for codec Encode, we may add extra bytes data, so here and following encode // we will use extra length like 4 for a little optimization. - ek := make([]byte, 0, len(t.prefix)+len(key)+4) + ek := make([]byte, 0, len(t.prefix)+len(key)+24) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) return codec.EncodeUint(ek, uint64(StringData)) } func (t *TxStructure) encodeHashMetaKey(key []byte) []byte { - ek := make([]byte, 0, len(t.prefix)+len(key)+4) + ek := make([]byte, 0, len(t.prefix)+len(key)+24) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) return codec.EncodeUint(ek, uint64(HashMeta)) } func (t *TxStructure) encodeHashDataKey(key []byte, field []byte) []byte { - ek := make([]byte, 0, len(t.prefix)+len(key)+len(field)+6) + ek := make([]byte, 0, len(t.prefix)+len(key)+len(field)+30) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) ek = codec.EncodeUint(ek, uint64(HashData)) @@ -93,21 +93,21 @@ func (t *TxStructure) decodeHashDataKey(ek []byte) ([]byte, []byte, error) { } func (t *TxStructure) hashDataKeyPrefix(key []byte) []byte { - ek := make([]byte, 0, len(t.prefix)+len(key)+4) + ek := make([]byte, 0, len(t.prefix)+len(key)+24) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) return codec.EncodeUint(ek, uint64(HashData)) } func (t *TxStructure) encodeListMetaKey(key []byte) []byte { - ek := make([]byte, 0, len(t.prefix)+len(key)+4) + ek := make([]byte, 0, len(t.prefix)+len(key)+24) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) return codec.EncodeUint(ek, uint64(ListMeta)) } func (t *TxStructure) encodeListDataKey(key []byte, index int64) []byte { - ek := make([]byte, 0, len(t.prefix)+len(key)+13) + ek := make([]byte, 0, len(t.prefix)+len(key)+36) ek = append(ek, t.prefix...) ek = codec.EncodeBytes(ek, key) ek = codec.EncodeUint(ek, uint64(ListData))