DOC-7032: Add tested client examples for JSONPath projection expressions - #3928
Open
andy-stark-redis wants to merge 3 commits into
Open
DOC-7032: Add tested client examples for JSONPath projection expressions#3928andy-stark-redis wants to merge 3 commits into
andy-stark-redis wants to merge 3 commits into
Conversation
Contributor
Contributor
Contributor
🧠 Redis MemoryFound 6 related items from repository history (1 new this commit):
Memory updated at 0f18156 |
Move the illustrative CLI blocks in "Functions" into runnable clients-example demos under "Filter examples", covering length(), count(), value(), keys(), match()/search(), concat(), abs()/ceiling()/floor(), first()/last()/index(), min()/max()/avg()/sum()/stddev(), and append(). Extends the json_path_ops TCE set from the filter-operators PR; verified against a live Redis 8.10 server across all 11 clients. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 tasks
Remove "## Functions" as a separate section — move each function's description to sit directly above its runnable example under Filter examples, matching the same restructuring already applied to the filter operators. Link each function from the "Beginning with Redis 8.10..." list under JSONPath syntax instead, and fold the general prefix/postfix-form note into that same list's framing text. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
andy-stark-redis
force-pushed
the
DOC-7032-json-path-functions
branch
from
September 4, 2026 13:51
f3046d8 to
a46b330
Compare
Convert the two illustrative CLI blocks under "Projection expressions" into runnable clients-example demos, in place. Extends the json_path_ops TCE set from the filter-operators and functions PRs; verified against a live Redis 8.10 server across all 11 clients. Also documents a real finding from testing: a multi-path JSON.GET reply's key order is not guaranteed (confirmed by repeated calls against an identical document returning both orderings), so every client's test asserts structurally rather than by exact string match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 tasks
andy-stark-redis
force-pushed
the
DOC-7032-json-path-projections
branch
from
September 4, 2026 13:58
bdeb94f to
0f18156
Compare
andy-stark-redis
force-pushed
the
DOC-7032-json-path-functions
branch
from
September 4, 2026 14:54
a46b330 to
14b7e5b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
clients-exampledemos, in place (unlike the other two batches, these stay under Projection expressions rather than moving into Filter examples).json_path_opsTCE set (19 steps total across DOC-7032: Add tested client examples for JSONPath filter operators #3926/DOC-7032: Add tested client examples for JSONPath functions #3927/this PR); same 11 clients.A real finding from testing, not just an implementation note: a multi-path
JSON.GETreply's key order is not guaranteed — confirmed by repeated calls against an identical document returning both orderings. Added a clarifying sentence to the docs, and every client's test asserts structurally (map/object equality) rather than by exact string match so this can't cause a flaky test later.Test plan
./build/example-test-harness/run.sh --portable json_path_ops— all 11 clients PASS (all 19 steps).hugo --quiet— clean build, no warnings, no unrendered shortcodes.🤖 Generated with Claude Code
Note
Low Risk
Documentation and executable examples only; no production runtime or API behavior changes beyond clarifying multi-path reply semantics.
Overview
Projection expressions on the JSON Path docs page now use runnable
clients-exampledemos (proj_basic,proj_multipath) instead of static CLI fences, and the multi-pathJSON.GETsection documents that object key order is not guaranteed.Matching
proj_basicandproj_multipathsteps were added across thejson_path_opsexample set (11 clients), covering arithmetic/length()projections, division-by-zero →[], and mixed projection + plain paths in oneJSON.GET. Multi-path assertions decode JSON and compare by structure (maps/objects) so tests stay stable when Redis returns keys in different orders; go-redis addsencoding/jsonfor that multipath case.Reviewed by Cursor Bugbot for commit 0f18156. Bugbot is set up for automated code reviews on this repo. Configure here.