diff --git a/Cargo.lock b/Cargo.lock index e759cbccb..89dd063c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1750,7 +1750,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -2288,14 +2288,13 @@ dependencies = [ [[package]] name = "datafusion" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93db0e623840612f7f2cd757f7e8a8922064192363732c88692e0870016e141b" +checksum = "997a31e15872606a49478e670c58302094c97cb96abb0a7d60720f8e92170040" dependencies = [ "arrow", "arrow-schema", "async-trait", - "bytes", "chrono", "datafusion-catalog", "datafusion-catalog-listing", @@ -2322,13 +2321,12 @@ dependencies = [ "datafusion-session", "datafusion-sql", "futures", + "indexmap 2.14.0", "itertools 0.14.0", "log", "object_store", "parking_lot", - "rand 0.9.5", - "regex", - "sqlparser 0.61.0", + "sqlparser 0.62.0", "tempfile", "tokio", "url", @@ -2337,9 +2335,9 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37cefde60b26a7f4ff61e9d2ff2833322f91df2b568d7238afe67bde5bdffb66" +checksum = "f7dd61161508f8f5fa1107774ea687bd753c22d83a32eebf963549f89de14139" dependencies = [ "arrow", "async-trait", @@ -2362,9 +2360,9 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17e112307715d6a7a331111a4c2330ff54bc237183511c319e3708a4cff431fb" +checksum = "897c70f871277f9ce99aa38347be0d679bbe3e617156c4d2a8378cec8a2a0891" dependencies = [ "arrow", "async-trait", @@ -2385,32 +2383,33 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d72a11ca44a95e1081870d3abb80c717496e8a7acb467a1d3e932bb636af5cc2" +checksum = "121c9ded5d87d9172319e006f2afdb9928d72dbacd6a90a458d8acb1e3b43a65" dependencies = [ - "ahash", "arrow", "arrow-ipc", + "arrow-schema", "chrono", + "foldhash 0.2.0", "half", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap 2.14.0", "itertools 0.14.0", "libc", "log", "object_store", - "paste", - "sqlparser 0.61.0", + "sqlparser 0.62.0", "tokio", + "uuid", "web-time", ] [[package]] name = "datafusion-common-runtime" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89f4afaed29670ec4fd6053643adc749fe3f4bc9d1ce1b8c5679b22c67d12def" +checksum = "981b9dae74f78ee3d9f714fb49b01919eab975461b56149510c3ba9ea11287d1" dependencies = [ "futures", "log", @@ -2419,9 +2418,9 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9fb386e1691355355a96419978a0022b7947b44d4a24a6ea99f00b6b485cbb6" +checksum = "ffd7d295b2ec7c00d8a56562f41ed41062cf0af75549ed891c12a0a09eddfefe" dependencies = [ "arrow", "async-trait", @@ -2441,6 +2440,7 @@ dependencies = [ "itertools 0.14.0", "log", "object_store", + "parking_lot", "rand 0.9.5", "tokio", "url", @@ -2448,9 +2448,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-arrow" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffa6c52cfed0734c5f93754d1c0175f558175248bf686c944fb05c373e5fc096" +checksum = "552b0b3f342f7ec41b3fbd70f6339dc82a30cfd0349e7f280e7852528085349f" dependencies = [ "arrow", "arrow-ipc", @@ -2472,9 +2472,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "503f29e0582c1fc189578d665ff57d9300da1f80c282777d7eb67bb79fb8cdca" +checksum = "68850aa426b897e879c8b87e512ea8124f1d0a2869a4e51808ddaaddf1bc0ada" dependencies = [ "arrow", "async-trait", @@ -2495,9 +2495,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33804749abc8d0c8cb7473228483cb8070e524c6f6086ee1b85a64debe2b3d2" +checksum = "402f93242ae08ef99139ee2c528a49d087efe88d5c7b2c3ff5480855a40ce54f" dependencies = [ "arrow", "async-trait", @@ -2512,27 +2512,25 @@ dependencies = [ "datafusion-session", "futures", "object_store", - "serde_json", "tokio", "tokio-stream", ] [[package]] name = "datafusion-doc" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de6ac0df1662b9148ad3c987978b32cbec7c772f199b1d53520c8fa764a87ee" +checksum = "cb9e7e5d11130c48c8bd4e80c79a9772dd28ce6dc330baca9246205d245b9e2e" [[package]] name = "datafusion-execution" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03c7fbdaefcca4ef6ffe425a5fc2325763bfb426599bb0bf4536466efabe709" +checksum = "37a8643ab852eb68864e1b72ae789e8066282dce48eea6347ffb0aee33d1ccc0" dependencies = [ "arrow", "arrow-buffer", "async-trait", - "chrono", "dashmap", "datafusion-common", "datafusion-expr", @@ -2548,11 +2546,12 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "574b9b6977fedbd2a611cbff12e5caf90f31640ad9dc5870f152836d94bad0dd" +checksum = "6932f4d71eed9c8d9341476a2b845aadfabde5495d08dbcd8fc23881f49fa7a0" dependencies = [ "arrow", + "arrow-schema", "async-trait", "chrono", "datafusion-common", @@ -2563,29 +2562,27 @@ dependencies = [ "datafusion-physical-expr-common", "indexmap 2.14.0", "itertools 0.14.0", - "paste", "serde_json", - "sqlparser 0.61.0", + "sqlparser 0.62.0", ] [[package]] name = "datafusion-expr-common" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d7c3adf3db8bf61e92eb90cb659c8e8b734593a8f7c8e12a843c7ddba24b87e" +checksum = "0225491839a31b1f7d2cb8092c2d50792e2fe1c1724e4e6d08e011f5feaf4ed2" dependencies = [ "arrow", "datafusion-common", "indexmap 2.14.0", "itertools 0.14.0", - "paste", ] [[package]] name = "datafusion-functions" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28aa4e10384e782774b10e72aca4d93ef7b31aa653095d9d4536b0a3dbc51b6" +checksum = "14872c47bfc3d21e53ec82f57074e6987a15941c1e2f43cde4ac6ae2746634e3" dependencies = [ "arrow", "arrow-buffer", @@ -2600,26 +2597,25 @@ dependencies = [ "datafusion-expr", "datafusion-expr-common", "datafusion-macros", + "datafusion-physical-expr-common", "hex", "itertools 0.14.0", "log", - "md-5 0.10.6", + "md-5 0.11.0", "memchr", "num-traits", "rand 0.9.5", "regex", - "sha2 0.10.9", - "unicode-segmentation", + "sha2 0.11.0", "uuid", ] [[package]] name = "datafusion-functions-aggregate" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00aa6217e56098ba84e0a338176fe52f0a84cca398021512c6c8c5eff806d0ad" +checksum = "75a2ca14e1b609be21e657e2d3130b2f446456b08393b377bb721a33952d2e09" dependencies = [ - "ahash", "arrow", "datafusion-common", "datafusion-doc", @@ -2629,19 +2625,18 @@ dependencies = [ "datafusion-macros", "datafusion-physical-expr", "datafusion-physical-expr-common", + "foldhash 0.2.0", "half", "log", "num-traits", - "paste", ] [[package]] name = "datafusion-functions-aggregate-common" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b511250349407db7c43832ab2de63f5557b19a20dfd236b39ca2c04468b50d47" +checksum = "1ece74ba09092d2ef9c9b54a38445450aea292a1f8b04faf531936b723a24b3c" dependencies = [ - "ahash", "arrow", "datafusion-common", "datafusion-expr-common", @@ -2650,9 +2645,9 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef13a858e20d50f0a9bb5e96e7ac82b4e7597f247515bccca4fdd2992df0212a" +checksum = "3f3e3f9ee8ca59bf70518802107de6f1b88a9509efdc629fadc5de9d6b2d5ef5" dependencies = [ "arrow", "arrow-ord", @@ -2666,34 +2661,34 @@ dependencies = [ "datafusion-functions-aggregate-common", "datafusion-macros", "datafusion-physical-expr-common", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "itertools 0.14.0", "itoa", "log", - "paste", + "memchr", ] [[package]] name = "datafusion-functions-table" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b40d3f5bbb3905f9ccb1ce9485a9595c77b69758a7c24d3ba79e334ff51e7e" +checksum = "89161dffc22cf2b50f9f4b1bee83b5221d3b4ed7c2e37fd7aa2b22a5297b3a26" dependencies = [ "arrow", "async-trait", "datafusion-catalog", "datafusion-common", "datafusion-expr", + "datafusion-physical-expr", "datafusion-physical-plan", "parking_lot", - "paste", ] [[package]] name = "datafusion-functions-window" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4e88ec9d57c9b685d02f58bfee7be62d72610430ddcedb82a08e5d9925dbfb6" +checksum = "d7339345b226b3874037708bf5023ba1c2de705128f8457a095aae5ae9cb9c78" dependencies = [ "arrow", "datafusion-common", @@ -2704,14 +2699,13 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "log", - "paste", ] [[package]] name = "datafusion-functions-window-common" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8307bb93519b1a91913723a1130cfafeee3f72200d870d88e91a6fc5470ede5c" +checksum = "fa84836dc2392df6f43d6a29d37fb56a8ebdc8b3f4e10ae8dc15861fd20278fb" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2719,9 +2713,9 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e367e6a71051d0ebdd29b2f85d12059b38b1d1f172c6906e80016da662226bd" +checksum = "587164e03ad68732aa9e7bfe5686e3f25970d4c64fd4bd80790749840892dae5" dependencies = [ "datafusion-doc", "quote", @@ -2730,9 +2724,9 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e929015451a67f77d9d8b727b2bf3a40c4445fdef6cdc53281d7d97c76888ace" +checksum = "77f20e8cf9e8654d92f4c16b24c487353ee5bf153ffc12d5772cd399ab8cd281" dependencies = [ "arrow", "chrono", @@ -2749,11 +2743,10 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b1e68aba7a4b350401cfdf25a3d6f989ad898a7410164afe9ca52080244cb59" +checksum = "f015a4a82f6f7ff7e1d8d4bf3870a936752fa38b17705dfcc14adef95aa8922c" dependencies = [ - "ahash", "arrow", "datafusion-common", "datafusion-expr", @@ -2761,20 +2754,19 @@ dependencies = [ "datafusion-functions-aggregate-common", "datafusion-physical-expr-common", "half", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap 2.14.0", "itertools 0.14.0", "parking_lot", - "paste", "petgraph", "tokio", ] [[package]] name = "datafusion-physical-expr-adapter" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea22315f33cf2e0adc104e8ec42e285f6ed93998d565c65e82fec6a9ee9f9db4" +checksum = "51e6ffff8acdfe54e0ea15ccf38115c4a9184433b0439f42907637928d00a235" dependencies = [ "arrow", "datafusion-common", @@ -2787,26 +2779,26 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04b45ea8ad3ac2d78f2ea2a76053e06591c9629c7a603eda16c10649ecf4362" +checksum = "7967a3e171c6a4bf09474b3f7a14f1a3db13ed1714ba12156f33fcce2bba54e8" dependencies = [ - "ahash", "arrow", "chrono", "datafusion-common", "datafusion-expr-common", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap 2.14.0", "itertools 0.14.0", "parking_lot", + "pin-project", ] [[package]] name = "datafusion-physical-optimizer" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cb13397809a425918f608dfe8653f332015a3e330004ab191b4404187238b95" +checksum = "59ff803e2a96054cb6d83f35f9e60fd4f42eac515e1932bd1b2dbc91d5fcbf36" dependencies = [ "arrow", "datafusion-common", @@ -2822,12 +2814,13 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5edc023675791af9d5fb4cc4c24abf5f7bd3bd4dcf9e5bd90ea1eff6976dcc79" +checksum = "776ee54d47d15bdb126452f9ca17b03761e3b004682914beaedd3f86eb507fbc" dependencies = [ - "ahash", "arrow", + "arrow-data", + "arrow-ipc", "arrow-ord", "arrow-schema", "async-trait", @@ -2842,7 +2835,7 @@ dependencies = [ "datafusion-physical-expr-common", "futures", "half", - "hashbrown 0.16.1", + "hashbrown 0.17.1", "indexmap 2.14.0", "itertools 0.14.0", "log", @@ -2854,9 +2847,9 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8c76860e355616555081cab5968cec1af7a80701ff374510860bcd567e365a" +checksum = "d5fb9e5774660aa69c3ba93c610f175f75b65cb8c3776edb3626de8f3a4f4ee3" dependencies = [ "arrow", "datafusion-common", @@ -2865,15 +2858,14 @@ dependencies = [ "datafusion-physical-expr", "datafusion-physical-expr-common", "datafusion-physical-plan", - "itertools 0.14.0", "log", ] [[package]] name = "datafusion-session" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5412111aa48e2424ba926112e192f7a6b7e4ccb450145d25ce5ede9f19dc491e" +checksum = "15ce715fa2a61f4623cc234bcc14a3ef6a91f189128d5b14b468a6a17cdfc417" dependencies = [ "async-trait", "datafusion-common", @@ -2885,9 +2877,9 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "53.1.0" +version = "54.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0d133ddf8b9b3b872acac900157f783e7b879fe9a6bccf389abebbfac45ec1" +checksum = "6094ad36a3ed6d7ac87b20b479b2d0b118250f66cf997603829fdc65b44a7099" dependencies = [ "arrow", "bigdecimal", @@ -2898,7 +2890,7 @@ dependencies = [ "indexmap 2.14.0", "log", "regex", - "sqlparser 0.61.0", + "sqlparser 0.62.0", ] [[package]] @@ -3014,7 +3006,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3237,7 +3229,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -3429,8 +3421,8 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "fsst" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "rand 0.9.5", @@ -3917,6 +3909,11 @@ name = "hashbrown" version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash 0.2.0", +] [[package]] name = "heapify" @@ -4221,7 +4218,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.6.3", + "socket2 0.5.10", "system-configuration", "tokio", "tower-service", @@ -4520,7 +4517,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4614,7 +4611,7 @@ dependencies = [ "portable-atomic-util", "serde_core", "wasm-bindgen", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -4780,8 +4777,8 @@ checksum = "e037a2e1d8d5fdbd49b16a4ea09d5d6401c1f29eca5ff29d03d3824dba16256a" [[package]] name = "lance" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arc-swap", "arrow", @@ -4855,8 +4852,8 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-buffer", @@ -4878,7 +4875,7 @@ dependencies = [ [[package]] name = "lance-arrow-scalar" version = "58.0.0" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-buffer", @@ -4892,7 +4889,7 @@ dependencies = [ [[package]] name = "lance-arrow-stats" version = "58.0.0" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-schema", @@ -4901,8 +4898,8 @@ dependencies = [ [[package]] name = "lance-bitpacking" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrayref", "crunchy", @@ -4912,8 +4909,8 @@ dependencies = [ [[package]] name = "lance-core" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-buffer", @@ -4951,8 +4948,8 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "arrow-array", @@ -4982,8 +4979,8 @@ dependencies = [ [[package]] name = "lance-datagen" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "arrow-array", @@ -5000,8 +4997,8 @@ dependencies = [ [[package]] name = "lance-derive" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "proc-macro2", "quote", @@ -5010,8 +5007,8 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-arith", "arrow-array", @@ -5046,8 +5043,8 @@ dependencies = [ [[package]] name = "lance-file" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-arith", "arrow-array", @@ -5077,8 +5074,8 @@ dependencies = [ [[package]] name = "lance-index" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arc-swap", "arrow", @@ -5113,6 +5110,7 @@ dependencies = [ "lance-datagen", "lance-encoding", "lance-file", + "lance-index-core", "lance-io", "lance-linalg", "lance-select", @@ -5141,10 +5139,33 @@ dependencies = [ "uuid", ] +[[package]] +name = "lance-index-core" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" +dependencies = [ + "arrow-array", + "arrow-schema", + "arrow-select", + "async-trait", + "bytes", + "datafusion", + "datafusion-common", + "datafusion-expr", + "futures", + "lance-core", + "lance-io", + "lance-select", + "prost-types", + "roaring", + "serde", + "serde_json", +] + [[package]] name = "lance-io" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "arrow-arith", @@ -5162,6 +5183,7 @@ dependencies = [ "bytes", "chrono", "futures", + "goosefs-sdk", "http 1.4.2", "io-uring", "lance-arrow", @@ -5186,8 +5208,8 @@ dependencies = [ [[package]] name = "lance-linalg" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-buffer", @@ -5203,8 +5225,8 @@ dependencies = [ [[package]] name = "lance-namespace" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "async-trait", @@ -5216,8 +5238,8 @@ dependencies = [ [[package]] name = "lance-namespace-impls" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "arrow-ipc", @@ -5271,8 +5293,8 @@ dependencies = [ [[package]] name = "lance-select" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-buffer", @@ -5287,8 +5309,8 @@ dependencies = [ [[package]] name = "lance-table" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow", "arrow-array", @@ -5327,8 +5349,8 @@ dependencies = [ [[package]] name = "lance-testing" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "arrow-array", "arrow-schema", @@ -5341,8 +5363,8 @@ dependencies = [ [[package]] name = "lance-tokenizer" -version = "9.0.0-beta.24" -source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-beta.24#98b711104e57ec9453d28b9d05119233c3f14af9" +version = "9.0.0-rc.1" +source = "git+https://github.com/lance-format/lance.git?tag=v9.0.0-rc.1#cec0b7dffe2d85c7e66dbe9d1f3891c297903a1d" dependencies = [ "icu_segmenter", "jieba-rs", @@ -6185,7 +6207,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -7564,8 +7586,8 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ - "heck 0.5.0", - "itertools 0.14.0", + "heck 0.4.1", + "itertools 0.11.0", "log", "multimap", "petgraph", @@ -7584,7 +7606,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.11.0", "proc-macro2", "quote", "syn 2.0.117", @@ -7793,7 +7815,7 @@ dependencies = [ "quinn-udp", "rustc-hash", "rustls 0.23.40", - "socket2 0.6.3", + "socket2 0.5.10", "thiserror 2.0.18", "tokio", "tracing", @@ -7831,9 +7853,9 @@ dependencies = [ "cfg_aliases", "libc", "once_cell", - "socket2 0.6.3", + "socket2 0.5.10", "tracing", - "windows-sys 0.60.2", + "windows-sys 0.59.0", ] [[package]] @@ -8607,7 +8629,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -8678,7 +8700,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -9246,7 +9268,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.117", @@ -9258,7 +9280,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54254b8531cafa275c5e096f62d48c81435d1015405a91198ddb11e967301d40" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.117", @@ -9353,9 +9375,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.61.0" +version = "0.62.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf5ea8d4d7c808e1af1cbabebca9a2abe603bcefc22294c5b95018d53200cb7" +checksum = "13c6d1b651dc4edf07eead2a0c6c78016ce971bc2c10da5266861b13f25e7cec" dependencies = [ "log", "sqlparser_derive", @@ -9691,7 +9713,7 @@ dependencies = [ "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -10668,7 +10690,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 0528cd9d9..d87cb1558 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,20 +13,20 @@ categories = ["database-implementations"] rust-version = "1.91.0" [workspace.dependencies] -lance = { "version" = "=9.0.0-beta.24", default-features = false, "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-core = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-datagen = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-file = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-io = { "version" = "=9.0.0-beta.24", default-features = false, "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-index = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-linalg = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-namespace-impls = { "version" = "=9.0.0-beta.24", default-features = false, "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-table = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-testing = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-datafusion = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-encoding = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } -lance-arrow = { "version" = "=9.0.0-beta.24", "tag" = "v9.0.0-beta.24", "git" = "https://github.com/lance-format/lance.git" } +lance = { "version" = "=9.0.0-rc.1", default-features = false, "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-core = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-datagen = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-file = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-io = { "version" = "=9.0.0-rc.1", default-features = false, "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-index = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-linalg = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-namespace = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-namespace-impls = { "version" = "=9.0.0-rc.1", default-features = false, "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-table = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-testing = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-datafusion = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-encoding = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } +lance-arrow = { "version" = "=9.0.0-rc.1", "tag" = "v9.0.0-rc.1", "git" = "https://github.com/lance-format/lance.git" } ahash = "0.8" # Note that this one does not include pyarrow arrow = { version = "58.0.0", optional = false } @@ -39,15 +39,15 @@ arrow-schema = "58.0.0" arrow-select = "58.0.0" arrow-cast = "58.0.0" async-trait = "0" -datafusion = { version = "53.0.0", default-features = false } -datafusion-catalog = "53.0.0" -datafusion-common = { version = "53.0.0", default-features = false } -datafusion-execution = "53.0.0" -datafusion-expr = "53.0.0" -datafusion-functions = "53.0.0" -datafusion-physical-plan = "53.0.0" -datafusion-physical-expr = "53.0.0" -datafusion-sql = "53.0.0" +datafusion = { version = "54.0.0", default-features = false } +datafusion-catalog = "54.0.0" +datafusion-common = { version = "54.0.0", default-features = false } +datafusion-execution = "54.0.0" +datafusion-expr = "54.0.0" +datafusion-functions = "54.0.0" +datafusion-physical-plan = "54.0.0" +datafusion-physical-expr = "54.0.0" +datafusion-sql = "54.0.0" env_logger = "0.11" half = { "version" = "2.7.1", default-features = false, features = [ "num-traits", diff --git a/java/pom.xml b/java/pom.xml index 834422919..9739fae65 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -28,7 +28,7 @@ UTF-8 15.0.0 - 9.0.0-beta.24 + 9.0.0-rc.1 false 2.30.0 1.7 diff --git a/rust/lancedb/src/dataloader/permutation/shuffle.rs b/rust/lancedb/src/dataloader/permutation/shuffle.rs index 6c0e35d7d..370149331 100644 --- a/rust/lancedb/src/dataloader/permutation/shuffle.rs +++ b/rust/lancedb/src/dataloader/permutation/shuffle.rs @@ -8,13 +8,13 @@ use arrow_array::{RecordBatch, UInt64Array}; use futures::{StreamExt, TryStreamExt}; use lance::io::ObjectStore; use lance_core::{cache::LanceCache, utils::futures::FinallyStreamExt}; -use lance_encoding::decoder::DecoderPlugins; +use lance_encoding::decoder::{DecoderPlugins, FilterExpression}; use lance_file::{ reader::{FileReader, FileReaderOptions}, writer::{FileWriter, FileWriterOptions}, }; -use lance_index::scalar::IndexReader; use lance_io::{ + ReadBatchParams, scheduler::{ScanScheduler, SchedulerConfig}, utils::CachedFileSize, }; @@ -239,7 +239,17 @@ impl Shuffler { ) .await?; // Need to read the entire file in a single batch for in-memory shuffling - let batch = reader.read_record_batch(0, reader.num_rows()).await?; + let batches = reader + .read_stream( + ReadBatchParams::RangeFull, + reader.num_rows() as u32, + 1, + FilterExpression::no_filter(), + ) + .await? + .try_collect::>() + .await?; + let batch = concat_batches(&batches[0].schema(), &batches)?; let mut rng = rng.lock().unwrap_or_else(|e| e.into_inner()); Self::shuffle_batch(&batch, &mut rng, clump_size) } diff --git a/rust/lancedb/src/dataloader/permutation/split.rs b/rust/lancedb/src/dataloader/permutation/split.rs index ca9920eff..202691bf1 100644 --- a/rust/lancedb/src/dataloader/permutation/split.rs +++ b/rust/lancedb/src/dataloader/permutation/split.rs @@ -8,7 +8,7 @@ use std::sync::{ use arrow_array::{Array, BooleanArray, RecordBatch, UInt64Array}; use arrow_schema::{DataType, Field, Schema}; -use datafusion_common::hash_utils::create_hashes; +use datafusion_common::hash_utils::{RandomState, create_hashes}; use futures::{StreamExt, TryStreamExt}; use lance_arrow::SchemaExt; @@ -234,7 +234,7 @@ impl Splitter { .cloned() .collect::>(); let mut hashes = vec![0; batch.num_rows()]; - let random_state = ahash::RandomState::with_seeds(0, 0, 0, 0); + let random_state = RandomState::with_seed(0); create_hashes(&arrays, &random_state, &mut hashes).unwrap(); // As an example, let's assume the weights are 1, 2. Our total weight is 3. // diff --git a/rust/lancedb/src/remote/table.rs b/rust/lancedb/src/remote/table.rs index 8684d9070..9f28f1657 100644 --- a/rust/lancedb/src/remote/table.rs +++ b/rust/lancedb/src/remote/table.rs @@ -1250,8 +1250,7 @@ impl RemoteTable { match result { Ok(_) => { - let add_result = insert - .as_any() + let add_result = (insert.as_ref() as &dyn std::any::Any) .downcast_ref::>() .and_then(|i| i.add_result()) .unwrap_or(AddResult { version: 0 }); diff --git a/rust/lancedb/src/remote/table/insert.rs b/rust/lancedb/src/remote/table/insert.rs index 014119ff9..649ebc225 100644 --- a/rust/lancedb/src/remote/table/insert.rs +++ b/rust/lancedb/src/remote/table/insert.rs @@ -3,7 +3,6 @@ //! DataFusion ExecutionPlan for inserting data into remote LanceDB tables. -use std::any::Any; use std::sync::{Arc, Mutex}; use arrow_array::{ArrayRef, RecordBatch, UInt64Array}; @@ -237,10 +236,6 @@ impl ExecutionPlan for RemoteInsertExec { Self::static_name() } - fn as_any(&self) -> &dyn Any { - self - } - fn properties(&self) -> &Arc { &self.properties } diff --git a/rust/lancedb/src/table/datafusion.rs b/rust/lancedb/src/table/datafusion.rs index ec1912947..4272df16d 100644 --- a/rust/lancedb/src/table/datafusion.rs +++ b/rust/lancedb/src/table/datafusion.rs @@ -89,10 +89,6 @@ impl ExecutionPlan for MetadataEraserExec { "MetadataEraserExec" } - fn as_any(&self) -> &dyn std::any::Any { - self - } - fn properties(&self) -> &Arc { &self.properties } @@ -138,7 +134,7 @@ impl ExecutionPlan for MetadataEraserExec { ) } - fn partition_statistics(&self, partition: Option) -> DataFusionResult { + fn partition_statistics(&self, partition: Option) -> DataFusionResult> { self.input.partition_statistics(partition) } @@ -188,10 +184,6 @@ impl BaseTableAdapter { #[async_trait] impl TableProvider for BaseTableAdapter { - fn as_any(&self) -> &dyn std::any::Any { - self - } - fn schema(&self) -> Arc { self.schema.clone() } diff --git a/rust/lancedb/src/table/datafusion/insert.rs b/rust/lancedb/src/table/datafusion/insert.rs index 0428e03b6..e176c228b 100644 --- a/rust/lancedb/src/table/datafusion/insert.rs +++ b/rust/lancedb/src/table/datafusion/insert.rs @@ -3,7 +3,6 @@ //! DataFusion ExecutionPlan for inserting data into LanceDB tables. -use std::any::Any; use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::{Arc, LazyLock, Mutex}; @@ -146,10 +145,6 @@ impl ExecutionPlan for InsertExec { Self::static_name() } - fn as_any(&self) -> &dyn Any { - self - } - fn properties(&self) -> &Arc { &self.properties } diff --git a/rust/lancedb/src/table/datafusion/reject_nan.rs b/rust/lancedb/src/table/datafusion/reject_nan.rs index ca0ba69db..084c9722b 100644 --- a/rust/lancedb/src/table/datafusion/reject_nan.rs +++ b/rust/lancedb/src/table/datafusion/reject_nan.rs @@ -3,7 +3,6 @@ //! A DataFusion projection that rejects vectors containing NaN values. -use std::any::Any; use std::sync::{Arc, LazyLock}; use arrow_array::{Array, FixedSizeListArray}; @@ -86,10 +85,6 @@ impl RejectNanUdf { } impl ScalarUDFImpl for RejectNanUdf { - fn as_any(&self) -> &dyn Any { - self - } - fn name(&self) -> &str { "reject_nan" } diff --git a/rust/lancedb/src/table/datafusion/scannable_exec.rs b/rust/lancedb/src/table/datafusion/scannable_exec.rs index 8a7177480..b3a4cc536 100644 --- a/rust/lancedb/src/table/datafusion/scannable_exec.rs +++ b/rust/lancedb/src/table/datafusion/scannable_exec.rs @@ -66,10 +66,6 @@ impl ExecutionPlan for ScannableExec { "ScannableExec" } - fn as_any(&self) -> &dyn std::any::Any { - self - } - fn properties(&self) -> &Arc { &self.properties } @@ -121,14 +117,14 @@ impl ExecutionPlan for ScannableExec { ))) } - fn partition_statistics(&self, _partition: Option) -> DFResult { - Ok(Statistics { + fn partition_statistics(&self, _partition: Option) -> DFResult> { + Ok(Arc::new(Statistics { num_rows: self .num_rows .map(Precision::Exact) .unwrap_or(Precision::Absent), total_byte_size: Precision::Absent, column_statistics: vec![], - }) + })) } } diff --git a/rust/lancedb/src/table/datafusion/udtf/fts.rs b/rust/lancedb/src/table/datafusion/udtf/fts.rs index 5b50ddfa3..cc4d609b1 100644 --- a/rust/lancedb/src/table/datafusion/udtf/fts.rs +++ b/rust/lancedb/src/table/datafusion/udtf/fts.rs @@ -137,8 +137,7 @@ mod tests { }; // Downcast to BaseTableAdapter and apply FTS query - let base_adapter = table_provider - .as_any() + let base_adapter = (table_provider.as_ref() as &dyn std::any::Any) .downcast_ref::() .ok_or_else(|| { DataFusionError::Internal( diff --git a/rust/lancedb/src/table/query.rs b/rust/lancedb/src/table/query.rs index cfc4b17d3..28845e96f 100644 --- a/rust/lancedb/src/table/query.rs +++ b/rust/lancedb/src/table/query.rs @@ -982,10 +982,10 @@ mod tests { use crate::table::query::create_plan; fn find_ann_approx_mode(plan: &dyn ExecutionPlan) -> Option { - if let Some(ann) = plan.as_any().downcast_ref::() { + if let Some(ann) = (plan as &dyn std::any::Any).downcast_ref::() { return Some(ann.query().approx_mode); } - if let Some(ann) = plan.as_any().downcast_ref::() { + if let Some(ann) = (plan as &dyn std::any::Any).downcast_ref::() { return Some(ann.query.approx_mode); } plan.children()