Roman Gershman
b2953293cd
Simplify cursor encoding and state clearly cursor valid range
2022-02-24 14:11:51 +02:00
Roman Gershman
ec91b2c026
Add mimalloc as the default allocator for redis structures
2022-02-24 14:11:51 +02:00
Roman Gershman
ce46ba7cb1
Introduce snapshot isolation using versioned buckets
2022-02-24 14:11:51 +02:00
Roman Gershman
8d19a6211d
Introduce versioned bucket support for MVCC operations
2022-02-24 14:11:51 +02:00
Roman Gershman
069ed12c68
Introduce a naive snapshot flow and implement SaveBody for string/list entries
2022-02-24 14:11:51 +02:00
Roman Gershman
7a839b6081
Fix size() bug in dashtable
...
add more stats to info command
fix warnings in -O3 mode.
2022-02-24 14:11:51 +02:00
Roman Gershman
f4cfce143c
Switch PrimeTable to DashTable
2022-02-24 14:11:51 +02:00
Roman Gershman
d086341996
Add HashCode support to CompactObject
2022-02-24 14:11:51 +02:00
Roman Gershman
c46e624e70
Model dashtable iterator as close as possible to std iterator
2022-02-24 14:11:51 +02:00
Roman Gershman
ff9e13c1c5
Add dash table
2022-02-24 14:11:51 +02:00
Roman Gershman
fac4bf0354
Add INCR/DECR commands
2022-02-24 14:11:50 +02:00
Roman Gershman
5715b8ebbb
Use compact object as our MainValue type
2022-02-24 14:11:50 +02:00
Roman Gershman
aa2136a406
Add CompactObject that will represent all the possible dragonfly types
...
Specifically, it act as union for int,string, set, zset and other types
that exist in Redis API. In order to be more memory friendly, CompactObject
incorporates inline storage that will be used for SSO.
2022-02-24 14:11:43 +02:00
Roman Gershman
0cf2f57bf2
Fix expiry bug in AddOrFind function
...
Also add more test coverage.
Fix a bug where iterators might get invalidated between Renamer hops.
Initial work on BLPOP transaction.
2022-01-12 08:48:41 +02:00
Roman Gershman
e7071b73b1
Refactor server commands into server_family.
...
Introduce FlushDb. Minor cleanups and renamings.
2022-01-08 11:07:31 +02:00
Roman Gershman
29cdcb96ec
Add generic_family_test. Minor cleanups
2022-01-04 15:11:37 +02:00
Roman Gershman
d64b4e01ea
Implement basic list operations
...
Fix redis linker dependencies. Bring more redis (BSD-3) code.
Fix bugs related to multi-database redis.
Introduce multiple types for redis values.
2022-01-02 10:40:16 +02:00
Roman Gershman
7fe07f8e4f
Introduce TxQueue and IntentLock for VLL algo
2021-12-20 22:46:51 +02:00