Repository navigation
Add TS.READ command support - #95
Merged
Merged
Conversation
Add missing class comment to RsTsReadOptions. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Documents the design (RsTsReadOptions, tsRead:cursor:/tsRead:cursor:using:) and the AgenticBrowser orchestration used to implement it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Introduce `RsTsReadCursor` to encapsulate cursor logic and add a fluent `tsRead:cursorBy:using:` API to `RsRedisEndpoint` for improved usability and type safety. Updated existing tests and added new test cases for the new cursor builder.
Move cursor validation from construction to #asArgumentValue to allow reassignment of timestamps before the command is sent.
- Use semantic methods (earliest, latest, newest) instead of raw values - Fix typo in timestamp: parameter name
Add validation checks for nil values and invalid string formats in RsTsReadCursor>>validate to ensure only valid timestamps or sentinels are sent to Redis.
Ensure both blockMilliseconds and blockMinCount are provided when using the BLOCK option, as required by Redis.
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
TS.READcommand (optionally-blocking cursor read of a time series) to theRediStick-TimeSeriespackage.Changes
RsTsReadOptions: new value class implementing theBLOCK milliseconds min_count/MAX_COUNT max_countoptions forTS.READ, following the existing Options-pattern idiom.RsRedisEndpoint >> tsRead:cursor:/tsRead:cursor:using:: new endpoint methods, reusing the existingRsTsRange class >> normalizeTimestamp:for cursor normalization (literal timestamp or-/+/$sentinels) and the existingtsParseRangeSamples:helper for reply parsing.RsTsReadOptionsTest: 6 new unit tests forRsTsReadOptions.RsTsTest: 8 new integration test methods covering basic reads, sentinel cursors,MAX_COUNT, andBLOCK(both immediate-return and timeout-with-partial-results cases).doc/plans/2026-09-07-ts-read-implementation.mdanddoc/scripting-features/feature-ts-read.scripting.md: implementation plan and the AgenticBrowser orchestration script used to implement it.Commits Included
Files Changed
🤖 Generated with Claude Code