Conversation
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
|
@eric-musliner you may find this of interest |
|
✅ Pull request no significant performance differences ✅ SummaryNew baseline 'pull_request' is WITHIN the 'main' baseline thresholds. Full Benchmark ComparisonComparing results between 'main' and 'pull_request'ValkeyBenchmarksClient: GET benchmark metricsMalloc (total): results within specified thresholds, fold down for details.
Client: GET benchmark | parallel 20 | 20 concurrent connections metricsMalloc (total): results within specified thresholds, fold down for details.
Connection: GET benchmark metricsMalloc (total): results within specified thresholds, fold down for details.
Connection: GET benchmark – NoOpTracer metricsMalloc (total): results within specified thresholds, fold down for details.
Connection: Pipeline array benchmark metricsMalloc (total): results within specified thresholds, fold down for details.
Connection: Pipeline benchmark metricsMalloc (total): results within specified thresholds, fold down for details.
HashSlot – {user}.whatever metricsMalloc (total): results within specified thresholds, fold down for details.
ValkeyCommandEncoder – Command with 7 words metricsMalloc (total): results within specified thresholds, fold down for details.
ValkeyCommandEncoder – Simple GET metricsMalloc (total): results within specified thresholds, fold down for details.
ValkeyCommandEncoder – Simple MGET 15 keys metricsMalloc (total): results within specified thresholds, fold down for details.
|
|
This PR to the json files valkey-io/valkey-search#832 reduces the generated code by 400 lines |
Thanks for the awareness! Glad I'm not making use of the ones they are cutting |
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
|
@eric-musliner I have been playing with some code to clean up badly setup json files. You can see the list of things it does in the PR description. This completely changes the API for valkey-search but I think it is a lot cleaner. Could you have a look and give us some feedback. |
Signed-off-by: Adam Fowler <adamfowler71@gmail.com>
eric-musliner
left a comment
There was a problem hiding this comment.
I really like these changes to the API for valkey-search 1.2.0. I found the previous generated code for the commands when I did it a few months ago very clunky. I didn't like that the blocks with single pure tokens were turned into their own types. You've resolved the main issues I had with it originally. I think this looks great and it's a lot more ergonomic now.
| request: .command([ | ||
| "FT.AGGREGATE", "idx:testIndex", "@loc:[$lon $lat 10 km]", | ||
| "PARAMS", "4", | ||
| "PARAMS", "2", |
There was a problem hiding this comment.
For PARAMS I believe nargs or count it's now called should still be 4. According to the docs
https://redis.io/docs/latest/commands/ft.aggregate/
https://valkey.io/commands/ft.aggregate/
count is of the number of arguments, i.e., twice the number of name/value pairs
There was a problem hiding this comment.
For
PARAMSI believe nargs or count it's now called should still be 4. According to the docshttps://redis.io/docs/latest/commands/ft.aggregate/
https://valkey.io/commands/ft.aggregate/count is of the number of arguments, i.e., twice the number of name/value pairs
Oh that's weird and messes with some of my assumptions. I'll need to do some work there.
There was a problem hiding this comment.
I agree it is not very intuitive
ValkeySearch are about to release 1.2. They have completely rebuilt their API model files and the generated code is completely different. This PR attempts to cleanup some of the breaking changes. Some features have been removed eg
FT.SEARCH LOCALONLY,FT.AGGREGATE WITHCURSOR,FT.AGGREGATE SCORERI am also going to suggest a couple of changes to their API model files to make the generated functions cleaner. I'll link to that PR when I post it.
EDIT: While looking at the json model file I found multiple issues with it. I have opened a PR with edits in the valley-search repo, but I thought I would add a phase in the command builder to cleanup up the valkey json model files. The cleanup includes