Added support for SCAN command with it's supported flags and parameters as given in REDI.
Implemented SCAN Command
-
Feature Addition:
- Introduced the
SCANcommand in our key-value store, closely modeled after Redis'sSCANcommand. - The command supports optional parameters:
- MATCH: Allows pattern matching of keys.
- COUNT: Specifies the number of keys to return in each iteration.
- TYPE: Filters keys by their type (e.g., string, list).
- Introduced the
-
Error Handling:
- Added comprehensive error handling for invalid or malformed
SCANcommands, including incorrect cursor values and invalid options.
- Added comprehensive error handling for invalid or malformed
Manual Testing:
- Conducted manual testing to validate the functionality of the
SCANcommand across different scenarios, with screenshots attached to demonstrate the results.
Writing the unit tests and and tried benchmarking on SCAN 0 and SCAN 0 COUNT 20 yet need to cover all commands yet. Will do it once the code is reviewed and ready to proceed to write unit tests.
Please resolve conflicts
Resolved the conflicts @JyotinderSingh
Please fix the CI errors.
Hey @JyotinderSingh I am getting integer overflow errors while linting should I go ahead and fix them ( am I allowed to do this?)
Hey @JyotinderSingh I am getting integer overflow errors while linting should I go ahead and fix them ( am I allowed to do this?)
cc @AshwinKul28
Try to pull latest from master, @rohitlohar45 check if few of these gets resolved. Otherwise try to fix as much as you can for other add a ignore statement //nolint:{lint_name}, I will check them separately. But make sure all test cases passed!