Commit Graph

161 Commits

Author SHA1 Message Date
osteensco
3b15061dbc improved docker test environment (#153)
* Test environment enhancement - @osteensco
2024-11-26 20:20:01 +08:00
osteensco
992a3a882b Add commands HEXPIRE and HTTL (#148)
* Implemented HEXPIRE and HTTL commands - @osteensco
2024-11-22 08:06:27 +08:00
Dave McPherson
3ddbf1c00b RENAMENX Command Implementation (#149)
* Implemented of RENAMENX command - @DMcP89 
---------
Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-11-22 07:56:05 +08:00
osteensco
09640082c4 Update Hash to allow for expirey commands (#146)
* Convert hash to composite type. Fixed broken Hash commands from Hash refactor. Coverage and fixed broken test - @osteensco
2024-11-04 03:24:31 +08:00
osteensco
31605a96b7 Implement MOVE command (#136)
Implemented MOVE command - @osteensco
2024-10-14 09:39:01 +08:00
osteensco
ff96d45b76 Use memory footprint of sugardb.store to compare against max memory for eviction policies (#133)
Improved memory usage reporting. - @osteensco
2024-10-04 10:14:12 +08:00
Kelvin Mwinuka
703ad2a802 Rename the project to SugarDB. (#130)
Renames project to "SugarDB" - @kelvinmwinuka
2024-09-22 21:31:12 +08:00
osteensco
016bd2d2bd Iss 100: Implement interfaces and constants for generic API methods (#127)
SETOptions struct added. Adjusted Set method calls for using new struct. - @osteensco
2024-09-20 23:53:39 +08:00
osteensco
a9732f81bf Iss 60: Implement Touch, with bonus commands ObjectFreq and ObjectIdleTime (#126)
Added TOUCH, OBJECTFREQ, and OBJECTIDLETIME commands - @osteensco 

---------

Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-09-15 04:20:27 +08:00
Samuel Adebayo
d0dd8dbfc1 [#70] Implement HMGET command (#104)
Added HMGET command - @thesambayo 

---------

Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-09-08 22:10:49 +08:00
osteensco
21e2ca57cb Iss 69 - Implement GETEX (#101)
GETEX implemented. Fixed issue in SortedSet.GetRandom where it would sometimes return an empty value in one of its indexes - @osteensco
2024-09-07 00:24:56 +08:00
Kelvin Clement Mwinuka
f28a59cae8 Added test setup that adds keys for RANDOMKEY command instead of relying on keys from other tests. 2024-08-18 02:17:45 +08:00
Kelvin Mwinuka
5a04bcade0 Updated Embedded ACL test and enabled memory adjustment after key update 2024-07-01 08:55:37 +08:00
Kelvin Mwinuka
d787c6cc31 Updated coverage report 2024-07-01 06:41:17 +08:00
Kelvin Mwinuka
d31cb10b51 Obtain a read lock on connection info before logging command. 2024-07-01 06:37:23 +08:00
Kelvin Mwinuka
a5cfdfd5ee Added multi-database support for loggin and restoring in log engine.
Added multi-database support for preamble snapshots and restoration in preamble engine.
Added multi-database support for aof engine.
Removed buffered channel from log and aof engines. Command logging is now synchronous.
Added multi-database support for the raft layer's data replication.
2024-07-01 06:37:23 +08:00
Kelvin Mwinuka
dcba5796cb Implemented test for SWAPDB command. 2024-07-01 06:37:21 +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
Sahil
db42cf6ed8 added test for RENAME command 2024-07-01 06:37:06 +08:00
Sahil
60bfd8011f added tests 2024-07-01 06:35:24 +08:00
Sahil
7bd98e6b00 feat: added DECR command support 2024-07-01 06:22:07 +08:00
Kelvin Clement Mwinuka
dcc1b4b3fc Updated coverage report 2024-07-01 06:18:40 +08:00
Kelvin Clement Mwinuka
8b8c235871 Implemented test for INCR embedded API.
Added test cases for incorrect commands length for INCR command.
Fixed error checking on INCR commands test. RESP errors will be contained in the response object of the ReadValue method. The error object only contains an error when ReadValue failes.
2024-07-01 06:18:21 +08:00
Kelvin Mwinuka
59143b4cd5 Added multi-database support for loggin and restoring in log engine.
Added multi-database support for preamble snapshots and restoration in preamble engine.
Added multi-database support for aof engine.
Removed buffered channel from log and aof engines. Command logging is now synchronous.
Added multi-database support for the raft layer's data replication.
2024-07-01 06:06:26 +08:00
Kelvin Mwinuka
f867bca8e4 Implemented test for SWAPDB command. 2024-07-01 06:05:44 +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
Sahil
26959200ed added test for RENAME command 2024-06-25 18:56:00 +05:30
Kelvin Mwinuka
70a1536482 Removed duplicate test for INCRBY command 2024-06-25 14:31:28 +08:00
Kelvin Mwinuka
591cc7ef99 Merge branch 'main' into issue-64 2024-06-25 14:30:14 +08:00
Sahil
51100a1700 added coverage report 2024-06-25 14:19:32 +08:00
Sahil
73d84ea439 added tests 2024-06-25 14:09:42 +08:00
Kelvin Mwinuka
e126dc52c7 Deleted coverage report 2024-06-25 12:36:49 +08:00
Sahil
b509e3359a added coverage report 2024-06-25 02:15:40 +05:30
Sahil
587782b128 added tests 2024-06-25 00:13:19 +05:30
Sahil
cebc72b2f5 fixed a bug on test 2024-06-23 19:21:37 +05:30
Sahil
50e88a8a07 fixed a bug on test 2024-06-23 19:15:07 +05:30
Sahil
2897ee31b2 fixed a bug on test 2024-06-23 19:09:52 +05:30
Sahil
dfb5a0ff4b feat: added DECR command support 2024-06-23 19:07:20 +05:30
Kelvin Clement Mwinuka
7a8a927323 Updated coverage report 2024-06-21 06:16:48 +08:00
Kelvin Mwinuka
341b31106d Merge branch 'main' into issue-66 2024-06-21 06:13:02 +08:00
Kelvin Clement Mwinuka
cccdd88f4f Added coverage report 2024-06-21 06:00:04 +08:00
Kelvin Clement Mwinuka
0246fb2976 Implemented test for INCR embedded API.
Added test cases for incorrect commands length for INCR command.
Fixed error checking on INCR commands test. RESP errors will be contained in the response object of the ReadValue method. The error object only contains an error when ReadValue failes.
2024-06-21 05:52:33 +08:00
Kelvin Mwinuka
b98ddcd2e9 Updated coverage report 2024-06-20 04:23:18 +08:00
Kelvin Clement Mwinuka
695e777e05 Removed unused Makefile commands for building modules and echovault server. The build step is now handled by the dev dockerfile 2024-06-13 22:37:51 +08:00
Kelvin Clement Mwinuka
df2b481078 Removed ./testdata DataDir config parameter from setupServer in echovault test file. This parameter is now an empty string in order to force in-memory stores for raft store. 2024-06-13 17:05:38 +08:00
Kelvin Clement Mwinuka
33d6651928 Removed --in-memory config flag. InMemory is now inferred from whether the data directory was provided. 2024-06-13 16:37:30 +08:00
Kelvin Clement Mwinuka
d27fb87b20 Added longer yields for file sync after snapshot and aof rewrite 2024-06-10 21:38:43 +08:00
Kelvin Clement Mwinuka
55b9bc6ede Added test coverave for ACLSave and ACLLoad 2024-06-09 03:31:55 +08:00
Kelvin Clement Mwinuka
cb99ff8993 rewriteAOF method in echovault.go now handles the rewrite synchronously. Removed newline character in Write method of append store. Added test case for REWRITEAOF command and restore from AOF. 2024-06-09 02:28:03 +08:00
Kelvin Clement Mwinuka
6afef55dbe Replaced time.After in snapshot and aof engines with ticker. 2024-06-08 23:19:23 +08:00