DOC-7032: Add tested client examples for JSONPath functions - #3927
Merged
Merged
Conversation
Contributor
3 tasks
Contributor
Contributor
3 tasks
andy-stark-redis
force-pushed
the
DOC-7032-json-path-functions
branch
2 times, most recently
from
September 4, 2026 14:54
a46b330 to
14b7e5b
Compare
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>
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 9, 2026 15:16
14b7e5b to
254193a
Compare
andy-stark-redis
added a commit
that referenced
this pull request
Sep 9, 2026
Convert the two illustrative CLI blocks under "Projection expressions" into runnable clients-example demos, in place — these stay under Projection expressions rather than moving into Filter examples, unlike the filter-operator and function batches. Completes the json_path_ops TCE set (19 steps across #3926/#3927/this PR); same 11 clients, verified against a live Redis 8.10 server. A real finding from testing, not just an implementation note: a multi-path JSON.GET reply's key order is not guaranteed — confirmed by repeated calls against an unchanged stored document returning both orderings. Every client's assertion here compares a parsed map/object, never the raw string, for exactly that reason. Constraint: json_path_ops multi-path JSON.GET assertions must compare parsed maps/objects, not raw strings — reply key order is not guaranteed Directive: jedis's Path2 constructor auto-prepends "$." to a path not already starting with $ or . — mangles a parenthesized expression like "(a+b)/2" (used in proj_basic); use the legacy Path class for those calls instead Ticket: DOC-7032 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 tasks
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 under Filter examples:length(),count(),value(),keys(),match()/search(),concat(),abs()/ceiling()/floor(),first()/last()/index(),min()/max()/avg()/sum()/stddev(), andappend().json_path_opsTCE set from DOC-7032: Add tested client examples for JSONPath filter operators #3926; same 11 clients.Test plan
./build/example-test-harness/run.sh --portable json_path_ops— all 11 clients PASS (all 17 steps, including the 7 from DOC-7032: Add tested client examples for JSONPath filter operators #3926).hugo --quiet— clean build, no warnings, no unrendered shortcodes.🤖 Generated with Claude Code
Note
Low Risk
Documentation and executable examples only; no runtime or API behavior changes.
Overview
Reorganizes Redis 8.10 JSONPath function docs in
path.md: drops the standalone Functions section with raw CLI blocks, places each function under Filter examples, and wires them to runnableclients-examplesteps (set="json_path_ops"). The intro feature list now links to those sections; general function/projection wording stays up front with evaluation semantics.Adds ten new harness steps—
func_length,func_count,func_value,func_keys,func_match_search,func_concat,func_math,func_array_access,func_aggregate,func_append—across the existing json_path_ops client examples (Go, Java/Jedis/Lettuce, Node, Python, Ruby, Rust, C#, PHP, etc.), with assertions matching the doc snippets.Reviewed by Cursor Bugbot for commit 254193a. Bugbot is set up for automated code reviews on this repo. Configure here.