ComposeFieldKey compose field key $Namespace$FieldName$FieldValueSeparatorKeyValueFieldLength[2]
(keyBytes []byte, fieldName string, fieldValueBytes []byte)
| 130 | // ComposeFieldKey compose field key |
| 131 | // $Namespace$FieldName$FieldValueSeparatorKeyValueFieldLength[2] |
| 132 | func (this *Table[T]) ComposeFieldKey(keyBytes []byte, fieldName string, fieldValueBytes []byte) []byte { |
| 133 | // TODO use 'make()' and 'copy()' to pre-alloc memory space |
| 134 | var b = make([]byte, 2) |
| 135 | binary.BigEndian.PutUint16(b, uint16(len(fieldValueBytes))) |
| 136 | var fieldKey = append(this.FieldKey(fieldName), '$') // namespace |
| 137 | fieldKey = append(fieldKey, fieldValueBytes...) // field value |
| 138 | fieldKey = append(fieldKey, 0, 0) // separator |
| 139 | fieldKey = append(fieldKey, keyBytes...) // key value |
| 140 | fieldKey = append(fieldKey, b...) // field value length |
| 141 | return fieldKey |
| 142 | } |
| 143 | |
| 144 | func (this *Table[T]) Exist(key string) (found bool, err error) { |
| 145 | if this.isClosed { |