The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [
tivk
] BREAKING The raw max batch put size dsn query parametertikv_raw_max_batch_put_size=<value>
has been removed (thetikv-client/v2
keeps it private now). - [
tivk
] BREAKING The raw batch pair count dsn query parametertikv_raw_batch_pair_count=<value>
has been removed (thetikv-client/v2
keeps it private now).
- [
tivk
] BREAKING Upgraded totikv-client/v2
version, this currently requires TiKV version 5.0.0+. - [
tivk
] BREAKING The raw max scan limit dsn query parametertikv_raw_max_scan_limit=<value>
now applies globally to all instances. This means if in the use application, multiple DSN for TiKV are provided, the last one withtikv_raw_max_scan_limit
wins.
- [
common
] CallingIterator.Err()
without ever having calledIterator.Next()
is now an error. - [
badger
] Added support for usingWithTruncate
option on Badger to delete not persisted data on starting by addingtruncate=true
param to DSN url (i.e.badger:///path?truncate=true
) - [
badger
] Added support for switching to ZSTD compression instead of Snappy by providingcompression=zstd
param to DSN url (i.e.badger:///path?compression=zstd
)
- [
tikv
] Fixedstore.BatchDelete
not deleting keys correctly, it was not prefixing the key with the table. - [
badger
] Fixed error propagation when dealing withWriteBatch
transaction, onlyErrTxnTooBig
was checked, now any error is propagated. - [
tikv
] Fixedstore.Scan
not returning more than 10561 rows. - [
tikv
] Fixed invalidstore.ErrNotFound
being thrown whenstore.WithEmptyValue
is used and the value stored is empty. - [
tikv
] Fixedstore.WithEmptyValue
support when using compression that was not compressing the "formatted" value that should have been sent to TiKV.
- [
core
] Now supporting key-only iteration forBatchPrefix
,Prefix
andScan
calls. - [
core
] BREAKING Addedoptions ...store.ReadOption
options tostore.KVStore#BatchPrefix
. - [
core
] BREAKING Addedoptions ...store.ReadOption
options tostore.KVStore#Prefix
. - [
core
] BREAKING Addedoptions ...store.ReadOption
options tostore.KVStore#Scan
. - [
badger
] Improved implementation ofPrefix
by reducing number of internal shards Badger is going to check when doing the prefix search. - [
tikv
] Improved implementation ofPrefix
andBatchPrefix
by using TiKV client raw max scan limit value to iterate. - [
tikv
] Added ability to customize TiKV client raw max scan limit usingtikv_raw_max_scan_limit=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Added ability to customize TiKV client raw max batch put size usingtikv_raw_max_batch_put_size=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Added ability to customize TiKV client raw batch pair count usingtikv_raw_batch_pair_count=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Re-implementedstore.BatchGet
using native TiKV client BatchGet. - [
tikv
] Changed batch size threshold default value to 7MiB, the idea is to reduce the chance that the batch reach this value. - [
tikv
] Added ability to customize batch time threshold by usingbatch_time_threshold=<value>
query parameter in dsn (acceptstime.Duration
string formats). - [
tikv
] Added ability to customize batch ops threshold by usingbatch_ops_threshold=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Added ability to customize batch size threshold by usingbatch_size_threshold=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Added ability to customize compression size threshold by usingcompression_size_threshold=<value>
query parameter in dsn (accepts positive numbers). - [
tikv
] Re-added support for compression to overcome issue where single element are bigger than 8MB. This is now an opt-in feature, to activate, usecompression=zstd
query parameter in dsn. - [
tikv
] Default batch size threshold is now 8MiB, which is the default max raft entry size in TiKV. - [
core
] BREAKING Renamedstore.BachOp
tostore.BatchOp
(fixed typo inBach
). - [
core
] AddedClose
method onstore.KVStore
.
- [
core
] AddedBatchPrefix
method onstore.KVStore
. It's now possible to perform multiple prefix scan on a single batch. Driver not supporting natively the functionality degrades to a sequential call to standard prefix capabilities. - [
core
] BREAKING Addedlimit
options tostore.KVStore#Prefix
. - [
core
] BREAKING Functionstore.Iterator#Next
return's type is nowstore.KV
, previously*store.KV
. - [
core
] BREAKING Functionstore.Iterator#PushItem
item
argument's type is nowstore.KV
, previously*store.KV
. - [
tikv
] Added 'OptionEmptyValueEnable' to let the driver simulate empty values by adding a little byte to every row - BREAKING Removed explicit compression (just use built-in from each db), only kept within badger for backward-compatibility
- [
core
] Reduced memory allocations when receiving items from iterators. - [
badger
] Improved performance ofScan
in presence of small limit value. - [
bigkv
] Improved performance ofBatchGet
which was sequential instead of using BigTableReadRows
call which is batched.
- [
badger
] Fixed returning proper store.NotFoundErrors on 'BatchGet'
-
The
GetTransactionEvents
family of functions that take a transaction ID prefix, NOW REQUIRE a prefix that is an even number of hex characters (as they are converted to bytes and compared on bytes). They cannot be compared on half a byte (which a single hex character represents). Sanitization must happen before calling this library, or those calls will panic. -
License changed to Apache 2.0