-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#1100: Fix LPOP to support multiple arguments #1231
#1100: Fix LPOP to support multiple arguments #1231
Conversation
There are a few conflicts, please rebase on master. |
12f7b48
to
53f07c8
Compare
Yep done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for these fixes @tren03! The changes look good overall, have left a few minor comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
requested changes
I have implemented the changes. Any other modifications? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing the comments @tren03, LGTM
There is a segfault in one of the tests, could you please take a look? |
Looks like the test failure is unrelated to this PR. Merging this for now. |
This pull request addresses issue #1100, where the LPOP command needed to support an additional argument to specify the number of elements to pop from the left side of the list.
Changes:
Modified the LPOP command to accept either 1 or 2 arguments:
LPOP key: Pops a single element from the list (default behavior).
LPOP key count: Pops up to count elements from the list.
Validation:
If count is 0, an empty response is returned.
If count is negative, an "out of range" error is returned.
If count exceeds the number of available elements, it pops as many elements as available without error.
Invalid count (non-integer values) returns an appropriate error.
Popping from a non-existent or empty list returns nil.
Behavior:
Returns a single element if one element is popped.
Returns a list of elements if multiple elements are popped.
Added the unit test and integration test, added integration tests for http too.
Currently working on adding the websockets tests