diff --git a/Cargo.lock b/Cargo.lock index e707b4f71000..188d188d1137 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -421,9 +421,9 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" -version = "55.2.0" +version = "56.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f15b4c6b148206ff3a2b35002e08929c2462467b62b9c02036d9c34f9ef994" +checksum = "c26b57282a08ae92f727497805122fec964c6245cfa0e13f0e75452eaf3bc41f" dependencies = [ "arrow-arith", "arrow-array", @@ -443,9 +443,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30feb679425110209ae35c3fbf82404a39a4c0436bb3ec36164d8bffed2a4ce4" +checksum = "ad08897b81588f60ba983e3ca39bda2b179bdd84dced378e7df81a5313802ef8" dependencies = [ "arrow-array", "arrow-buffer", @@ -457,9 +457,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70732f04d285d49054a48b72c54f791bb3424abae92d27aafdf776c98af161c8" +checksum = "8548ca7c070d8db9ce7aa43f37393e4bfcf3f2d3681df278490772fd1673d08d" dependencies = [ "ahash", "arrow-buffer", @@ -468,15 +468,15 @@ dependencies = [ "chrono", "chrono-tz", "half", - "hashbrown 0.15.5", + "hashbrown 0.16.0", "num", ] [[package]] name = "arrow-buffer" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169b1d5d6cb390dd92ce582b06b23815c7953e9dfaaea75556e89d890d19993d" +checksum = "e003216336f70446457e280807a73899dd822feaf02087d31febca1363e2fccc" dependencies = [ "bytes", "half", @@ -485,9 +485,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "55.2.0" +version = "56.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f12eccc3e1c05a766cafb31f6a60a46c2f8efec9b74c6e0648766d30686af8" +checksum = "eed61d9d73eda8df9e3014843def37af3050b5080a9acbe108f045a316d5a0be" dependencies = [ "arrow-array", "arrow-buffer", @@ -506,9 +506,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "55.2.0" +version = "56.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "012c9fef3f4a11573b2c74aec53712ff9fdae4a95f4ce452d1bbf088ee00f06b" +checksum = "fa95b96ce0c06b4d33ac958370db8c0d31e88e54f9d6e08b0353d18374d9f991" dependencies = [ "arrow-array", "arrow-cast", @@ -521,9 +521,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de1ce212d803199684b658fc4ba55fb2d7e87b213de5af415308d2fee3619c2" +checksum = "a5c64fff1d142f833d78897a772f2e5b55b36cb3e6320376f0961ab0db7bd6d0" dependencies = [ "arrow-buffer", "arrow-schema", @@ -533,14 +533,15 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9ea5967e8b2af39aff5d9de2197df16e305f47f404781d3230b2dc672da5d92" +checksum = "1d3594dcddccc7f20fd069bc8e9828ce37220372680ff638c5e00dea427d88f5" dependencies = [ "arrow-array", "arrow-buffer", "arrow-data", "arrow-schema", + "arrow-select", "flatbuffers", "lz4_flex", "zstd", @@ -548,9 +549,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "55.2.0" +version = "56.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5709d974c4ea5be96d900c01576c7c0b99705f4a3eec343648cb1ca863988a9c" +checksum = "26d747573390905905a2dc4c5a61a96163fe2750457f90a04ee2a88680758c79" dependencies = [ "arrow-array", "arrow-buffer", @@ -570,9 +571,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6506e3a059e3be23023f587f79c82ef0bcf6d293587e3272d20f2d30b969b5a7" +checksum = "3c8f82583eb4f8d84d4ee55fd1cb306720cddead7596edce95b50ee418edf66f" dependencies = [ "arrow-array", "arrow-buffer", @@ -583,9 +584,9 @@ dependencies = [ [[package]] name = "arrow-pyarrow" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e55ecf16b9b61d433f6e63c72fc6afcf2597d7db96583de88ebb887d1822268" +checksum = "7d924b32e96f8bb74d94cd82bd97b313c432fcb0ea331689ef9e7c6b8be4b258" dependencies = [ "arrow-array", "arrow-data", @@ -595,9 +596,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52bf7393166beaf79b4bed9bfdf19e97472af32ce5b6b48169d321518a08cae2" +checksum = "9d07ba24522229d9085031df6b94605e0f4b26e099fb7cdeec37abd941a73753" dependencies = [ "arrow-array", "arrow-buffer", @@ -608,9 +609,9 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7686986a3bf2254c9fb130c623cdcb2f8e1f15763e7c71c310f0834da3d292" +checksum = "b3aa9e59c611ebc291c28582077ef25c97f1975383f1479b12f3b9ffee2ffabe" dependencies = [ "bitflags 2.9.4", "serde", @@ -619,9 +620,9 @@ dependencies = [ [[package]] name = "arrow-select" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd2b45757d6a2373faa3352d02ff5b54b098f5e21dccebc45a21806bc34501e5" +checksum = "8c41dbbd1e97bfcaee4fcb30e29105fb2c75e4d82ae4de70b792a5d3f66b2e7a" dependencies = [ "ahash", "arrow-array", @@ -633,9 +634,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "55.2.0" +version = "56.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0377d532850babb4d927a06294314b316e23311503ed580ec6ce6a0158f49d40" +checksum = "53f5183c150fbc619eede22b861ea7c0eebed8eaac0333eaa7f6da5205fd504d" dependencies = [ "arrow-array", "arrow-buffer", @@ -715,7 +716,7 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" dependencies = [ - "event-listener 5.4.1", + "event-listener", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -808,7 +809,7 @@ version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5fd03604047cee9b6ce9de9f70c6cd540a0520c813cbd49bae61f33ab80ed1dc" dependencies = [ - "event-listener 5.4.1", + "event-listener", "event-listener-strategy", "pin-project-lite", ] @@ -824,15 +825,6 @@ dependencies = [ "futures-lite", ] -[[package]] -name = "async-priority-channel" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acde96f444d31031f760c5c43dc786b97d3e1cb2ee49dd06898383fe9a999758" -dependencies = [ - "event-listener 4.0.3", -] - [[package]] name = "async-process" version = "2.5.0" @@ -846,7 +838,7 @@ dependencies = [ "async-task", "blocking", "cfg-if", - "event-listener 5.4.1", + "event-listener", "futures-lite", "rustix 1.1.2", ] @@ -2372,9 +2364,9 @@ dependencies = [ [[package]] name = "datafusion" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69dfeda1633bf8ec75b068d9f6c27cdc392ffcf5ff83128d5dbab65b73c1fd02" +checksum = "2af15bb3c6ffa33011ef579f6b0bcbe7c26584688bd6c994f548e44df67f011a" dependencies = [ "arrow", "arrow-ipc", @@ -2401,6 +2393,7 @@ dependencies = [ "datafusion-functions-window", "datafusion-optimizer", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-optimizer", "datafusion-physical-plan", @@ -2408,7 +2401,6 @@ dependencies = [ "datafusion-sql", "flate2", "futures", - "hex", "itertools 0.14.0", "log", "object_store", @@ -2427,9 +2419,9 @@ dependencies = [ [[package]] name = "datafusion-catalog" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2848fd1e85e2953116dab9cc2eb109214b0888d7bbd2230e30c07f1794f642c0" +checksum = "187622262ad8f7d16d3be9202b4c1e0116f1c9aa387e5074245538b755261621" dependencies = [ "arrow", "async-trait", @@ -2453,9 +2445,9 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051a1634628c2d1296d4e326823e7536640d87a118966cdaff069b68821ad53b" +checksum = "9657314f0a32efd0382b9a46fdeb2d233273ece64baa68a7c45f5a192daf0f83" dependencies = [ "arrow", "async-trait", @@ -2476,9 +2468,9 @@ dependencies = [ [[package]] name = "datafusion-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765e4ad4ef7a4500e389a3f1e738791b71ff4c29fd00912c2f541d62b25da096" +checksum = "5a83760d9a13122d025fbdb1d5d5aaf93dd9ada5e90ea229add92aa30898b2d1" dependencies = [ "ahash", "arrow", @@ -2487,7 +2479,6 @@ dependencies = [ "chrono", "half", "hashbrown 0.14.5", - "hex", "indexmap 2.11.4", "libc", "log", @@ -2502,9 +2493,9 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40a2ae8393051ce25d232a6065c4558ab5a535c9637d5373bacfd464ac88ea12" +checksum = "5b6234a6c7173fe5db1c6c35c01a12b2aa0f803a3007feee53483218817f8b1e" dependencies = [ "futures", "log", @@ -2513,9 +2504,9 @@ dependencies = [ [[package]] name = "datafusion-datasource" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90cd841a77f378bc1a5c4a1c37345e1885a9203b008203f9f4b3a769729bf330" +checksum = "7256c9cb27a78709dd42d0c80f0178494637209cac6e29d5c93edd09b6721b86" dependencies = [ "arrow", "async-compression", @@ -2528,6 +2519,7 @@ dependencies = [ "datafusion-execution", "datafusion-expr", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-plan", "datafusion-session", @@ -2549,9 +2541,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77f4a2c64939c6f0dd15b246723a699fa30d59d0133eb36a86e8ff8c6e2a8dc6" +checksum = "64533a90f78e1684bfb113d200b540f18f268134622d7c96bbebc91354d04825" dependencies = [ "arrow", "async-trait", @@ -2574,9 +2566,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11387aaf931b2993ad9273c63ddca33f05aef7d02df9b70fb757429b4b71cdae" +checksum = "8d7ebeb12c77df0aacad26f21b0d033aeede423a64b2b352f53048a75bf1d6e6" dependencies = [ "arrow", "async-trait", @@ -2599,9 +2591,9 @@ dependencies = [ [[package]] name = "datafusion-datasource-parquet" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028f430c5185120bf806347848b8d8acd9823f4038875b3820eeefa35f2bb4a2" +checksum = "09e783c4c7d7faa1199af2df4761c68530634521b176a8d1331ddbc5a5c75133" dependencies = [ "arrow", "async-trait", @@ -2614,13 +2606,13 @@ dependencies = [ "datafusion-expr", "datafusion-functions-aggregate", "datafusion-physical-expr", + "datafusion-physical-expr-adapter", "datafusion-physical-expr-common", "datafusion-physical-optimizer", "datafusion-physical-plan", "datafusion-pruning", "datafusion-session", "futures", - "hex", "itertools 0.14.0", "log", "object_store", @@ -2632,17 +2624,18 @@ dependencies = [ [[package]] name = "datafusion-doc" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff336d1d755399753a9e4fbab001180e346fc8bfa063a97f1214b82274c00f8" +checksum = "99ee6b1d9a80d13f9deb2291f45c07044b8e62fb540dbde2453a18be17a36429" [[package]] name = "datafusion-execution" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "042ea192757d1b2d7dcf71643e7ff33f6542c7704f00228d8b85b40003fd8e0f" +checksum = "a4cec0a57653bec7b933fb248d3ffa3fa3ab3bd33bd140dc917f714ac036f531" dependencies = [ "arrow", + "async-trait", "dashmap", "datafusion-common", "datafusion-expr", @@ -2657,9 +2650,9 @@ dependencies = [ [[package]] name = "datafusion-expr" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "025222545d6d7fab71e2ae2b356526a1df67a2872222cbae7535e557a42abd2e" +checksum = "ef76910bdca909722586389156d0aa4da4020e1631994d50fadd8ad4b1aa05fe" dependencies = [ "arrow", "async-trait", @@ -2679,9 +2672,9 @@ dependencies = [ [[package]] name = "datafusion-expr-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5c267104849d5fa6d81cf5ba88f35ecd58727729c5eb84066c25227b644ae2" +checksum = "6d155ccbda29591ca71a1344dd6bed26c65a4438072b400df9db59447f590bb6" dependencies = [ "arrow", "datafusion-common", @@ -2692,9 +2685,9 @@ dependencies = [ [[package]] name = "datafusion-ffi" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec21805d9df2d834e4c6ddfbf8a1bed2bd460b89b01686fe0dcd1cee06d0b60f" +checksum = "25ddb7c4e645df080c27dad13a198d191da328dd1c98e198664a7a0f64b335cc" dependencies = [ "abi_stable", "arrow", @@ -2714,9 +2707,9 @@ dependencies = [ [[package]] name = "datafusion-functions" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c620d105aa208fcee45c588765483314eb415f5571cfd6c1bae3a59c5b4d15bb" +checksum = "7de2782136bd6014670fd84fe3b0ca3b3e4106c96403c3ae05c0598577139977" dependencies = [ "arrow", "arrow-buffer", @@ -2743,9 +2736,9 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35f61d5198a35ed368bf3aacac74f0d0fa33de7a7cb0c57e9f68ab1346d2f952" +checksum = "07331fc13603a9da97b74fd8a273f4238222943dffdbbed1c4c6f862a30105bf" dependencies = [ "ahash", "arrow", @@ -2764,9 +2757,9 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13efdb17362be39b5024f6da0d977ffe49c0212929ec36eec550e07e2bc7812f" +checksum = "b5951e572a8610b89968a09b5420515a121fbc305c0258651f318dc07c97ab17" dependencies = [ "ahash", "arrow", @@ -2777,9 +2770,9 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9187678af567d7c9e004b72a0b6dc5b0a00ebf4901cb3511ed2db4effe092e66" +checksum = "fdacca9302c3d8fc03f3e94f338767e786a88a33f5ebad6ffc0e7b50364b9ea3" dependencies = [ "arrow", "arrow-ord", @@ -2799,9 +2792,9 @@ dependencies = [ [[package]] name = "datafusion-functions-table" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf156589cc21ef59fe39c7a9a841b4a97394549643bbfa88cc44e8588cf8fe5" +checksum = "8c37ff8a99434fbbad604a7e0669717c58c7c4f14c472d45067c4b016621d981" dependencies = [ "arrow", "async-trait", @@ -2815,9 +2808,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edcb25e3e369f1366ec9a261456e45b5aad6ea1c0c8b4ce546587207c501ed9e" +checksum = "48e2aea7c79c926cffabb13dc27309d4eaeb130f4a21c8ba91cdd241c813652b" dependencies = [ "arrow", "datafusion-common", @@ -2833,9 +2826,9 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8996a8e11174d0bd7c62dc2f316485affc6ae5ffd5b8a68b508137ace2310294" +checksum = "0fead257ab5fd2ffc3b40fda64da307e20de0040fe43d49197241d9de82a487f" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -2843,9 +2836,9 @@ dependencies = [ [[package]] name = "datafusion-macros" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ee8d1be549eb7316f437035f2cec7ec42aba8374096d807c4de006a3b5d78a" +checksum = "ec6f637bce95efac05cdfb9b6c19579ed4aa5f6b94d951cfa5bb054b7bb4f730" dependencies = [ "datafusion-expr", "quote", @@ -2854,9 +2847,9 @@ dependencies = [ [[package]] name = "datafusion-optimizer" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9fa98671458254928af854e5f6c915e66b860a8bde505baea0ff2892deab74d" +checksum = "c6583ef666ae000a613a837e69e456681a9faa96347bf3877661e9e89e141d8a" dependencies = [ "arrow", "chrono", @@ -2874,9 +2867,9 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3515d51531cca5f7b5a6f3ea22742b71bb36fc378b465df124ff9a2fa349b002" +checksum = "c8668103361a272cbbe3a61f72eca60c9b7c706e87cc3565bcf21e2b277b84f6" dependencies = [ "ahash", "arrow", @@ -2890,15 +2883,31 @@ dependencies = [ "indexmap 2.11.4", "itertools 0.14.0", "log", + "parking_lot", "paste", "petgraph 0.8.2", ] +[[package]] +name = "datafusion-physical-expr-adapter" +version = "50.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "815acced725d30601b397e39958e0e55630e0a10d66ef7769c14ae6597298bb0" +dependencies = [ + "arrow", + "datafusion-common", + "datafusion-expr", + "datafusion-functions", + "datafusion-physical-expr", + "datafusion-physical-expr-common", + "itertools 0.14.0", +] + [[package]] name = "datafusion-physical-expr-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24485475d9c618a1d33b2a3dad003d946dc7a7bbf0354d125301abc0a5a79e3e" +checksum = "6652fe7b5bf87e85ed175f571745305565da2c0b599d98e697bcbedc7baa47c3" dependencies = [ "ahash", "arrow", @@ -2910,9 +2919,9 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9da411a0a64702f941a12af2b979434d14ec5d36c6f49296966b2c7639cbb3a" +checksum = "49b7d623eb6162a3332b564a0907ba00895c505d101b99af78345f1acf929b5c" dependencies = [ "arrow", "datafusion-common", @@ -2930,9 +2939,9 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6d168282bb7b54880bb3159f89b51c047db4287f5014d60c3ef4c6e1468212b" +checksum = "e2f7f778a1a838dec124efb96eae6144237d546945587557c9e6936b3414558c" dependencies = [ "ahash", "arrow", @@ -2944,6 +2953,7 @@ dependencies = [ "datafusion-common-runtime", "datafusion-execution", "datafusion-expr", + "datafusion-functions-aggregate-common", "datafusion-functions-window-common", "datafusion-physical-expr", "datafusion-physical-expr-common", @@ -2960,9 +2970,9 @@ dependencies = [ [[package]] name = "datafusion-proto" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b36a0c84f4500efd90487a004b533bd81de1f2bb3f143f71b7526f33b85d2e2" +checksum = "a7df9f606892e6af45763d94d210634eec69b9bb6ced5353381682ff090028a3" dependencies = [ "arrow", "chrono", @@ -2976,9 +2986,9 @@ dependencies = [ [[package]] name = "datafusion-proto-common" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ec788be522806740ad6372c0a2f7e45fb37cb37f786d9b77933add49cdd058f" +checksum = "b4b14f288ca4ef77743d9672cafecf3adfffff0b9b04af9af79ecbeaaf736901" dependencies = [ "arrow", "datafusion-common", @@ -2987,9 +2997,9 @@ dependencies = [ [[package]] name = "datafusion-pruning" -version = "49.0.0" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391a457b9d23744c53eeb89edd1027424cba100581488d89800ed841182df905" +checksum = "cd1e59e2ca14fe3c30f141600b10ad8815e2856caa59ebbd0e3e07cd3d127a65" dependencies = [ "arrow", "arrow-schema", @@ -3005,9 +3015,9 @@ dependencies = [ [[package]] name = "datafusion-session" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053201c2bb729c7938f85879034df2b5a52cfaba16f1b3b66ab8505c81b2aad3" +checksum = "21ef8e2745583619bd7a49474e8f45fbe98ebb31a133f27802217125a7b3d58d" dependencies = [ "arrow", "async-trait", @@ -3029,9 +3039,9 @@ dependencies = [ [[package]] name = "datafusion-sql" -version = "49.0.2" +version = "50.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9082779be8ce4882189b229c0cff4393bd0808282a7194130c9f32159f185e25" +checksum = "89abd9868770386fede29e5a4b14f49c0bf48d652c3b9d7a8a0332329b87d50b" dependencies = [ "arrow", "bigdecimal", @@ -3510,6 +3520,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" +[[package]] +name = "encoding_rs" +version = "0.8.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" +dependencies = [ + "cfg-if", +] + [[package]] name = "endi" version = "1.1.0" @@ -3686,17 +3705,6 @@ version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca81e6b4777c89fd810c25a4be2b1bd93ea034fbe58e6a75216a34c6b82c539b" -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - [[package]] name = "event-listener" version = "5.4.1" @@ -3714,7 +3722,7 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" dependencies = [ - "event-listener 5.4.1", + "event-listener", "pin-project-lite", ] @@ -3738,18 +3746,6 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8eb564c5c7423d25c886fb561d1e4ee69f72354d16918afa32c08811f6b6a55" -[[package]] -name = "fastbloom" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c1ddb9231d8554c2d6bdf4cfaabf0c59251658c68b6c95cd52dd0c513a912a" -dependencies = [ - "getrandom 0.3.3", - "libm", - "rand 0.9.2", - "siphasher", -] - [[package]] name = "fastdivide" version = "0.4.2" @@ -3928,9 +3924,9 @@ dependencies = [ [[package]] name = "fsst" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "385a42afb5474d91f22e39477c661436657dc7863d5b1d702a941b4983821d78" +checksum = "295735676bb13caa4d42e0ec4a9f683f2c879570b22925128288bf363c703a8b" dependencies = [ "arrow-array", "rand 0.9.2", @@ -4665,6 +4661,7 @@ dependencies = [ "hyper", "hyper-util", "rustls", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", @@ -5280,9 +5277,9 @@ dependencies = [ [[package]] name = "lance" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c224b235e12885852afaea750139093fbf37582880d4371b8dc7bdd62b2ec540" +checksum = "71555813afa19d7eadfb8adf20609d0c62bbc39e18c66fddc2f7e8ee5d7a107f" dependencies = [ "arrow", "arrow-arith", @@ -5319,6 +5316,7 @@ dependencies = [ "lance-index", "lance-io", "lance-linalg", + "lance-namespace", "lance-table", "log", "moka", @@ -5333,7 +5331,6 @@ dependencies = [ "serde_json", "snafu", "tantivy", - "tempfile", "tokio", "tokio-stream", "tracing", @@ -5343,9 +5340,9 @@ dependencies = [ [[package]] name = "lance-arrow" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599f08fe7e643b42107f6082d6feb017c0065b0475fb3a3f87afd4326c9d5e28" +checksum = "40766c050b3295fe4be49d79f80fe217a0b5f8626561bf077a864817ba72e9f3" dependencies = [ "arrow-array", "arrow-buffer", @@ -5363,9 +5360,9 @@ dependencies = [ [[package]] name = "lance-bitpacking" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631b34825ef34c7468800861018c87a2567e68d7a7b1e865a9d6ffacdc2d2d11" +checksum = "1e50c8911ea56acf2294d88259cc7208649502e2582b85e8bfc9ec8b958b1957" dependencies = [ "arrayref", "paste", @@ -5374,9 +5371,9 @@ dependencies = [ [[package]] name = "lance-core" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bbcf3de727dd36a802cfbebc6be306fd1364d5e93db9bb16e1d83ece4c5a03d" +checksum = "621efcb8ef8ecd4790f91db3bef8a3882692ba42a30cbeb4ad5fcb0ab5bdd2b4" dependencies = [ "arrow-array", "arrow-buffer", @@ -5402,6 +5399,7 @@ dependencies = [ "roaring", "serde_json", "snafu", + "tempfile", "tokio", "tokio-stream", "tokio-util", @@ -5411,9 +5409,9 @@ dependencies = [ [[package]] name = "lance-datafusion" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8371cd9708670353bbf9383d37a881b8e1fe94a786ea1e6043d1d627e31481ad" +checksum = "63f138b828abf6a571ad4fab179532d3a383275df9ee5005ad34d86b22bb9fd7" dependencies = [ "arrow", "arrow-array", @@ -5422,6 +5420,7 @@ dependencies = [ "arrow-schema", "arrow-select", "async-trait", + "chrono", "datafusion", "datafusion-common", "datafusion-functions", @@ -5435,16 +5434,15 @@ dependencies = [ "pin-project", "prost 0.13.5", "snafu", - "tempfile", "tokio", "tracing", ] [[package]] name = "lance-datagen" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0ecb8d93059ba71d84b511dd8ab643e6ff4911dc12935a86b8fdce8466d06a0" +checksum = "24bff460ae73d5a722f993afa0309d3c14848b0695a2021c0e1bd70de134f24a" dependencies = [ "arrow", "arrow-array", @@ -5461,9 +5459,9 @@ dependencies = [ [[package]] name = "lance-encoding" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed79fd76b6fed37582c073d5b1767cacaa753c08aebfe8ba9784c84197cf5e84" +checksum = "c3cdeae2eb2ec5f4dc20c65332cb68d54bb81cde9ee79fd5b92fbacf1c554888" dependencies = [ "arrow-arith", "arrow-array", @@ -5491,6 +5489,7 @@ dependencies = [ "prost-types 0.13.5", "rand 0.9.2", "snafu", + "strum", "tokio", "tracing", "xxhash-rust", @@ -5499,9 +5498,9 @@ dependencies = [ [[package]] name = "lance-file" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba0553a0eb0686ed5a849cd643fd37c49f8d142847b46d6b1a429b3d64e91b8c" +checksum = "3baf6dcef3fa2dcdcad17a22e075a7040dfada4b03179aaf54e0fe86c44e88eb" dependencies = [ "arrow-arith", "arrow-array", @@ -5526,20 +5525,19 @@ dependencies = [ "prost 0.13.5", "prost-build 0.13.5", "prost-types 0.13.5", - "roaring", "snafu", - "tempfile", "tokio", "tracing", ] [[package]] name = "lance-index" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b238b112a911effe05f8d6927e80c6c26165c0507421d18cf3ee4cfac562272" +checksum = "b77e902c163f86e3721e93968c31f72f398bdf50b86bbf8603202413d45e6c6c" dependencies = [ "arrow", + "arrow-arith", "arrow-array", "arrow-ord", "arrow-schema", @@ -5558,7 +5556,6 @@ dependencies = [ "datafusion-sql", "deepsize", "dirs", - "fastbloom", "fst", "futures", "half", @@ -5573,13 +5570,16 @@ dependencies = [ "lance-io", "lance-linalg", "lance-table", + "libm", "log", + "ndarray", "num-traits", "object_store", "prost 0.13.5", "prost-build 0.13.5", "prost-types 0.13.5", "rand 0.9.2", + "rand_distr 0.5.1", "rayon", "roaring", "serde", @@ -5595,9 +5595,9 @@ dependencies = [ [[package]] name = "lance-io" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "326ebfaf21eea1366b097259bd5ae0b718ef1c668767fc3f4ecd09b6e146f9c0" +checksum = "7efd718983fb15257aa58496eb070d6296b78ef4b738a3a0bd7519e2fe918105" dependencies = [ "arrow", "arrow-arith", @@ -5607,7 +5607,6 @@ dependencies = [ "arrow-data", "arrow-schema", "arrow-select", - "async-priority-channel", "async-recursion", "async-trait", "byteorder", @@ -5617,6 +5616,7 @@ dependencies = [ "futures", "lance-arrow", "lance-core", + "lance-namespace", "log", "object_store", "path_abs", @@ -5633,34 +5633,54 @@ dependencies = [ [[package]] name = "lance-linalg" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef6d1eae44f6d91d08fa8eb082eb46f8f140fd82369042150a0ea1bf0465afcf" +checksum = "5209810d4b1da1db73b9058a20c6f4dca098b6af75c565793f27caaf3b1b5cec" dependencies = [ "arrow-array", "arrow-buffer", - "arrow-ord", "arrow-schema", - "bitvec", "cc", "deepsize", - "futures", "half", "lance-arrow", "lance-core", - "log", "num-traits", "rand 0.9.2", - "rayon", - "tokio", - "tracing", +] + +[[package]] +name = "lance-namespace" +version = "0.38.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4af29a44105e773cb7f466c44ed73e71d2d3636a6d7803c55d5452de94d11d54" +dependencies = [ + "arrow", + "async-trait", + "bytes", + "lance-core", + "lance-namespace-reqwest-client", + "snafu", +] + +[[package]] +name = "lance-namespace-reqwest-client" +version = "0.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ea349999bcda4eea53fc05d334b3775ec314761e6a706555c777d7a29b18d19" +dependencies = [ + "reqwest", + "serde", + "serde_json", + "serde_repr", + "url", ] [[package]] name = "lance-table" -version = "0.36.0" +version = "0.38.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "364018402fc5b29365a76c7d28cd7adb2067a5a280d3d776005481a987c18f19" +checksum = "e72b3d7617368b43849b309a8ee1357154f00757a7e99eaed775a9832b0004a2" dependencies = [ "arrow", "arrow-array", @@ -6075,7 +6095,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08" dependencies = [ "autocfg", + "num_cpus", + "once_cell", "rawpointer", + "thread-tree", ] [[package]] @@ -6213,6 +6236,16 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "mime_guess" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" +dependencies = [ + "mime", + "unicase", +] + [[package]] name = "mime_guess2" version = "2.3.1" @@ -6285,12 +6318,9 @@ dependencies = [ [[package]] name = "mock_instant" -version = "0.3.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9366861eb2a2c436c20b12c8dbec5f798cea6b47ad99216be0282942e2c81ea0" -dependencies = [ - "once_cell", -] +checksum = "dce6dd36094cac388f119d2e9dc82dc730ef91c32a6222170d630e5414b956e6" [[package]] name = "moka" @@ -6303,7 +6333,7 @@ dependencies = [ "crossbeam-epoch", "crossbeam-utils", "equivalent", - "event-listener 5.4.1", + "event-listener", "futures-util", "parking_lot", "portable-atomic", @@ -6639,9 +6669,9 @@ dependencies = [ [[package]] name = "numpy" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cfbf3f0feededcaa4d289fe3079b03659e85c5b5a177f4ba6fb01ab4fb3e39" +checksum = "29f1dee9aa8d3f6f8e8b9af3803006101bb3653866ef056d530d53ae68587191" dependencies = [ "libc", "ndarray", @@ -7295,9 +7325,9 @@ dependencies = [ [[package]] name = "parquet" -version = "55.2.0" +version = "56.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b17da4150748086bd43352bc77372efa9b6e3dbd06a04831d2a98c041c225cfa" +checksum = "89b56b41d1bd36aae415e42f91cae70ee75cf6cba74416b14dce3e958d5990ec" dependencies = [ "ahash", "arrow-array", @@ -7986,11 +8016,10 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5203598f366b11a02b13aa20cab591229ff0a89fd121a308a5df751d5fc9219" +checksum = "8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a" dependencies = [ - "cfg-if", "chrono", "indoc", "libc", @@ -8005,9 +8034,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99636d423fa2ca130fa5acde3059308006d46f98caac629418e53f7ebb1e9999" +checksum = "458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598" dependencies = [ "once_cell", "target-lexicon", @@ -8015,9 +8044,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78f9cf92ba9c409279bc3305b5409d90db2d2c22392d443a87df3a1adad59e33" +checksum = "7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c" dependencies = [ "libc", "pyo3-build-config", @@ -8025,9 +8054,9 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b999cb1a6ce21f9a6b147dcf1be9ffedf02e0043aec74dc390f3007047cecd9" +checksum = "a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50" dependencies = [ "proc-macro2", "pyo3-macros-backend", @@ -8037,9 +8066,9 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.24.2" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ece1c7e1012745607d5cf0bcb2874769f0f7cb34c4cde03b9358eb9ef911a" +checksum = "4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc" dependencies = [ "heck", "proc-macro2", @@ -8750,6 +8779,7 @@ dependencies = [ "itertools 0.14.0", "jiff", "nohash-hasher", + "ordered-float 5.1.0", "parking_lot", "re_arrow_util", "re_chunk_store", @@ -10492,11 +10522,14 @@ version = "0.12.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cbc931937e6ca3a06e3b6c0aa7841849b160a90351d6ab467a8b9b9959767531" dependencies = [ + "async-compression", "base64 0.22.1", "bytes", + "encoding_rs", "futures-channel", "futures-core", "futures-util", + "h2", "http", "http-body", "http-body-util", @@ -10505,10 +10538,13 @@ dependencies = [ "hyper-util", "js-sys", "log", + "mime", + "mime_guess", "percent-encoding", "pin-project-lite", "quinn", "rustls", + "rustls-native-certs", "rustls-pki-types", "serde", "serde_json", @@ -10516,12 +10552,14 @@ dependencies = [ "sync_wrapper", "tokio", "tokio-rustls", + "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams", "web-sys", "webpki-roots 1.0.2", ] @@ -11501,9 +11539,9 @@ dependencies = [ [[package]] name = "sqlparser" -version = "0.55.0" +version = "0.58.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4521174166bac1ff04fe16ef4524c70144cd29682a45978978ca3d7f4e0be11" +checksum = "ec4b661c54b1e4b603b37873a18c59920e4c51ea8ea2cf527d925424dbd4437c" dependencies = [ "log", "recursive", @@ -11981,6 +12019,15 @@ dependencies = [ "syn 2.0.106", ] +[[package]] +name = "thread-tree" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbd370cb847953a25954d9f63e14824a36113f8c72eecf6eccef5dc4b45d630" +dependencies = [ + "crossbeam-channel", +] + [[package]] name = "thread_local" version = "1.1.9" @@ -14239,7 +14286,7 @@ dependencies = [ "async-trait", "blocking", "enumflags2", - "event-listener 5.4.1", + "event-listener", "futures-core", "futures-lite", "hex", diff --git a/Cargo.toml b/Cargo.toml index 2f4e3213b5ea..1379ca0daed2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -185,7 +185,7 @@ ahash = "0.8" anyhow = { version = "1.0", default-features = false } argh = "0.1.13" array-init = "2.1" -arrow = { version = "55.2", default-features = false } +arrow = { version = "56.1", default-features = false } async-stream = "0.3" async-trait = "0.1.89" axum = "0.8.6" @@ -215,10 +215,10 @@ convert_case = "0.6.0" criterion = "0.5.0" cros-codecs = "0.0.6" crossbeam = "0.8.0" -datafusion = { version = "49.0.2", default-features = false, features = [ +datafusion = { version = "50.1.0", default-features = false, features = [ # NOTE: we enable the same features everywhere # because otherwise we will recompile datafusion all the time based on our current compile target. - # The features here are the same as in https://github.com/lancedb/lance/blob/v0.36.0/Cargo.toml#L99-L107 + # The features here are the same as in https://github.com/lancedb/lance/blob/v0.38.0/Cargo.toml#L99-L107 # This is very hacky, and I don't like it. "crypto_expressions", "datetime_expressions", @@ -228,7 +228,7 @@ datafusion = { version = "49.0.2", default-features = false, features = [ "string_expressions", "unicode_expressions", ] } -datafusion-ffi = "49.0.2" +datafusion-ffi = "50.1.0" directories = "6.0" document-features = "0.2.11" econtext = "0.2.0" # Prints error contexts on crashes @@ -261,7 +261,7 @@ itertools = "0.14.0" jiff = { version = "0.2.15", features = ["js"] } js-sys = "0.3.77" jsonwebtoken = { version = "9.3", default-features = false } -lance = { version = "0.36.0", default-features = false } # When you update this, also update the list of features enabled for `datafusion` (~50 lines up) +lance = { version = "0.38.2", default-features = false } # When you update this, also update the list of features enabled for `datafusion` (~50 lines up) libc = "0.2.176" linked-hash-map = { version = "0.5.6", default-features = false } log = "0.4.28" @@ -281,7 +281,7 @@ nohash-hasher = "0.2.0" notify = { version = "8.2", features = ["macos_kqueue"] } num-derive = "0.4.2" num-traits = "0.2.19" -numpy = "0.24.0" +numpy = "0.25.0" objc2-app-kit = "0.3.2" opentelemetry = { version = "0.31.0", features = ["metrics"] } opentelemetry-appender-tracing = "0.31.0" @@ -289,7 +289,7 @@ opentelemetry-otlp = "0.31.0" opentelemetry_sdk = { version = "0.31.0", features = ["rt-tokio"] } ordered-float = "5.1.0" parking_lot = "0.12.5" -parquet = { version = "55.2", default-features = false } +parquet = { version = "56.1", default-features = false } paste = "1.0" pathdiff = "0.2.3" percent-encoding = "2.3" @@ -309,8 +309,8 @@ prost-types = "0.14.1" protoc-prebuilt = "0.3.0" puffin = "0.19.1" puffin_http = "0.16.1" -pyo3 = "0.24.2" -pyo3-build-config = "0.24.2" +pyo3 = "0.25.1" +pyo3-build-config = "0.25.1" quote = "1.0" rand = { version = "0.9.2", default-features = false, features = ["small_rng", "thread_rng"] } rand_distr = { version = "0.5.1", default-features = false } diff --git a/crates/store/re_chunk_store/tests/snapshots/formatting__format_chunk_store.snap b/crates/store/re_chunk_store/tests/snapshots/formatting__format_chunk_store.snap index 4075c4d2cc49..d90be739847f 100644 --- a/crates/store/re_chunk_store/tests/snapshots/formatting__format_chunk_store.snap +++ b/crates/store/re_chunk_store/tests/snapshots/formatting__format_chunk_store.snap @@ -7,7 +7,7 @@ ChunkStore { config: ChunkStoreConfig { enable_changelog: true, chunk_max_bytes: 393216, chunk_max_rows: 4096, chunk_max_rows_if_unsorted: 1024 } stats: { num_chunks: 1 - total_size_bytes: 1.2 KiB + total_size_bytes: 1.1 KiB num_rows: 1 num_events: 2 } @@ -15,7 +15,7 @@ ChunkStore { ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /this/that │ - │ * heap_size_bytes: 992 │ + │ * heap_size_bytes: 944 │ │ * id: chunk_0000000000661EFDf2e3b19f7c045f15 │ │ * version: [**REDACTED**] │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ diff --git a/crates/store/re_redap_tests/src/tests/snapshots/re_redap_tests__tests__fetch_chunks__simple_dataset_fetch_chunk.snap b/crates/store/re_redap_tests/src/tests/snapshots/re_redap_tests__tests__fetch_chunks__simple_dataset_fetch_chunk.snap index 7229c420c89e..1c06d0720cb3 100644 --- a/crates/store/re_redap_tests/src/tests/snapshots/re_redap_tests__tests__fetch_chunks__simple_dataset_fetch_chunk.snap +++ b/crates/store/re_redap_tests/src/tests/snapshots/re_redap_tests__tests__fetch_chunks__simple_dataset_fetch_chunk.snap @@ -30,7 +30,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /my/entity │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000010000000000000002 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ @@ -74,7 +74,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /my/other/entity │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000010000000000000004 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ @@ -118,7 +118,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /my/entity │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000020000000000000002 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ @@ -162,7 +162,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /my/entity │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000030000000000000002 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ @@ -206,7 +206,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /another/one │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000030000000000000004 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ @@ -250,7 +250,7 @@ expression: printed ┌────────────────────────────────────────────────────────────────────────────────────────┐ │ METADATA: │ │ * entity_path: /yet/another/one │ -│ * heap_size_bytes: 416 │ +│ * heap_size_bytes: 368 │ │ * id: chunk_00000000000000030000000000000006 │ │ * version: 0.1.1 │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ diff --git a/crates/store/re_types_core/src/reflection.rs b/crates/store/re_types_core/src/reflection.rs index 37a8bda48671..75f69064d79b 100644 --- a/crates/store/re_types_core/src/reflection.rs +++ b/crates/store/re_types_core/src/reflection.rs @@ -224,6 +224,8 @@ pub fn generic_placeholder_for_datatype( )) } + DataType::Decimal32(_, _) => Arc::new(array::Decimal32Array::from_iter([0])), + DataType::Decimal64(_, _) => Arc::new(array::Decimal64Array::from_iter([0])), DataType::Decimal128(_, _) => Arc::new(array::Decimal128Array::from_iter([0])), DataType::Decimal256(_, _) => Arc::new(array::Decimal256Array::from_iter([ diff --git a/crates/utils/re_arrow_util/src/format_data_type.rs b/crates/utils/re_arrow_util/src/format_data_type.rs index b8813fc9a44b..02361c2c233c 100644 --- a/crates/utils/re_arrow_util/src/format_data_type.rs +++ b/crates/utils/re_arrow_util/src/format_data_type.rs @@ -119,6 +119,8 @@ impl std::fmt::Display for DisplayDatatype<'_> { DataType::Dictionary(key, value) => { return write!(f, "Dictionary{{{}: {}}}", Self(key), Self(value)); } + DataType::Decimal32(_, _) => "Decimal32", + DataType::Decimal64(_, _) => "Decimal64", DataType::Decimal128(_, _) => "Decimal128", DataType::Decimal256(_, _) => "Decimal256", DataType::BinaryView => "BinaryView", diff --git a/crates/utils/re_byte_size/src/arrow_sizes.rs b/crates/utils/re_byte_size/src/arrow_sizes.rs index 6f8ee8b99066..05349415829a 100644 --- a/crates/utils/re_byte_size/src/arrow_sizes.rs +++ b/crates/utils/re_byte_size/src/arrow_sizes.rs @@ -106,6 +106,8 @@ impl SizeBytes for DataType { | Self::Utf8 | Self::LargeUtf8 | Self::BinaryView + | Self::Decimal32(_, _) + | Self::Decimal64(_, _) | Self::Decimal128(_, _) | Self::Decimal256(_, _) | Self::FixedSizeBinary(_) diff --git a/crates/viewer/re_arrow_ui/src/show_index.rs b/crates/viewer/re_arrow_ui/src/show_index.rs index 5c2babb9a906..8a52043c5af0 100644 --- a/crates/viewer/re_arrow_ui/src/show_index.rs +++ b/crates/viewer/re_arrow_ui/src/show_index.rs @@ -170,7 +170,7 @@ fn make_ui<'a>( | DataType::Utf8View | DataType::BinaryView | DataType::Date32 | DataType::Date64 | DataType::Time32(_) | DataType::Time64(_) | DataType::Duration(_) | DataType::Interval(_) - | DataType::Decimal128(_, _) | DataType::Decimal256(_, _) + | DataType::Decimal32(_, _) | DataType::Decimal64(_, _) | DataType::Decimal128(_, _) | DataType::Decimal256(_, _) => { show_arrow_builtin(array, options) } diff --git a/crates/viewer/re_dataframe_ui/Cargo.toml b/crates/viewer/re_dataframe_ui/Cargo.toml index 13147be55406..144495fa413e 100644 --- a/crates/viewer/re_dataframe_ui/Cargo.toml +++ b/crates/viewer/re_dataframe_ui/Cargo.toml @@ -44,6 +44,7 @@ egui_table.workspace = true itertools.workspace = true jiff.workspace = true nohash-hasher.workspace = true +ordered-float.workspace = true parking_lot.workspace = true serde.workspace = true strum.workspace = true diff --git a/crates/viewer/re_dataframe_ui/src/filters/boolean.rs b/crates/viewer/re_dataframe_ui/src/filters/boolean.rs index c02005b633dd..c62d13971758 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/boolean.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/boolean.rs @@ -14,7 +14,7 @@ use super::{Filter, FilterError, FilterUiAction}; /// Filter for non-nullable boolean columns. /// /// This represents both the filter itself, and the state of the corresponding UI. -#[derive(Debug, Clone, Default, PartialEq, Eq)] +#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)] pub enum NonNullableBooleanFilter { #[default] IsTrue, @@ -87,7 +87,7 @@ impl SyntaxHighlighting for NonNullableBooleanFilter { } } -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, strum::VariantArray)] +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, strum::VariantArray)] #[expect(clippy::enum_variant_names)] pub enum NullableBooleanValue { #[default] @@ -106,7 +106,7 @@ impl NullableBooleanValue { } } -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, strum::VariantArray)] +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, strum::VariantArray)] pub enum NullableBooleanOperator { #[default] Is, @@ -125,7 +125,7 @@ impl std::fmt::Display for NullableBooleanOperator { /// Filter for nullable boolean columns. /// /// This represents both the filter itself, and the state of the corresponding UI. -#[derive(Clone, Default, PartialEq, Eq)] +#[derive(Clone, Default, PartialEq, Eq, Hash)] pub struct NullableBooleanFilter { value: NullableBooleanValue, operator: NullableBooleanOperator, diff --git a/crates/viewer/re_dataframe_ui/src/filters/column_filter.rs b/crates/viewer/re_dataframe_ui/src/filters/column_filter.rs index f9562d849b22..323e49c92693 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/column_filter.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/column_filter.rs @@ -72,7 +72,7 @@ impl Nullability { } /// A filter applied to a table's column. -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct ColumnFilter { pub field: FieldRef, pub filter: TypedFilter, diff --git a/crates/viewer/re_dataframe_ui/src/filters/filter.rs b/crates/viewer/re_dataframe_ui/src/filters/filter.rs index 54c71efd38d8..e41074af35e0 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/filter.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/filter.rs @@ -64,7 +64,7 @@ pub trait Filter { /// need them (e.g., to test blueprint inequality before triggering a costly table update). /// The last item is related to how the filter UI is implemented using the `SyntaxHighlighting` /// machinery. -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq, Hash)] pub enum TypedFilter { NullableBoolean(NullableBooleanFilter), NonNullableBoolean(NonNullableBooleanFilter), diff --git a/crates/viewer/re_dataframe_ui/src/filters/filter_udf.rs b/crates/viewer/re_dataframe_ui/src/filters/filter_udf.rs index 7376a6182e1d..ac6eee162aa7 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/filter_udf.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/filter_udf.rs @@ -1,5 +1,6 @@ use std::any::Any; use std::fmt::Debug; +use std::hash::Hash; use std::sync::Arc; use arrow::array::{ArrayRef, BooleanArray, ListArray, as_list_array}; @@ -14,7 +15,7 @@ use datafusion::logical_expr::{ /// /// Note that a filter UDF is only a _building block_ towards creating a final expression for /// datafusion. See [`super::Filter::as_filter_expression`] in its implementation for more details. -pub trait FilterUdf: Any + Clone + Debug + Send + Sync { +pub trait FilterUdf: Any + Clone + Debug + Send + Sync + Hash + PartialEq + Eq { /// The scalar datafusion type signature for this UDF. /// /// The list version will automatically be accepted as well, see `FilterUdfWrapper::signature`. @@ -90,7 +91,7 @@ pub trait FilterUdf: Any + Clone + Debug + Send + Sync { /// This serves two purposes: /// 1) Allow blanket implementation of [`ScalarUDFImpl`] (orphan rule) /// 2) Cache the [`Signature`] (needed for [`ScalarUDFImpl::signature`]) -#[derive(Debug)] +#[derive(Debug, Eq, PartialEq, Hash, Clone)] struct FilterUdfWrapper { inner: T, signature: Signature, diff --git a/crates/viewer/re_dataframe_ui/src/filters/numerical.rs b/crates/viewer/re_dataframe_ui/src/filters/numerical.rs index 83c07ce57133..2dc327d82068 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/numerical.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/numerical.rs @@ -4,6 +4,7 @@ use arrow::array::{Array as _, ArrayRef, BooleanArray}; use arrow::datatypes::{DataType, Field}; use datafusion::common::{Result as DataFusionResult, exec_err}; use datafusion::logical_expr::{Expr, TypeSignature, col, lit, not}; +use ordered_float::OrderedFloat; use strum::VariantArray as _; use re_ui::SyntaxHighlighting; @@ -68,7 +69,7 @@ impl ComparisonOperator { /// Filter for integer column types. /// /// This represents both the filter itself, and the state of the corresponding UI. -#[derive(Debug, Clone, Default, PartialEq, Eq)] +#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)] pub struct IntFilter { operator: ComparisonOperator, @@ -169,7 +170,7 @@ impl Filter for IntFilter { /// /// The only purpose of this wrapper is to _not_ have an `Option` around `rhs_value` and thus /// simplify the implementation. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq, Hash)] struct IntFilterUdf { op: ComparisonOperator, rhs_value: i128, @@ -223,14 +224,14 @@ impl FilterUdf for IntFilterUdf { /// Filter for floating point column types. /// /// This represents both the filter itself, and the state of the corresponding UI. -#[derive(Debug, Clone, Default, PartialEq)] +#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)] pub struct FloatFilter { operator: ComparisonOperator, /// The value to compare to. /// /// `None` means that the user provided no input. In this case, we match everything. - rhs_value: Option, + rhs_value: Option>, } impl SyntaxHighlighting for FloatFilter { @@ -239,7 +240,7 @@ impl SyntaxHighlighting for FloatFilter { builder.append_keyword(" "); if let Some(value) = self.rhs_value { - builder.append_primitive(&re_format::format_f64(value)); + builder.append_primitive(&re_format::format_f64(value.into_inner())); } else { builder.append_primitive("…"); } @@ -250,7 +251,7 @@ impl FloatFilter { pub fn new(operator: ComparisonOperator, rhs_value: Option) -> Self { Self { operator, - rhs_value, + rhs_value: rhs_value.map(OrderedFloat), } } @@ -259,7 +260,7 @@ impl FloatFilter { } pub fn rhs_value(&self) -> Option { - self.rhs_value + self.rhs_value.map(|x| x.into_inner()) } } @@ -321,10 +322,10 @@ impl Filter for FloatFilter { /// /// The only purpose of this wrapper is to _not_ have an `Option` around `rhs_value` and thus /// simplify the implementation. -#[derive(Debug, Clone)] +#[derive(Debug, Clone, Eq, PartialEq, Hash)] struct FloatFilterUdf { op: ComparisonOperator, - rhs_value: f64, + rhs_value: OrderedFloat, } impl FilterUdf for FloatFilterUdf { @@ -351,7 +352,7 @@ impl FilterUdf for FloatFilterUdf { #[allow(clippy::allow_attributes, trivial_numeric_casts)] let result: BooleanArray = array .iter() - .map(|x| x.map(|x| $slf.op.apply(x, $slf.rhs_value as _))) + .map(|x| x.map(|x| $slf.op.apply(x, $slf.rhs_value.into_inner() as _))) .collect(); Ok(result) diff --git a/crates/viewer/re_dataframe_ui/src/filters/string.rs b/crates/viewer/re_dataframe_ui/src/filters/string.rs index 3566d882455a..bdaa2c7ae11b 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/string.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/string.rs @@ -14,7 +14,7 @@ use re_ui::syntax_highlighting::SyntaxHighlightedBuilder; use super::{Filter, FilterError, FilterUdf, FilterUiAction, action_from_text_edit_response}; -#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, strum::VariantArray)] +#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Hash, strum::VariantArray)] pub enum StringOperator { #[default] Contains, @@ -34,7 +34,7 @@ impl std::fmt::Display for StringOperator { } } -#[derive(Debug, Clone, Default, PartialEq, Eq)] +#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)] pub struct StringFilter { operator: StringOperator, query: String, @@ -160,6 +160,7 @@ impl FilterUdf for StringFilter { arg_fields: vec![Arc::clone(&field)], number_rows: array.len(), return_field: field, + config_options: Arc::new(Default::default()), })?; let ColumnarValue::Array(haystack_array) = &lowercase_haystack else { diff --git a/crates/viewer/re_dataframe_ui/src/filters/timestamp.rs b/crates/viewer/re_dataframe_ui/src/filters/timestamp.rs index 966e062b4d76..2a42f0a7d46c 100644 --- a/crates/viewer/re_dataframe_ui/src/filters/timestamp.rs +++ b/crates/viewer/re_dataframe_ui/src/filters/timestamp.rs @@ -15,6 +15,7 @@ //! - We ignore the time zone hint and use instead our global [`TimestampFormat`] for display. use std::fmt::{Display, Formatter}; +use std::hash::Hash; use std::str::FromStr as _; use arrow::array::{ArrayRef, BooleanArray}; @@ -32,7 +33,7 @@ use re_ui::{DesignTokens, SyntaxHighlighting, UiExt as _}; use super::{Filter, FilterError, FilterUdf, FilterUiAction, TimestampFormatted, parse_timestamp}; -#[derive(Debug, Clone, Default, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Default, Copy, PartialEq, Eq, Hash)] enum TimestampFilterKind { #[default] Today, @@ -45,7 +46,7 @@ enum TimestampFilterKind { Between, } -#[derive(Debug, Clone, Default, Copy, PartialEq, Eq, strum::VariantArray)] +#[derive(Debug, Clone, Default, Copy, PartialEq, Eq, Hash, strum::VariantArray)] pub enum TimestampOperator { #[default] Is, @@ -64,7 +65,7 @@ impl Display for TimestampOperator { /// A filter for [`arrow::datatypes::DataType::Timestamp`] columns. /// /// This represents both the filter itself, and the state of the corresponding UI. -#[derive(Clone, Default, PartialEq)] +#[derive(Clone, Default, PartialEq, Eq, Hash)] pub struct TimestampFilter { /// The kind of temporal filter to use. kind: TimestampFilterKind, @@ -433,6 +434,8 @@ impl std::fmt::Debug for EditableTimestamp { } } +impl Eq for EditableTimestamp {} + impl PartialEq for EditableTimestamp { fn eq(&self, other: &Self) -> bool { let Self { @@ -457,6 +460,16 @@ impl PartialEq for EditableTimestamp { } } +impl Hash for EditableTimestamp { + fn hash(&self, state: &mut H) { + self.timestamp_string.hash(state); + self.resolved_timestamp + .as_ref() + .map_err(|err| err.to_string()) + .hash(state); + } +} + impl EditableTimestamp { pub fn new(timestamp: jiff::Timestamp) -> Self { Self { @@ -584,7 +597,7 @@ fn format_timestamp(timestamp: Timestamp, timestamp_format: TimestampFormat) -> /// Helper to resolve a [`TimestampFilter`] and actually perform the filtering. /// /// IMPORTANT: this ignores the `TimestampOperator`, because it is applied outside of the UDF. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] enum ResolvedTimestampFilter { All, diff --git a/crates/viewer/re_dataframe_ui/src/table_blueprint.rs b/crates/viewer/re_dataframe_ui/src/table_blueprint.rs index cec668cdb979..f756ceab7c7e 100644 --- a/crates/viewer/re_dataframe_ui/src/table_blueprint.rs +++ b/crates/viewer/re_dataframe_ui/src/table_blueprint.rs @@ -90,7 +90,7 @@ pub struct EntryLinksSpec { } /// The "blueprint" for a table, a.k.a the specification of how it should look. -#[derive(Debug, Clone, PartialEq, Default)] +#[derive(Debug, Clone, PartialEq, Eq, Default)] pub struct TableBlueprint { pub sort_by: Option, pub partition_links: Option, diff --git a/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording.png b/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording.png index ab327815a341..14bb57a76325 100644 --- a/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording.png +++ b/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6acd97e2fc63f4103d18ffd5a4ec8119535173122fd385b9b737313d49e21644 -size 49347 +oid sha256:727ee5b6acb41f44b3db25df967e1b13ffc1b0acb3b870d8a689657b930f8d5c +size 49354 diff --git a/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording_hover_app_id.png b/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording_hover_app_id.png index 6640d97202f7..5f8782f34c03 100644 --- a/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording_hover_app_id.png +++ b/crates/viewer/re_selection_panel/tests/snapshots/selection_panel_recording_hover_app_id.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bcea4b36a762c2a66407dcf042f118406283acb4fef3be48e9bca98dc4b48e7 -size 61551 +oid sha256:a8397b5f2e366ced00a35c795095c7621e547f1d89afa1bc2460ef58d448b6ea +size 61627