mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-27 10:20:38 +00:00
feat: add TimeSeriesRowSelector hint (#4327)
* feat: Add TimeSeriesRowSelector * feat: scan allow specify series row selector * chore: Update comment
This commit is contained in:
@@ -25,5 +25,5 @@ pub use datatypes::schema::{
|
||||
};
|
||||
|
||||
pub use self::descriptors::*;
|
||||
pub use self::requests::ScanRequest;
|
||||
pub use self::requests::{ScanRequest, TimeSeriesRowSelector};
|
||||
pub use self::types::SequenceNumber;
|
||||
|
||||
@@ -15,6 +15,13 @@
|
||||
use common_recordbatch::OrderOption;
|
||||
use datafusion_expr::expr::Expr;
|
||||
|
||||
/// A hint on how to select rows from a time-series.
|
||||
#[derive(Clone, Debug, PartialEq, Eq)]
|
||||
pub enum TimeSeriesRowSelector {
|
||||
/// Only keep the last row of each time-series.
|
||||
LastRow,
|
||||
}
|
||||
|
||||
#[derive(Default, Clone, Debug, PartialEq, Eq)]
|
||||
pub struct ScanRequest {
|
||||
/// Indices of columns to read, `None` to read all columns. This indices is
|
||||
@@ -29,4 +36,6 @@ pub struct ScanRequest {
|
||||
/// If set, it contains the amount of rows needed by the caller,
|
||||
/// The data source should return *at least* this number of rows if available.
|
||||
pub limit: Option<usize>,
|
||||
/// Optional hint to select rows from time-series.
|
||||
pub series_row_selector: Option<TimeSeriesRowSelector>,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user