Compare commits

...

1 Commits

Author SHA1 Message Date
Will Jones
5a732bbf39 rebase 2025-06-27 06:36:12 -07:00
4 changed files with 59 additions and 102 deletions

133
Cargo.lock generated
View File

@@ -1852,7 +1852,7 @@ dependencies = [
"futures", "futures",
"itertools 0.14.0", "itertools 0.14.0",
"log", "log",
"object_store 0.12.2", "object_store",
"parking_lot", "parking_lot",
"rand 0.8.5", "rand 0.8.5",
"regex", "regex",
@@ -1884,7 +1884,7 @@ dependencies = [
"futures", "futures",
"itertools 0.14.0", "itertools 0.14.0",
"log", "log",
"object_store 0.12.2", "object_store",
"parking_lot", "parking_lot",
"tokio", "tokio",
] ]
@@ -1908,7 +1908,7 @@ dependencies = [
"datafusion-session", "datafusion-session",
"futures", "futures",
"log", "log",
"object_store 0.12.2", "object_store",
"tokio", "tokio",
] ]
@@ -1927,7 +1927,7 @@ dependencies = [
"indexmap 2.9.0", "indexmap 2.9.0",
"libc", "libc",
"log", "log",
"object_store 0.12.2", "object_store",
"paste", "paste",
"sqlparser 0.55.0", "sqlparser 0.55.0",
"tokio", "tokio",
@@ -1967,7 +1967,7 @@ dependencies = [
"glob", "glob",
"itertools 0.14.0", "itertools 0.14.0",
"log", "log",
"object_store 0.12.2", "object_store",
"rand 0.8.5", "rand 0.8.5",
"tokio", "tokio",
"url", "url",
@@ -1993,7 +1993,7 @@ dependencies = [
"datafusion-physical-plan", "datafusion-physical-plan",
"datafusion-session", "datafusion-session",
"futures", "futures",
"object_store 0.12.2", "object_store",
"regex", "regex",
"tokio", "tokio",
] ]
@@ -2018,7 +2018,7 @@ dependencies = [
"datafusion-physical-plan", "datafusion-physical-plan",
"datafusion-session", "datafusion-session",
"futures", "futures",
"object_store 0.12.2", "object_store",
"serde_json", "serde_json",
"tokio", "tokio",
] ]
@@ -2041,7 +2041,7 @@ dependencies = [
"datafusion-expr", "datafusion-expr",
"futures", "futures",
"log", "log",
"object_store 0.12.2", "object_store",
"parking_lot", "parking_lot",
"rand 0.8.5", "rand 0.8.5",
"tempfile", "tempfile",
@@ -2340,7 +2340,7 @@ dependencies = [
"futures", "futures",
"itertools 0.14.0", "itertools 0.14.0",
"log", "log",
"object_store 0.12.2", "object_store",
"parking_lot", "parking_lot",
"tokio", "tokio",
] ]
@@ -2813,9 +2813,7 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
[[package]] [[package]]
name = "fsst" name = "fsst"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b6a55335126d20524dc83cf0638b7ca1b5d9736f9064a89c47e4d028cbaccdb"
dependencies = [ dependencies = [
"rand 0.8.5", "rand 0.8.5",
] ]
@@ -3907,9 +3905,7 @@ dependencies = [
[[package]] [[package]]
name = "lance" name = "lance"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84a9bf2cf9ff1d8b8a8c822cf4aaec7023fbe056d3348dce347957695470bd19"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-arith", "arrow-arith",
@@ -3952,7 +3948,7 @@ dependencies = [
"lazy_static", "lazy_static",
"log", "log",
"moka", "moka",
"object_store 0.11.2", "object_store",
"permutation", "permutation",
"pin-project", "pin-project",
"prost", "prost",
@@ -3972,9 +3968,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-arrow" name = "lance-arrow"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82fc2b0dd2598f4b390445d63a3906f84d928c250b208d382d4cfc22681b23c0"
dependencies = [ dependencies = [
"arrow-array", "arrow-array",
"arrow-buffer", "arrow-buffer",
@@ -3991,9 +3985,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-core" name = "lance-core"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4118c6e2ac2d26ff80e55708f337c4593381a32751f2a79a03d92452885bd648"
dependencies = [ dependencies = [
"arrow-array", "arrow-array",
"arrow-buffer", "arrow-buffer",
@@ -4013,7 +4005,7 @@ dependencies = [
"mock_instant", "mock_instant",
"moka", "moka",
"num_cpus", "num_cpus",
"object_store 0.11.2", "object_store",
"pin-project", "pin-project",
"prost", "prost",
"rand 0.8.5", "rand 0.8.5",
@@ -4029,9 +4021,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-datafusion" name = "lance-datafusion"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf8b01e9a5f15d4975423ea1495df85cf36f9036c3ed999190d4631ffbd28b6"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-array", "arrow-array",
@@ -4060,9 +4050,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-datagen" name = "lance-datagen"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fbedb84243fb2fe255b4e9ac298019d2e93e83fcc9ce2eb67a4ac7cab427dda"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-array", "arrow-array",
@@ -4077,9 +4065,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-encoding" name = "lance-encoding"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a0e078414cce96da2e2b37290d0b38a81ba6b0ebcad6806b231c2cd8d04427a"
dependencies = [ dependencies = [
"arrayref", "arrayref",
"arrow", "arrow",
@@ -4113,14 +4099,13 @@ dependencies = [
"snafu", "snafu",
"tokio", "tokio",
"tracing", "tracing",
"xxhash-rust",
"zstd", "zstd",
] ]
[[package]] [[package]]
name = "lance-file" name = "lance-file"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce7deba5b59118f7ef726859ace192b7cc7da4e6639147d2a3908a2de621ce98"
dependencies = [ dependencies = [
"arrow-arith", "arrow-arith",
"arrow-array", "arrow-array",
@@ -4141,7 +4126,7 @@ dependencies = [
"lance-io", "lance-io",
"log", "log",
"num-traits", "num-traits",
"object_store 0.11.2", "object_store",
"prost", "prost",
"prost-build", "prost-build",
"prost-types", "prost-types",
@@ -4154,9 +4139,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-index" name = "lance-index"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bee1aecc60c759436d8f952e2d9c4e93d1940bfbdc1869068b4ac6b01e86b2f"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-array", "arrow-array",
@@ -4193,7 +4176,7 @@ dependencies = [
"log", "log",
"moka", "moka",
"num-traits", "num-traits",
"object_store 0.11.2", "object_store",
"prost", "prost",
"prost-build", "prost-build",
"rand 0.8.5", "rand 0.8.5",
@@ -4211,9 +4194,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-io" name = "lance-io"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61a48f6a3f5433ca5095993fcd8bb47efbf473af852b9aca1e175a3d7bbf67fd"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-arith", "arrow-arith",
@@ -4237,7 +4218,7 @@ dependencies = [
"lance-core", "lance-core",
"lazy_static", "lazy_static",
"log", "log",
"object_store 0.11.2", "object_store",
"path_abs", "path_abs",
"pin-project", "pin-project",
"prost", "prost",
@@ -4252,9 +4233,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-linalg" name = "lance-linalg"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "620dedc792311862fc336b2651e825d2b450bbade7bfc819b7b182c3bb585c1e"
dependencies = [ dependencies = [
"arrow-array", "arrow-array",
"arrow-ord", "arrow-ord",
@@ -4277,9 +4256,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-table" name = "lance-table"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b010312330943c5e81628722a50e3679688d96065348659b7913964f13765cf"
dependencies = [ dependencies = [
"arrow", "arrow",
"arrow-array", "arrow-array",
@@ -4300,7 +4277,7 @@ dependencies = [
"lance-io", "lance-io",
"lazy_static", "lazy_static",
"log", "log",
"object_store 0.11.2", "object_store",
"prost", "prost",
"prost-build", "prost-build",
"prost-types", "prost-types",
@@ -4318,9 +4295,7 @@ dependencies = [
[[package]] [[package]]
name = "lance-testing" name = "lance-testing"
version = "0.30.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efa10957cdadef40e853896a67282cd29898775b29715eec42dd49bc3b3c8554"
dependencies = [ dependencies = [
"arrow-array", "arrow-array",
"arrow-schema", "arrow-schema",
@@ -4378,7 +4353,7 @@ dependencies = [
"log", "log",
"moka", "moka",
"num-traits", "num-traits",
"object_store 0.11.2", "object_store",
"pin-project", "pin-project",
"polars", "polars",
"polars-arrow", "polars-arrow",
@@ -4435,7 +4410,7 @@ dependencies = [
"lancedb", "lancedb",
"lzma-sys", "lzma-sys",
"neon", "neon",
"object_store 0.11.2", "object_store",
"once_cell", "once_cell",
"snafu", "snafu",
"tokio", "tokio",
@@ -5172,38 +5147,6 @@ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "object_store"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3cfccb68961a56facde1163f9319e0d15743352344e7808a11795fb99698dcaf"
dependencies = [
"async-trait",
"base64 0.22.1",
"bytes",
"chrono",
"futures",
"httparse",
"humantime",
"hyper 1.6.0",
"itertools 0.13.0",
"md-5",
"parking_lot",
"percent-encoding",
"quick-xml",
"rand 0.8.5",
"reqwest",
"ring",
"rustls-pemfile 2.2.0",
"serde",
"serde_json",
"snafu",
"tokio",
"tracing",
"url",
"walkdir",
]
[[package]] [[package]]
name = "object_store" name = "object_store"
version = "0.12.2" version = "0.12.2"
@@ -5211,14 +5154,28 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7781f96d79ed0f961a7021424ab01840efbda64ae7a505aaea195efc91eaaec4" checksum = "7781f96d79ed0f961a7021424ab01840efbda64ae7a505aaea195efc91eaaec4"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"base64 0.22.1",
"bytes", "bytes",
"chrono", "chrono",
"form_urlencoded",
"futures", "futures",
"http 1.3.1", "http 1.3.1",
"http-body-util",
"httparse",
"humantime", "humantime",
"hyper 1.6.0",
"itertools 0.14.0", "itertools 0.14.0",
"md-5",
"parking_lot", "parking_lot",
"percent-encoding", "percent-encoding",
"quick-xml",
"rand 0.9.1",
"reqwest",
"ring",
"rustls-pemfile 2.2.0",
"serde",
"serde_json",
"serde_urlencoded",
"thiserror 2.0.12", "thiserror 2.0.12",
"tokio", "tokio",
"tracing", "tracing",

View File

@@ -21,14 +21,14 @@ categories = ["database-implementations"]
rust-version = "1.78.0" rust-version = "1.78.0"
[workspace.dependencies] [workspace.dependencies]
lance = { "version" = "=0.30.0", "features" = ["dynamodb"] } lance = { path = "../lance/rust/lance", "features" = ["dynamodb"] }
lance-io = "=0.30.0" lance-io = { path = "../lance/rust/lance-io" }
lance-index = "=0.30.0" lance-index = { path = "../lance/rust/lance-index" }
lance-linalg = "=0.30.0" lance-linalg = { path = "../lance/rust/lance-linalg" }
lance-table = "=0.30.0" lance-table = { path = "../lance/rust/lance-table" }
lance-testing = "=0.30.0" lance-testing = { path = "../lance/rust/lance-testing" }
lance-datafusion = "=0.30.0" lance-datafusion = { path = "../lance/rust/lance-datafusion" }
lance-encoding = "=0.30.0" lance-encoding = { path = "../lance/rust/lance-encoding" }
# Note that this one does not include pyarrow # Note that this one does not include pyarrow
arrow = { version = "55.1", optional = false } arrow = { version = "55.1", optional = false }
arrow-array = "55.1" arrow-array = "55.1"
@@ -52,7 +52,7 @@ half = { "version" = "=2.5.0", default-features = false, features = [
futures = "0" futures = "0"
log = "0.4" log = "0.4"
moka = { version = "0.12", features = ["future"] } moka = { version = "0.12", features = ["future"] }
object_store = "0.11.0" object_store = "0.12.0"
pin-project = "1.0.7" pin-project = "1.0.7"
snafu = "0.8" snafu = "0.8"
url = "2" url = "2"

View File

@@ -107,7 +107,7 @@ impl ObjectStore for MirroringObjectStore {
self.primary.delete(location).await self.primary.delete(location).await
} }
fn list(&self, prefix: Option<&Path>) -> BoxStream<'_, Result<ObjectMeta>> { fn list(&self, prefix: Option<&Path>) -> BoxStream<'static, Result<ObjectMeta>> {
self.primary.list(prefix) self.primary.list(prefix)
} }

View File

@@ -133,7 +133,7 @@ impl ObjectStore for IoTrackingStore {
result result
} }
async fn get_range(&self, location: &Path, range: std::ops::Range<usize>) -> OSResult<Bytes> { async fn get_range(&self, location: &Path, range: std::ops::Range<u64>) -> OSResult<Bytes> {
let result = self.target.get_range(location, range).await; let result = self.target.get_range(location, range).await;
if let Ok(result) = &result { if let Ok(result) = &result {
self.record_read(result.len() as u64); self.record_read(result.len() as u64);
@@ -144,7 +144,7 @@ impl ObjectStore for IoTrackingStore {
async fn get_ranges( async fn get_ranges(
&self, &self,
location: &Path, location: &Path,
ranges: &[std::ops::Range<usize>], ranges: &[std::ops::Range<u64>],
) -> OSResult<Vec<Bytes>> { ) -> OSResult<Vec<Bytes>> {
let result = self.target.get_ranges(location, ranges).await; let result = self.target.get_ranges(location, ranges).await;
if let Ok(result) = &result { if let Ok(result) = &result {
@@ -170,7 +170,7 @@ impl ObjectStore for IoTrackingStore {
self.target.delete_stream(locations) self.target.delete_stream(locations)
} }
fn list(&self, prefix: Option<&Path>) -> BoxStream<'_, OSResult<ObjectMeta>> { fn list(&self, prefix: Option<&Path>) -> BoxStream<'static, OSResult<ObjectMeta>> {
self.record_read(0); self.record_read(0);
self.target.list(prefix) self.target.list(prefix)
} }
@@ -179,7 +179,7 @@ impl ObjectStore for IoTrackingStore {
&self, &self,
prefix: Option<&Path>, prefix: Option<&Path>,
offset: &Path, offset: &Path,
) -> BoxStream<'_, OSResult<ObjectMeta>> { ) -> BoxStream<'static, OSResult<ObjectMeta>> {
self.record_read(0); self.record_read(0);
self.target.list_with_offset(prefix, offset) self.target.list_with_offset(prefix, offset)
} }