192 Commits

Author SHA1 Message Date
tyghr b0744d9160 fix: Updating hash value would sometimes replace the entire hash
https://github.com/EchoVault/SugarDB/issues/179
2025-04-24 02:09:59 +01:00
Dave McPherson d6d7d52c14 114 hexpireat command (#177) 2025-04-24 01:56:40 +01:00
Nicole Streltsov 469a5e5233 Implement KEYS command 2025-04-14 01:05:48 +01:00
Franta 38f9ca4ed7 Implement HEXPIRETIME command (#176) 2025-03-29 21:41:54 +00:00
Franta 10181cf757 fix hpexpiretime - correct implementation (#175) 2025-02-19 08:21:58 +00:00
Franta f700e9a949 Implement HPEXPIRETIME command (#174) 2025-02-18 15:45:02 +00:00
Dave McPherson 93672dd984 refactoring TYPE command to avoid using reflection (#173)
Refactorered TYPE command to avoid using reflection - @DMcP89
2025-02-09 04:31:18 +08:00
Kelvin Mwinuka ec69e52a5b Refactored PubSub Embedded API
Refactored pubsub implementation to return MessageReader on embedded instance, which implements io.Reader for reading messages (#170) - @kelvinmwinuka
2025-01-26 22:37:14 +08:00
Nicole Streltsov 4aab2e7799 Added election timeout config option for raft (#165)
Expose ElectionTimeout, HearbeatTimeout and CommitTimeout - @NicoleStrel
2025-01-24 13:20:45 +08:00
Kelvin Mwinuka 136d7c61c1 Extend SugarDB commands using JavaScript Modules (#161)
Implemented extensibility with JavaScript modules - @kelvinmwinuka
2025-01-12 01:18:21 +08:00
Nicole Streltsov 40527b1fff Implement EXISTS command (#160)
Implemented EXISTS command - @NicoleStrel
2025-01-12 00:43:16 +08:00
Nicole Streltsov 8f1330e326 Implement DBSIZE command (#159)
Implement DBSIZE Command - @NicoleStrel
2025-01-06 18:40:40 +08:00
Kelvin Mwinuka 108bf97b4d Extend SugarDB Commands Using Lua Scripts (#155)
* Extend SugarDB by creating new commands using Lua - @kelvinmwinuka
2024-12-12 09:50:43 +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
Tejesh Kumar S c7f492f83f Implementation of Copy command (#141)
* Added COPY command - @zenc0derr 

---------

Co-authored-by: Tejesh Kumar S <zenc0derr>
Co-authored-by: Kelvin Clement Mwinuka <kelvinmwinuka@hotmail.co.uk>
2024-10-25 01:35:19 +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 4b8e7e1bff Updated install instructions (#131)
Updated installation instructions for docker, GHCR, and homebrew - @kelvinmwinuka
2024-09-22 22:58:11 +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
Dave McPherson e858061aee Type Command implementation (#103)
Implemented TYPE command - @DMcP89
2024-09-08 01:57:56 +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
osteensco ac0964912f Iss 68 implement GETDEL command (#97)
Added GETDEL command.
2024-08-25 10:13:10 +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 Clement Mwinuka e5977ec5ef Renamed 'Randomkey' to 'RandomKey' to follow PascalCase convention for exported methods. Added more clear definition for the RANDOMKEY command. 2024-08-18 01:50:07 +08:00
Scott Osteen 791e73d0bc test fixed 2024-08-15 16:24:27 -05:00
Scott Osteen a7f0c07e5d randomkey command added for client-server spec 2024-08-15 16:21:33 -05:00
Scott Osteen 35984ee21c created RANDOMKEY command test 2024-08-15 10:02:21 -05:00
Kelvin Clement Mwinuka 718b7f270f Updated HSET commands handler to be more thread-safe 2024-07-11 11:21:06 +08:00
Kelvin Mwinuka f86d67d4f0 Updated list module commands to return expected results. 2024-07-11 10:09:30 +08:00
Kelvin Clement Mwinuka ffa89884fd Updated version number 2024-07-09 18:01:56 +08:00
Kelvin Mwinuka c6a85b6cbb Moved volumes folder to internal folder. Moved main.go file to the project's root instead of the cmd directory. 2024-07-04 11:50:35 +08:00
Kelvin Mwinuka fa1be7ccf8 Updated README.md to include new commands 2024-07-04 09:50:54 +08:00
Kelvin Mwinuka 08a6f5f45f Removed keyspace category for INCRBYFLOAT command 2024-07-04 09:47:24 +08:00
DMcP89 2f7ba5fe3d Changing APPEND command to write category 2024-07-04 09:47:24 +08:00
DMcP89 854ebb0700 Adding context to params.KeyExist 2024-07-04 09:47:24 +08:00
DMcP89 4e0ab4e19a Adding tests for APPEND 2024-07-04 09:46:32 +08:00
DMcP89 b36d5056af Implementing APPEND command 2024-07-04 09:46:09 +08:00
DMcP89 eb80a8dbb1 Begining to implement Append command 2024-07-04 09:46:09 +08:00
Sahil 3c9d0253e4 updated tests 2024-07-04 00:45:32 +05:30
Sahil cb0488c233 added tests and fixed misplaced function 2024-07-03 01:17:06 +05:30
Sahil e3a269890e feat: INCRBYFLOAT command added 2024-07-03 01:06:09 +05:30
Kelvin Mwinuka 85e8a68125 Close AOF engine files on shutdown. Close snapshot file after restoring snapshot on startup. Implemented tests for HELLO command in echovault package. Implemented tests for GetServerInfo in echovault package. 2024-07-03 00:53:49 +08:00
Kelvin Mwinuka f4fdc789b3 Added description for the HELLO command 2024-07-01 09:23:58 +08:00
Kelvin Mwinuka a3ef0ff99c Changed noOfNodesMut to RWMutex 2024-07-01 06:37:23 +08:00
Kelvin Mwinuka a3093104fc Added mutex for accessing number of nodes in memberlist layer. 2024-07-01 06:37:23 +08:00