-
Notifications
You must be signed in to change notification settings - Fork 221
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: reconnect pushdown to v2 (#2913)
There is still a bit more testing work to do before pushdown is fully supported in v2 and until we start using `LanceDfFieldDecoderStrategy` in the file reader it won't be accessible to users. However, this PR has a number of structural refactors for v2 and is big enough as it is. This adds a cache to the v2 schedulers. This is needed in this PR because we want to use the cache to store zone maps. However, it will be needed in future 2.1 work as well because we want to cache things like "rows per chunk" and "dictionaries". This adds an initialization routine to v2 schedulers. Again, this is needed for zone maps but will also be used by 2.1 features. Lastly, this PR does, in fact, reconnect the zone maps feature, restoring blocks that had been commented out.
- Loading branch information
1 parent
7cc14d9
commit d97a93d
Showing
29 changed files
with
839 additions
and
410 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
// SPDX-License-Identifier: Apache-2.0 | ||
// SPDX-FileCopyrightText: Copyright The Lance Authors | ||
|
||
use object_store::path::Path; | ||
|
||
pub trait LancePathExt { | ||
fn child_path(&self, path: &Path) -> Path; | ||
} | ||
|
||
impl LancePathExt for Path { | ||
fn child_path(&self, path: &Path) -> Path { | ||
let mut new_path = self.clone(); | ||
for part in path.parts() { | ||
new_path = path.child(part); | ||
} | ||
new_path | ||
} | ||
} |
This file contains 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
This file contains 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
Oops, something went wrong.