mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-22 16:00:38 +00:00
feat: Implement memtable range (#4162)
* refactor: RangeBase * feat: memtable range * feat: scanner use mem range * feat: remove base from mem range context * feat: impl ranges for memtables * chore: fix warnings * refactor: make predicate cheap to clone * refactor: MemRange -> MemtableRange * feat: pub empty memtable to fix warnings * test: fix sqlness result
This commit is contained in:
@@ -50,10 +50,11 @@ macro_rules! return_none_if_utf8 {
|
||||
};
|
||||
}
|
||||
|
||||
/// Reference-counted pointer to a list of logical exprs.
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Predicate {
|
||||
/// logical exprs
|
||||
exprs: Vec<Expr>,
|
||||
exprs: Arc<Vec<Expr>>,
|
||||
}
|
||||
|
||||
impl Predicate {
|
||||
@@ -61,7 +62,9 @@ impl Predicate {
|
||||
/// evaluated against record batches.
|
||||
/// Returns error when failed to convert exprs.
|
||||
pub fn new(exprs: Vec<Expr>) -> Self {
|
||||
Self { exprs }
|
||||
Self {
|
||||
exprs: Arc::new(exprs),
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the logical exprs.
|
||||
|
||||
Reference in New Issue
Block a user