Commit Graph

23 Commits

Author SHA1 Message Date
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