Kelvin Mwinuka
a102f90bc0
Removed redeclared keyspace functions
2024-07-01 06:37:23 +08:00
Kelvin Mwinuka
2223d00d85
Implemented FLUSHDB and FLUSHALL command to clear logical databases.
2024-07-01 06:37:07 +08:00
Kelvin Mwinuka
081b4c7ae9
Disabled adjustMemory memory until a multi-database implementation is done. Updated function signatures in handler params for built-in commands and for modules. Disabled snapshots and snapshot restoration until a multi-database implementation is done.
2024-07-01 06:37:07 +08:00
Kelvin Mwinuka
182195ebc3
Added multi-database support to snapshot module
2024-07-01 06:05:46 +08:00
Kelvin Mwinuka
0bb4ce6756
Added emebedded API methods to change Protocol and logical DB. Added comments to SwapDBs and Flush methods.
2024-07-01 06:05:19 +08:00
Kelvin Mwinuka
1a8d2314cd
Implemented FLUSHDB and FLUSHALL command to clear logical databases.
2024-07-01 06:05:17 +08:00
Kelvin Clement Mwinuka
c4b42854b1
Initialise volatile key tracker on startup. Create a database if it does not exist when trying to set a value.
2024-07-01 06:05:07 +08:00
Kelvin Mwinuka
1d9ba10e46
Fixed typo in keyspace.go
2024-07-01 06:05:07 +08:00
Kelvin Mwinuka
325157ab71
Disabled adjustMemory memory until a multi-database implementation is done. Updated function signatures in handler params for built-in commands and for modules. Disabled snapshots and snapshot restoration until a multi-database implementation is done.
2024-07-01 06:05:05 +08:00
Kelvin Mwinuka
295ef9dd52
Added multi-database support in updateKeysInCache method
2024-07-01 06:04:31 +08:00
Kelvin Mwinuka
663c097be8
Added support for multiple databases on the evictKeysWithExpiredTTL function
2024-07-01 06:04:31 +08:00
Kelvin Mwinuka
d6162b23f6
Added database support for keyspace methods. Commented cache methods and standalone persistence initialisation until their implementations support databases as well.
2024-07-01 06:04:31 +08:00
Kelvin Clement Mwinuka
9745270b40
Added placeholders for adding protocol and database version in raft replication flow
2024-07-01 06:04:31 +08:00
Kelvin Clement Mwinuka
0108444d69
Replaced fmt.Println statements with log.Println.
...
Return "empty command" error from handleCommand method if an empty command is passed to the server.
Wait until connection is no longer nil in acl package tests.
2024-05-27 11:45:48 +08:00
Kelvin Clement Mwinuka
9f371caa4b
Deleted debug fmt.Println statements
2024-05-26 02:01:06 +08:00
Kelvin Clement Mwinuka
af8a002ba5
Updated list command tests to use resp connection instead of directly invoking internal method
2024-05-26 01:59:44 +08:00
Kelvin Clement Mwinuka
926a008c23
Updated generic and hash package tests to use tcp connection instead of calling the handler directly
2024-05-24 13:40:40 +08:00
Kelvin Clement Mwinuka
43361cdd42
Updated keyspace methods' signatures and made them all private. Ditched lock-per-key for a store-wide rwmutex. Updated HandlerFuncParams to match new keyspace method signatures.
2024-05-22 22:44:59 +08:00
Kelvin Clement Mwinuka
f894a531b0
Added happy path test case for data replication
2024-05-22 16:11:00 +08:00
Kelvin Clement Mwinuka
148838446b
Pop from LFU and LRU cache using heap.Pop instead of calling the Pop method of the cache directly. Implemented test for lfu cache
2024-05-06 16:57:38 +08:00
Kelvin Clement Mwinuka
281c4f27a7
Added godoc commends for embedded methods and types to extend commands. Moved constants to internal directory
2024-04-29 15:20:10 +08:00
Kelvin Clement Mwinuka
972cbe0a4f
Renamed command API methods to use CamelCase
2024-04-28 07:22:39 +08:00
Kelvin Clement Mwinuka
97f4617d86
Moved all packages from /pkg directory to the root directory. Deleted /pkg directory. Pass keyspace functions to raft package instead of an EchoVault instance. This removes dependency on the echovault pakage from the raft package.
2024-04-28 00:37:45 +08:00