-
Notifications
You must be signed in to change notification settings - Fork 316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add TimeSeriesRowSelector
hint
#4327
Conversation
WalkthroughThe recent code changes introduce a Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant MetadataRegion
participant ScanRegion
participant StoreAPI
Client->>MetadataRegion: Initialize with series_row_selector: None
MetadataRegion->>ScanRegion: Create ScanInput with series_row_selector
ScanRegion->>StoreAPI: Perform scanning with TimeSeriesRowSelector
StoreAPI-->>ScanRegion: Return selected time series rows
ScanRegion-->>MetadataRegion: Return scan results
MetadataRegion-->>Client: Provide final results
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (5)
- src/metric-engine/src/metadata_region.rs (3 hunks)
- src/mito2/src/engine/projection_test.rs (1 hunks)
- src/mito2/src/read/scan_region.rs (5 hunks)
- src/store-api/src/storage.rs (1 hunks)
- src/store-api/src/storage/requests.rs (2 hunks)
Files skipped from review due to trivial changes (1)
- src/store-api/src/storage.rs
Additional comments not posted (7)
src/store-api/src/storage/requests.rs (2)
18-23
: LGTM!The
TimeSeriesRowSelector
enum is well-defined and includes necessary traits for cloning, debugging, and equality checks.
39-40
: LGTM!The addition of the
series_row_selector
field to theScanRequest
struct is consistent and follows best practices.src/mito2/src/engine/projection_test.rs (1)
81-81
: LGTM!The addition of the
series_row_selector
field to theScanRequest
struct initialization in thetest_scan_projection
function is straightforward and correct.src/metric-engine/src/metadata_region.rs (2)
351-351
: LGTM!The addition of the
series_row_selector
field to theScanRequest
struct initialization in theget_all
method is straightforward and correct.
409-409
: LGTM!The addition of the
series_row_selector
field to theScanRequest
struct initialization in thebuild_read_request
method is straightforward and correct.src/mito2/src/read/scan_region.rs (2)
414-415
: LGTM!The addition of the
series_row_selector
field to theScanInput
struct is consistent and follows best practices.
524-532
: LGTM!The
with_series_row_selector
method is well-defined and follows the builder pattern used for other methods in theScanInput
struct.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4327 +/- ##
==========================================
- Coverage 85.17% 84.89% -0.29%
==========================================
Files 1061 1060 -1
Lines 188392 188656 +264
==========================================
- Hits 160469 160162 -307
- Misses 27923 28494 +571 |
I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
This PR adds a hint to push down
LastRow
request to the storage engine.Checklist
Summary by CodeRabbit
New Features
series_row_selector
field to enhance data scanning and projection capabilities.TimeSeriesRowSelector
enum with aLastRow
variant for more refined data selection.Bug Fixes
series_row_selector: None
to prevent potential errors in data handling.