Accept lowercase SCRIPT subcommands #987
Open
+222
−102
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
script load return -> ERR unknown command
SCRIPT LOAD return -> "63143b6f8007b98c53ca2149822777b3566f9241"
SCRIPT load return -> ERR unknown command
script LOAD return -> "63143b6f8007b98c53ca2149822777b3566f9241"
What happens is that the second pass uppercases SCRIPT, but can't uppercase the subcommand. Later the 'fast' check only checks the uppercase FLUSH/EXISTS/LOAD.
Solve this by adding the script command also to the 'slow' parsing step. This handles all the mixed-cases and matches the MEMORY command handling, while retaining 'fast' parsing for uppercase subcommands. Garnet already does the 'you get slightly slower parsing if you do lowercase' tradeoff .
The second commit standardizes subcommand 'slow' handling a bit: always the correct error message when no subcommand and subcommand is required, always the correct error message when non-supported subcommand is used. Add and use an error message not mentioning HELP subcommand when that subcommand is not implemented.