diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 2ae76edd2a..21744d3efc 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "adbc_core" @@ -43,7 +43,7 @@ dependencies = [ "tempfile", "toml", "windows-registry", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -91,7 +91,7 @@ checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", "const-random", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -99,9 +99,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -123,15 +123,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" [[package]] name = "arrow" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb372a7cbcac02a35d3fb7b3fc1f969ec078e871f9bb899bf00a2e1809bec8a3" +checksum = "602268ce9f569f282cedb9a9f6bac569b680af47b9b077d515900c03c5d190da" dependencies = [ "arrow-arith", "arrow-array", @@ -150,9 +150,9 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f377dcd19e440174596d83deb49cd724886d91060c07fec4f67014ef9d54049" +checksum = "cd53c6bf277dea91f136ae8e3a5d7041b44b5e489e244e637d00ae302051f56f" dependencies = [ "arrow-array", "arrow-buffer", @@ -164,9 +164,9 @@ dependencies = [ [[package]] name = "arrow-array" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8955af33b25f3b175ee10af580577280b4bd01f7e823d94c7cdef7cf8c9aef" +checksum = "e53796e07a6525edaf7dc28b540d477a934aff14af97967ad1d5550878969b9e" dependencies = [ "ahash", "arrow-buffer", @@ -183,9 +183,9 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c697ddca96183182f35b3a18e50b9110b11e916d7b7799cbfd4d34662f2c56c2" +checksum = "f2c1a85bb2e94ee10b76531d8bc3ce9b7b4c0d508cabfb17d477f63f2617bd20" dependencies = [ "bytes", "half", @@ -195,9 +195,9 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d131abb183f80c450d4591dc784f8d7750c50c6e2bc3fcaad148afc8361271" +checksum = "89fb245db6b0e234ed8e15b644edb8664673fefe630575e94e62cd9d489a8a26" dependencies = [ "arrow-array", "arrow-buffer", @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2275877a0e5e7e7c76954669366c2aa1a829e340ab1f612e647507860906fb6b" +checksum = "d374882fb465a194462527c0c15a93aa19a554cf690a6b77a26b2a02539937a7" dependencies = [ "arrow-array", "arrow-cast", @@ -232,9 +232,9 @@ dependencies = [ [[package]] name = "arrow-data" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fdd994a9d28e6365aa78e15da3f3950c0fdcea6b963a12fa1c391afb637b304" +checksum = "189d210bc4244c715fa3ed9e6e22864673cccb73d5da28c2723fb2e527329b33" dependencies = [ "arrow-buffer", "arrow-schema", @@ -245,9 +245,9 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d09446e8076c4b3f235603d9ea7c5494e73d441b01cd61fb33d7254c11964b3" +checksum = "7968c2e5210c41f4909b2ef76f6e05e172b99021c2def5edf3cc48fdd39d1d6c" dependencies = [ "arrow-array", "arrow-buffer", @@ -260,9 +260,9 @@ dependencies = [ [[package]] name = "arrow-json" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "371ffd66fa77f71d7628c63f209c9ca5341081051aa32f9c8020feb0def787c0" +checksum = "92111dba5bf900f443488e01f00d8c4ddc2f47f5c50039d18120287b580baa22" dependencies = [ "arrow-array", "arrow-buffer", @@ -284,9 +284,9 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbc94fc7adec5d1ba9e8cd1b1e8d6f72423b33fe978bf1f46d970fafab787521" +checksum = "211136cb253577ee1a6665f741a13136d4e563f64f5093ffd6fb837af90b9495" dependencies = [ "arrow-array", "arrow-buffer", @@ -297,9 +297,9 @@ dependencies = [ [[package]] name = "arrow-row" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "169676f317157dc079cc5def6354d16db63d8861d61046d2f3883268ced6f99f" +checksum = "8e0f20145f9f5ea3fe383e2ba7a7487bf19be36aa9dbf5dd6a1f92f657179663" dependencies = [ "arrow-array", "arrow-buffer", @@ -310,9 +310,9 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c872d36b7bf2a6a6a2b40de9156265f0242910791db366a2c17476ba8330d68" +checksum = "1b47e0ca91cc438d2c7879fe95e0bca5329fff28649e30a88c6f760b1faeddcb" dependencies = [ "bitflags", "serde_core", @@ -321,9 +321,9 @@ dependencies = [ [[package]] name = "arrow-select" -version = "57.3.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68bf3e3efbd1278f770d67e5dc410257300b161b93baedb3aae836144edcaf4b" +checksum = "750a7d1dda177735f5e82a314485b6915c7cccdbb278262ac44090f4aba4a325" dependencies = [ "ahash", "arrow-array", @@ -335,9 +335,9 @@ dependencies = [ [[package]] name = "arrow-string" -version = "57.1.0" +version = "58.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf35e8ef49dcf0c5f6d175edee6b8af7b45611805333129c541a8b89a0fc0534" +checksum = "e1eab1208bc4fe55d768cdc9b9f3d9df5a794cdb3ee2586bf89f9b30dc31ad8c" dependencies = [ "arrow-array", "arrow-buffer", @@ -395,9 +395,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bigdecimal" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a22f228ab7a1b23027ccc6c350b72868017af7ea8356fbdf19f8d991c690013" +checksum = "4d6867f1565b3aad85681f1015055b087fcfd840d6aeee6eee7f2da317603695" dependencies = [ "autocfg", "libm", @@ -408,15 +408,15 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] name = "bumpalo" -version = "3.19.0" +version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] name = "bytes" @@ -426,28 +426,29 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] name = "cc" -version = "1.2.29" +version = "1.2.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362" +checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2" dependencies = [ + "find-msvc-tools", "shlex", ] [[package]] name = "cfg-if" -version = "1.0.1" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "chrono" -version = "0.4.42" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" dependencies = [ "iana-time-zone", "num-traits", - "windows-link 0.2.1", + "windows-link", ] [[package]] @@ -462,9 +463,9 @@ dependencies = [ [[package]] name = "comfy-table" -version = "7.1.4" +version = "7.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a65ebfec4fb190b6f90e944a817d60499ee0744e582530e2c9900a22e591d9a" +checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" dependencies = [ "unicode-segmentation", "unicode-width", @@ -485,7 +486,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.16", + "getrandom 0.2.17", "once_cell", "tiny-keccak", ] @@ -510,21 +511,21 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" [[package]] name = "csv" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" +checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" dependencies = [ "csv-core", "itoa", "ryu", - "serde", + "serde_core", ] [[package]] name = "csv-core" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d" +checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" dependencies = [ "memchr", ] @@ -546,8 +547,7 @@ dependencies = [ [[package]] name = "datafusion" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d12ee9fdc6cdb5898c7691bb994f0ba606c4acc93a2258d78bb9f26ff8158bb3" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "arrow-schema", @@ -595,8 +595,7 @@ dependencies = [ [[package]] name = "datafusion-catalog" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462dc9ef45e5d688aeaae49a7e310587e81b6016b9d03bace5626ad0043e5a9e" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -620,8 +619,7 @@ dependencies = [ [[package]] name = "datafusion-catalog-listing" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b96dbf1d728fc321817b744eb5080cdd75312faa6980b338817f68f3caa4208" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -643,8 +641,7 @@ dependencies = [ [[package]] name = "datafusion-common" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3237a6ff0d2149af4631290074289cae548c9863c885d821315d54c6673a074a" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -653,6 +650,7 @@ dependencies = [ "half", "hashbrown 0.16.1", "indexmap", + "itertools", "libc", "log", "object_store", @@ -665,8 +663,7 @@ dependencies = [ [[package]] name = "datafusion-common-runtime" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70b5e34026af55a1bfccb1ef0a763cf1f64e77c696ffcf5a128a278c31236528" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "futures", "log", @@ -676,8 +673,7 @@ dependencies = [ [[package]] name = "datafusion-datasource" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2a6be734cc3785e18bbf2a7f2b22537f6b9fb960d79617775a51568c281842" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -705,8 +701,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-arrow" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1739b9b07c9236389e09c74f770e88aff7055250774e9def7d3f4f56b3dcc7be" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "arrow-ipc", @@ -729,8 +724,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-csv" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c73bc54b518bbba7c7650299d07d58730293cfba4356f6f428cc94c20b7600" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -752,8 +746,7 @@ dependencies = [ [[package]] name = "datafusion-datasource-json" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37812c8494c698c4d889374ecfabbff780f1f26d9ec095dd1bddfc2a8ca12559" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -768,27 +761,29 @@ dependencies = [ "datafusion-session", "futures", "object_store", + "serde_json", "tokio", + "tokio-stream", ] [[package]] name = "datafusion-doc" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c825f969126bc2ef6a6a02d94b3c07abff871acf4d6dd759ce1255edb7923ce" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" [[package]] name = "datafusion-execution" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa03ef05a2c2f90dd6c743e3e111078e322f4b395d20d4b4d431a245d79521ae" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", + "arrow-buffer", "async-trait", "chrono", "dashmap", "datafusion-common", "datafusion-expr", + "datafusion-physical-expr-common", "futures", "log", "object_store", @@ -801,8 +796,7 @@ dependencies = [ [[package]] name = "datafusion-expr" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef33934c1f98ee695cc51192cc5f9ed3a8febee84fdbcd9131bf9d3a9a78276f" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -823,8 +817,7 @@ dependencies = [ [[package]] name = "datafusion-expr-common" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "000c98206e3dd47d2939a94b6c67af4bfa6732dd668ac4fafdbde408fd9134ea" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "datafusion-common", @@ -836,8 +829,7 @@ dependencies = [ [[package]] name = "datafusion-functions" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "379b01418ab95ca947014066248c22139fe9af9289354de10b445bd000d5d276" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "arrow-buffer", @@ -853,6 +845,7 @@ dependencies = [ "hex", "itertools", "log", + "memchr", "num-traits", "rand", "regex", @@ -863,8 +856,7 @@ dependencies = [ [[package]] name = "datafusion-functions-aggregate" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd00d5454ba4c3f8ebbd04bd6a6a9dc7ced7c56d883f70f2076c188be8459e4c" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -878,14 +870,14 @@ dependencies = [ "datafusion-physical-expr-common", "half", "log", + "num-traits", "paste", ] [[package]] name = "datafusion-functions-aggregate-common" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec06b380729a87210a4e11f555ec2d729a328142253f8d557b87593622ecc9f" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -897,8 +889,7 @@ dependencies = [ [[package]] name = "datafusion-functions-nested" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904f48d45e0f1eb7d0eb5c0f80f2b5c6046a85454364a6b16a2e0b46f62e7dff" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "arrow-ord", @@ -912,7 +903,9 @@ dependencies = [ "datafusion-functions-aggregate-common", "datafusion-macros", "datafusion-physical-expr-common", + "hashbrown 0.16.1", "itertools", + "itoa", "log", "paste", ] @@ -920,8 +913,7 @@ dependencies = [ [[package]] name = "datafusion-functions-table" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a0d20e2b887e11bee24f7734d780a2588b925796ac741c3118dd06d5aa77f0" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "async-trait", @@ -936,8 +928,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3414b0a07e39b6979fe3a69c7aa79a9f1369f1d5c8e52146e66058be1b285ee" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "datafusion-common", @@ -954,8 +945,7 @@ dependencies = [ [[package]] name = "datafusion-functions-window-common" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf2feae63cd4754e31add64ce75cae07d015bce4bb41cd09872f93add32523a" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "datafusion-common", "datafusion-physical-expr-common", @@ -964,8 +954,7 @@ dependencies = [ [[package]] name = "datafusion-macros" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4fe888aeb6a095c4bcbe8ac1874c4b9a4c7ffa2ba849db7922683ba20875aaf" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "datafusion-doc", "quote", @@ -975,8 +964,7 @@ dependencies = [ [[package]] name = "datafusion-optimizer" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a6527c063ae305c11be397a86d8193936f4b84d137fe40bd706dfc178cf733c" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "chrono", @@ -994,8 +982,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bb028323dd4efd049dd8a78d78fe81b2b969447b39c51424167f973ac5811d9" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -1010,15 +997,14 @@ dependencies = [ "itertools", "parking_lot", "paste", - "petgraph 0.8.3", + "petgraph", "tokio", ] [[package]] name = "datafusion-physical-expr-adapter" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78fe0826aef7eab6b4b61533d811234a7a9e5e458331ebbf94152a51fc8ab433" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "datafusion-common", @@ -1032,8 +1018,7 @@ dependencies = [ [[package]] name = "datafusion-physical-expr-common" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfccd388620734c661bd8b7ca93c44cdd59fecc9b550eea416a78ffcbb29475f" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -1049,8 +1034,7 @@ dependencies = [ [[package]] name = "datafusion-physical-optimizer" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde5fa10e73259a03b705d5fddc136516814ab5f441b939525618a4070f5a059" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "datafusion-common", @@ -1067,8 +1051,7 @@ dependencies = [ [[package]] name = "datafusion-physical-plan" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1098760fb29127c24cc9ade3277051dc73c9ed0ac0131bd7bcd742e0ad7470" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "ahash", "arrow", @@ -1090,6 +1073,7 @@ dependencies = [ "indexmap", "itertools", "log", + "num-traits", "parking_lot", "pin-project-lite", "tokio", @@ -1098,8 +1082,7 @@ dependencies = [ [[package]] name = "datafusion-pruning" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d0fef4201777b52951edec086c21a5b246f3c82621569ddb4a26f488bc38a9" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "datafusion-common", @@ -1115,8 +1098,7 @@ dependencies = [ [[package]] name = "datafusion-session" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71f1e39e8f2acbf1c63b0e93756c2e970a64729dab70ac789587d6237c4fde0" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "async-trait", "datafusion-common", @@ -1129,14 +1111,14 @@ dependencies = [ [[package]] name = "datafusion-sql" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44693cfcaeb7a9f12d71d1c576c3a6dc025a12cef209375fa2d16fb3b5670ee" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "arrow", "bigdecimal", "chrono", "datafusion-common", "datafusion-expr", + "datafusion-functions-nested", "indexmap", "log", "regex", @@ -1146,8 +1128,7 @@ dependencies = [ [[package]] name = "datafusion-substrait" version = "52.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6042adacd0bd64e56c22f6a7f9ce0ce1793dd367c899d868179d029f110d9215" +source = "git+https://github.com/apache/arrow-datafusion#79b5b24099bc8f7ccee9bfcb0d32062dbf2d83e0" dependencies = [ "async-recursion", "async-trait", @@ -1161,7 +1142,6 @@ dependencies = [ "substrait", "tokio", "url", - "uuid", ] [[package]] @@ -1183,9 +1163,9 @@ checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" [[package]] name = "dyn-clone" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "either" @@ -1201,12 +1181,12 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "errno" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" +checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys", ] [[package]] @@ -1215,6 +1195,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + [[package]] name = "fixedbitset" version = "0.5.7" @@ -1223,20 +1209,14 @@ checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" [[package]] name = "flatbuffers" -version = "25.2.10" +version = "25.12.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1045398c1bfd89168b5fd3f1fc11f6e70b34f6f66300c87d44d3de849463abf1" +checksum = "35f6839d7b3b98adde531effaf34f0c2badc6f4735d26fe74709d8e513a96ef3" dependencies = [ "bitflags", "rustc_version", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foldhash" version = "0.1.5" @@ -1260,9 +1240,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1275,9 +1255,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1285,15 +1265,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1302,15 +1282,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -1319,21 +1299,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1343,38 +1323,50 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] [[package]] name = "getrandom" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", - "r-efi", - "wasi 0.14.2+wasi-0.2.4", + "r-efi 5.3.0", + "wasip2", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", ] [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "half" @@ -1396,9 +1388,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" [[package]] name = "hashbrown" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ "foldhash 0.1.5", ] @@ -1428,26 +1420,25 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "http" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" dependencies = [ "bytes", - "fnv", "itoa", ] [[package]] name = "humantime" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" +checksum = "135b12329e5e3ce057a9f972339ea52bc954fe1e9358ef27f95e89716fbc5424" [[package]] name = "iana-time-zone" -version = "0.1.63" +version = "0.1.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -1469,21 +1460,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1492,98 +1484,66 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ - "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", - "stable_deref_trait", - "tinystr", + "icu_locale_core", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] [[package]] -name = "icu_provider_macros" -version = "1.5.0" +name = "id-arena" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" [[package]] name = "idna" @@ -1598,9 +1558,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1614,6 +1574,8 @@ checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", "hashbrown 0.16.1", + "serde", + "serde_core", ] [[package]] @@ -1627,25 +1589,31 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "js-sys" -version = "0.3.77" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", ] +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + [[package]] name = "lexical-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b765c31809609075565a70b4b71402281283aeda7ecaf4818ac14a7b2ade8958" +checksum = "7d8d125a277f807e55a77304455eb7b1cb52f2b18c143b60e766c120bd64a594" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -1656,53 +1624,46 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de6f9cb01fb0b08060209a057c048fcbab8717b4c1ecd2eac66ebfe39a65b0f2" +checksum = "52a9f232fbd6f550bc0137dcb5f99ab674071ac2d690ac69704593cb4abbea56" dependencies = [ "lexical-parse-integer", "lexical-util", - "static_assertions", ] [[package]] name = "lexical-parse-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72207aae22fc0a121ba7b6d479e42cbfea549af1479c3f3a4f12c70dd66df12e" +checksum = "9a7a039f8fb9c19c996cd7b2fcce303c1b2874fe1aca544edc85c4a5f8489b34" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] name = "lexical-util" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a82e24bf537fd24c177ffbbdc6ebcc8d54732c35b50a3f28cc3f4e4c949a0b3" -dependencies = [ - "static_assertions", -] +checksum = "2604dd126bb14f13fb5d1bd6a66155079cb9fa655b37f875b3a742c705dbed17" [[package]] name = "lexical-write-float" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5afc668a27f460fb45a81a757b6bf2f43c2d7e30cb5a2dcd3abf294c78d62bd" +checksum = "50c438c87c013188d415fbabbb1dceb44249ab81664efbd31b14ae55dabb6361" dependencies = [ "lexical-util", "lexical-write-integer", - "static_assertions", ] [[package]] name = "lexical-write-integer" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629ddff1a914a836fb245616a7888b62903aae58fa771e1d83943035efa0f978" +checksum = "409851a618475d2d5796377cad353802345cba92c867d9fbcde9cf4eac4e14df" dependencies = [ "lexical-util", - "static_assertions", ] [[package]] @@ -1718,14 +1679,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.1", + "windows-link", ] [[package]] name = "libm" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" [[package]] name = "linux-raw-sys" @@ -1735,17 +1696,16 @@ checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" dependencies = [ - "autocfg", "scopeguard", ] @@ -1766,9 +1726,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.5" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "multimap" @@ -1816,9 +1776,9 @@ dependencies = [ [[package]] name = "object_store" -version = "0.12.4" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c1be0c6c22ec0817cdc77d3842f721a17fd30ab6965001415b5402a74e6b740" +checksum = "c2858065e55c148d294a9f3aae3b0fa9458edadb41a108397094566f4e3c0dfb" dependencies = [ "async-trait", "bytes", @@ -1846,9 +1806,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "parking_lot" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" dependencies = [ "lock_api", "parking_lot_core", @@ -1856,15 +1816,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.11" +version = "0.9.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-link", ] [[package]] @@ -1922,16 +1882,6 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" -[[package]] -name = "petgraph" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" -dependencies = [ - "fixedbitset", - "indexmap", -] - [[package]] name = "petgraph" version = "0.8.3" @@ -1939,7 +1889,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" dependencies = [ "fixedbitset", - "hashbrown 0.15.4", + "hashbrown 0.15.5", "indexmap", "serde", ] @@ -1964,15 +1914,18 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" [[package]] -name = "pin-utils" -version = "0.1.0" +name = "potential_utf" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] [[package]] name = "ppv-lite86" @@ -2017,9 +1970,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.103" +version = "1.0.106" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" dependencies = [ "unicode-ident", ] @@ -2036,16 +1989,15 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" +checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" dependencies = [ "heck", "itertools", "log", "multimap", - "once_cell", - "petgraph 0.7.1", + "petgraph", "prettyplease", "prost", "prost-types", @@ -2069,18 +2021,18 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" dependencies = [ "prost", ] [[package]] name = "quote" -version = "1.0.42" +version = "1.0.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" dependencies = [ "proc-macro2", ] @@ -2091,11 +2043,17 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "rand" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" dependencies = [ "rand_chacha", "rand_core", @@ -2113,18 +2071,18 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.9.3" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", ] [[package]] name = "redox_syscall" -version = "0.5.13" +version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ "bitflags", ] @@ -2143,9 +2101,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.13" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" dependencies = [ "aho-corasick", "memchr", @@ -2154,9 +2112,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" [[package]] name = "regress" @@ -2187,20 +2145,20 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" -version = "1.0.20" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" [[package]] name = "same-file" @@ -2309,15 +2267,15 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.145" +version = "1.0.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" dependencies = [ "itoa", "memchr", - "ryu", "serde", "serde_core", + "zmij", ] [[package]] @@ -2331,9 +2289,9 @@ dependencies = [ [[package]] name = "serde_tokenstream" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64060d864397305347a78851c51588fd283767e7e7589829e8121d65512340f1" +checksum = "d7c49585c52c01f13c5c2ebb333f14f6885d76daa768d8a037d28017ec538c69" dependencies = [ "proc-macro2", "quote", @@ -2394,15 +2352,15 @@ checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "siphasher" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" +checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -2412,9 +2370,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "sqlparser" -version = "0.59.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4591acadbcf52f0af60eafbb2c003232b2b4cd8de5f0e9437cb8b1b59046cc0f" +checksum = "dbf5ea8d4d7c808e1af1cbabebca9a2abe603bcefc22294c5b95018d53200cb7" dependencies = [ "log", "sqlparser_derive", @@ -2422,9 +2380,9 @@ dependencies = [ [[package]] name = "sqlparser_derive" -version = "0.3.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da5fc6819faabb412da764b99d3b713bb55083c11e7e0c00144d386cd6a1939c" +checksum = "a6dd45d8fc1c79299bfbb7190e42ccbbdf6a5f52e4a6ad98d92357ea965bd289" dependencies = [ "proc-macro2", "quote", @@ -2433,21 +2391,15 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "substrait" -version = "0.62.0" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21f1cb6d0bcd097a39fc25f7236236be29881fe122e282e4173d6d007a929927" +checksum = "62fc4b483a129b9772ccb9c3f7945a472112fdd9140da87f8a4e7f1d44e045d0" dependencies = [ "heck", "pbjson", @@ -2470,9 +2422,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.114" +version = "2.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" dependencies = [ "proc-macro2", "quote", @@ -2506,10 +2458,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.4.2", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -2527,18 +2479,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.17" +version = "2.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" dependencies = [ "proc-macro2", "quote", @@ -2556,9 +2508,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -2577,15 +2529,40 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" dependencies = [ "proc-macro2", "quote", "syn", ] +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "1.0.3+spec-1.1.0" @@ -2625,9 +2602,9 @@ checksum = "ab16f14aed21ee8bfd8ec22513f7287cd4a91aa92e44edfe2c17ddd004e92607" [[package]] name = "tracing" -version = "0.1.41" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -2636,9 +2613,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" dependencies = [ "proc-macro2", "quote", @@ -2647,18 +2624,18 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.34" +version = "0.1.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", ] [[package]] name = "twox-hash" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b907da542cbced5261bd3256de1b3a1bf340a3d37f93425a07362a1d687de56" +checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" [[package]] name = "typify" @@ -2709,9 +2686,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-segmentation" @@ -2721,9 +2698,15 @@ checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1a07cc7db3810833284e8d372ccdc6da29741639ecc70c9ec107df0fa6154c" +checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unsafe-libyaml" @@ -2743,12 +2726,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -2757,11 +2734,11 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "uuid" -version = "1.19.0" +version = "1.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" +checksum = "b672338555252d43fd2240c714dc444b8c6fb0a5c5335e65a07bba7742735ddb" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.4.2", "js-sys", "wasm-bindgen", ] @@ -2789,47 +2766,44 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] -name = "wasi" -version = "0.14.2+wasi-0.2.4" +name = "wasip2" +version = "1.0.2+wasi-0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" dependencies = [ - "wit-bindgen-rt", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen" -version = "0.2.100" +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" dependencies = [ - "cfg-if", - "once_cell", - "rustversion", - "wasm-bindgen-macro", + "wit-bindgen", ] [[package]] -name = "wasm-bindgen-backend" -version = "0.2.100" +name = "wasm-bindgen" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.50" +version = "0.4.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" dependencies = [ "cfg-if", + "futures-util", "js-sys", "once_cell", "wasm-bindgen", @@ -2838,9 +2812,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.100" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2848,31 +2822,65 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.100" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ + "bumpalo", "proc-macro2", "quote", "syn", - "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.100" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + [[package]] name = "web-sys" -version = "0.3.77" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -2890,31 +2898,31 @@ dependencies = [ [[package]] name = "winapi-util" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" +checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys", ] [[package]] name = "windows-core" -version = "0.61.2" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ "windows-implement", "windows-interface", - "windows-link 0.1.3", - "windows-result 0.3.4", - "windows-strings 0.4.2", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] name = "windows-implement" -version = "0.60.0" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", @@ -2923,21 +2931,15 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.59.1" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", "syn", ] -[[package]] -name = "windows-link" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" - [[package]] name = "windows-link" version = "0.2.1" @@ -2950,18 +2952,9 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" dependencies = [ - "windows-link 0.2.1", - "windows-result 0.4.1", - "windows-strings 0.5.1", -] - -[[package]] -name = "windows-result" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" -dependencies = [ - "windows-link 0.1.3", + "windows-link", + "windows-result", + "windows-strings", ] [[package]] @@ -2970,16 +2963,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.1", -] - -[[package]] -name = "windows-strings" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" -dependencies = [ - "windows-link 0.1.3", + "windows-link", ] [[package]] @@ -2988,198 +2972,124 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.1", + "windows-link", ] [[package]] name = "windows-sys" -version = "0.59.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-targets 0.52.6", + "windows-link", ] [[package]] -name = "windows-sys" -version = "0.60.2" +name = "winnow" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets 0.53.2", -] +checksum = "5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829" [[package]] -name = "windows-sys" -version = "0.61.2" +name = "wit-bindgen" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" dependencies = [ - "windows-link 0.2.1", + "wit-bindgen-rust-macro", ] [[package]] -name = "windows-targets" -version = "0.52.6" +name = "wit-bindgen-core" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", + "anyhow", + "heck", + "wit-parser", ] [[package]] -name = "windows-targets" -version = "0.53.2" +name = "wit-bindgen-rust" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c66f69fcc9ce11da9966ddb31a40968cad001c5bedeb5c2b82ede4253ab48aef" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" +name = "wit-bindgen-rust-macro" +version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - -[[package]] -name = "winnow" -version = "0.7.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] [[package]] -name = "wit-bindgen-rt" -version = "0.39.0" +name = "wit-component" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ + "anyhow", "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", ] [[package]] -name = "write16" -version = "1.0.0" +name = "wit-parser" +version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -3187,9 +3097,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", @@ -3199,18 +3109,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.26" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" +checksum = "a789c6e490b576db9f7e6b6d661bcc9799f7c0ac8352f56ea20193b2681532e5" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.26" +version = "0.8.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" +checksum = "f65c489a7071a749c849713807783f70672b28094011623e200cb86dcb835953" dependencies = [ "proc-macro2", "quote", @@ -3238,11 +3148,22 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -3251,11 +3172,17 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", "syn", ] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 07de01abd2..a3fac7dfb7 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -22,8 +22,8 @@ resolver = "2" [workspace.package] version = "0.23.0" description = "Rust implementation of Arrow Database Connectivity (ADBC)" -edition = "2021" -rust-version = "1.81" +edition = "2024" +rust-version = "1.85" authors = ["Apache Arrow "] license = "Apache-2.0" documentation = "https://docs.rs/adbc_core/" @@ -37,9 +37,9 @@ categories = ["database"] adbc_core = { path = "./core", version = "0.23.0" } adbc_driver_manager = { path = "./driver_manager", version = "0.23.0" } adbc_ffi = { path = "./ffi", version = "0.23.0" } -arrow-array = { version = ">=53.1.0, <59", default-features = false, features = [ +arrow-array = { version = ">=58, <59", default-features = false, features = [ "ffi", ] } -arrow-buffer = { version = ">=53.1.0, <59", default-features = false } -arrow-schema = { version = ">=53.1.0, <59", default-features = false } -arrow-select = { version = ">=53.1.0, <59", default-features = false } +arrow-buffer = { version = ">=58, <59", default-features = false } +arrow-schema = { version = ">=58, <59", default-features = false } +arrow-select = { version = ">=58, <59", default-features = false } diff --git a/rust/core/src/sync.rs b/rust/core/src/sync.rs index de26918b95..e14c6b2245 100644 --- a/rust/core/src/sync.rs +++ b/rust/core/src/sync.rs @@ -20,9 +20,9 @@ use std::collections::HashSet; use arrow_array::{RecordBatch, RecordBatchReader}; use arrow_schema::Schema; +use crate::PartitionedResult; use crate::error::Result; use crate::options::{self, OptionConnection, OptionDatabase, OptionStatement, OptionValue}; -use crate::PartitionedResult; /// Ability to configure an object by setting/getting options. pub trait Optionable { diff --git a/rust/driver/datafusion/Cargo.toml b/rust/driver/datafusion/Cargo.toml index c986a9d9a8..45ba6b2e6a 100644 --- a/rust/driver/datafusion/Cargo.toml +++ b/rust/driver/datafusion/Cargo.toml @@ -33,16 +33,16 @@ categories.workspace = true [dependencies] adbc_core.workspace = true adbc_ffi = { workspace = true, optional = true } -arrow-array = "57.3.0" -arrow-buffer = "57.3.0" -arrow-schema = "57.3.0" -datafusion = { version = "52.1.0", default-features = false } -datafusion-substrait = { version = "52.1.0", default-features = false } +arrow-array = "58" +arrow-buffer = "58" +arrow-schema = "58" +datafusion = { git = "https://github.com/apache/arrow-datafusion", default-features = false, features = ["sql"] } +datafusion-substrait = { git = "https://github.com/apache/arrow-datafusion", default-features = false } tokio = { version = "1.50", features = ["rt-multi-thread"] } prost = "0.14.3" [dev-dependencies] -arrow-select = "57.3.0" +arrow-select = "58" [lib] crate-type = ["lib", "cdylib"] diff --git a/rust/driver/datafusion/src/lib.rs b/rust/driver/datafusion/src/lib.rs index 0db317a728..62afa36b6f 100644 --- a/rust/driver/datafusion/src/lib.rs +++ b/rust/driver/datafusion/src/lib.rs @@ -41,11 +41,12 @@ use arrow_buffer::{OffsetBuffer, ScalarBuffer}; use arrow_schema::{ArrowError, DataType, Field, SchemaRef}; use adbc_core::{ + Connection, Database, Driver, Optionable, Statement, error::{Error, Result, Status}, options::{ InfoCode, ObjectDepth, OptionConnection, OptionDatabase, OptionStatement, OptionValue, }, - schemas, Connection, Database, Driver, Optionable, Statement, + schemas, }; pub enum Runtime { diff --git a/rust/driver/datafusion/tests/test_datafusion.rs b/rust/driver/datafusion/tests/test_datafusion.rs index 9123a480a9..0d2767edef 100644 --- a/rust/driver/datafusion/tests/test_datafusion.rs +++ b/rust/driver/datafusion/tests/test_datafusion.rs @@ -136,7 +136,10 @@ fn test_get_objects_database() { fn test_execute_sql() { let mut connection = get_connection(None); - execute_update(&mut connection, "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')"); + execute_update( + &mut connection, + "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')", + ); let batch = execute_sql_query(&mut connection, "SELECT * FROM datafusion.public.example"); @@ -148,7 +151,10 @@ fn test_execute_sql() { fn test_ingest() { let mut connection = get_connection(None); - execute_update(&mut connection, "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')"); + execute_update( + &mut connection, + "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')", + ); let batch = execute_sql_query(&mut connection, "SELECT * FROM datafusion.public.example"); @@ -174,7 +180,10 @@ fn test_ingest() { fn test_execute_substrait() { let mut connection = get_connection(None); - execute_update(&mut connection, "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')"); + execute_update( + &mut connection, + "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')", + ); let ctx = SessionContext::new(); @@ -203,7 +212,10 @@ fn test_execute_substrait() { async fn test_running_in_async() { let mut connection = get_connection(Some(tokio::runtime::Handle::current())); - execute_update(&mut connection, "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')"); + execute_update( + &mut connection, + "CREATE TABLE IF NOT EXISTS datafusion.public.example (c1 INT, c2 VARCHAR) AS VALUES(1,'HELLO'),(2,'DATAFUSION'),(3,'!')", + ); let batch = execute_sql_query(&mut connection, "SELECT * FROM datafusion.public.example"); diff --git a/rust/driver/dummy/src/lib.rs b/rust/driver/dummy/src/lib.rs index 72c81f1785..680538617a 100644 --- a/rust/driver/dummy/src/lib.rs +++ b/rust/driver/dummy/src/lib.rs @@ -29,12 +29,12 @@ use arrow_buffer::{OffsetBuffer, ScalarBuffer}; use arrow_schema::{ArrowError, DataType, Field, Schema, SchemaRef, UnionFields}; use adbc_core::{ - constants, + Connection, Database, Driver, Optionable, PartitionedResult, Statement, constants, error::{Error, Result, Status}, options::{ InfoCode, ObjectDepth, OptionConnection, OptionDatabase, OptionStatement, OptionValue, }, - schemas, Connection, Database, Driver, Optionable, PartitionedResult, Statement, + schemas, }; #[derive(Debug)] diff --git a/rust/driver/dummy/tests/driver_exporter_dummy.rs b/rust/driver/dummy/tests/driver_exporter_dummy.rs index 6d1445a45b..b64d2016c2 100644 --- a/rust/driver/dummy/tests/driver_exporter_dummy.rs +++ b/rust/driver/dummy/tests/driver_exporter_dummy.rs @@ -26,12 +26,12 @@ use arrow_array::{Array, Float64Array, Int64Array, RecordBatch, RecordBatchReade use arrow_schema::{DataType, Field, Schema}; use arrow_select::concat::concat_batches; +use adbc_core::Statement; use adbc_core::options::{ AdbcVersion, InfoCode, IngestMode, IsolationLevel, ObjectDepth, OptionConnection, OptionDatabase, OptionStatement, }; -use adbc_core::Statement; -use adbc_core::{schemas, Connection, Database, Driver, Optionable}; +use adbc_core::{Connection, Database, Driver, Optionable, schemas}; use adbc_driver_manager::{ManagedConnection, ManagedDatabase, ManagedDriver, ManagedStatement}; use adbc_dummy::{DummyConnection, DummyDatabase, DummyDriver, DummyStatement, SingleBatchReader}; diff --git a/rust/driver/snowflake/src/connection.rs b/rust/driver/snowflake/src/connection.rs index 2e916ac4b2..4dc4b5742f 100644 --- a/rust/driver/snowflake/src/connection.rs +++ b/rust/driver/snowflake/src/connection.rs @@ -22,9 +22,9 @@ use std::collections::HashSet; use adbc_core::{ + Optionable, error::Result, options::{InfoCode, OptionConnection, OptionValue}, - Optionable, }; use adbc_driver_manager::ManagedConnection; use arrow_array::RecordBatchReader; diff --git a/rust/driver/snowflake/src/connection/builder.rs b/rust/driver/snowflake/src/connection/builder.rs index fbc2b8cfba..d3557d269e 100644 --- a/rust/driver/snowflake/src/connection/builder.rs +++ b/rust/driver/snowflake/src/connection/builder.rs @@ -22,14 +22,14 @@ use std::fmt; use adbc_core::{ + Database as _, error::Result, options::{OptionConnection, OptionValue}, - Database as _, }; +use crate::{Connection, Database, builder::BuilderIter}; #[cfg(feature = "env")] use crate::{builder::env_parse_map_err, database}; -use crate::{builder::BuilderIter, Connection, Database}; /// A builder for [`Connection`]. /// diff --git a/rust/driver/snowflake/src/database.rs b/rust/driver/snowflake/src/database.rs index 48715a78e5..2ec4659883 100644 --- a/rust/driver/snowflake/src/database.rs +++ b/rust/driver/snowflake/src/database.rs @@ -22,15 +22,15 @@ use std::{collections::HashSet, ffi::c_int, sync::Arc}; use adbc_core::{ + Connection as _, Database as _, Optionable, error::{Error, Result, Status}, options::{AdbcVersion, InfoCode, OptionConnection, OptionDatabase, OptionValue}, - Connection as _, Database as _, Optionable, }; use adbc_driver_manager::ManagedDatabase; use arrow_array::{ + Array, cast::AsArray, types::{Int64Type, UInt32Type}, - Array, }; use crate::Connection; diff --git a/rust/driver/snowflake/src/database/builder.rs b/rust/driver/snowflake/src/database/builder.rs index 05dd921e9f..1029bf0397 100644 --- a/rust/driver/snowflake/src/database/builder.rs +++ b/rust/driver/snowflake/src/database/builder.rs @@ -25,13 +25,13 @@ use std::env; use std::{fmt, path::PathBuf, str::FromStr, time::Duration}; use adbc_core::{ + Driver as _, error::{Error, Result, Status}, options::{OptionDatabase, OptionValue}, - Driver as _, }; use url::{Host, Url}; -use crate::{builder::BuilderIter, Database, Driver}; +use crate::{Database, Driver, builder::BuilderIter}; #[cfg(feature = "env")] use crate::{ builder::{env_parse, env_parse_map_err}, @@ -1097,7 +1097,9 @@ mod tests { #[test] fn from_env_parse_error() { // Set a value that fails to parse to a LogLevel - env::set_var(Builder::LOG_TRACING_ENV, "warning"); + unsafe { + env::set_var(Builder::LOG_TRACING_ENV, "warning"); + } let result = Builder::from_env(); assert!(result.is_err()); assert_eq!( @@ -1108,15 +1110,19 @@ mod tests { ) ); // Fix it to move on - env::set_var(Builder::LOG_TRACING_ENV, "warn"); + + unsafe { env::set_var(Builder::LOG_TRACING_ENV, "warn") }; // Set a value that fails to parse to a duration - env::set_var(Builder::LOGIN_TIMEOUT_ENV, "forever"); + unsafe { env::set_var(Builder::LOGIN_TIMEOUT_ENV, "forever") }; let result = Builder::from_env(); assert!(result.is_err()); assert_eq!( result.unwrap_err(), - Error::with_message_and_status("invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)", Status::InvalidArguments) + Error::with_message_and_status( + "invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)", + Status::InvalidArguments + ) ); } } diff --git a/rust/driver/snowflake/src/driver.rs b/rust/driver/snowflake/src/driver.rs index 7467ae872c..452df0dac3 100644 --- a/rust/driver/snowflake/src/driver.rs +++ b/rust/driver/snowflake/src/driver.rs @@ -64,7 +64,7 @@ impl fmt::Debug for Driver { } #[cfg(any(feature = "bundled", feature = "linked"))] -extern "C" { +unsafe extern "C" { #[link_name = "AdbcDriverSnowflakeInit"] fn init(version: c_int, raw_driver: *mut c_void, err: *mut FFI_AdbcError) -> AdbcStatusCode; } diff --git a/rust/driver/snowflake/src/driver/builder.rs b/rust/driver/snowflake/src/driver/builder.rs index 0ef852bd92..70c92b6dfb 100644 --- a/rust/driver/snowflake/src/driver/builder.rs +++ b/rust/driver/snowflake/src/driver/builder.rs @@ -24,9 +24,9 @@ use adbc_core::{ options::AdbcVersion, }; +use crate::Driver; #[cfg(feature = "env")] use crate::builder::env_parse; -use crate::Driver; /// A builder for [`Driver`]. /// @@ -94,7 +94,9 @@ mod tests { #[test] fn from_env_parse_error() { // Set a value that fails to parse to an AdbcVersion - env::set_var(Builder::ADBC_VERSION_ENV, "?"); + unsafe { + env::set_var(Builder::ADBC_VERSION_ENV, "?"); + } let result = Builder::from_env(); assert!(result.is_err()); assert_eq!( diff --git a/rust/driver/snowflake/src/duration.rs b/rust/driver/snowflake/src/duration.rs index 711d523079..9cf4a62a21 100644 --- a/rust/driver/snowflake/src/duration.rs +++ b/rust/driver/snowflake/src/duration.rs @@ -43,7 +43,9 @@ fn overflow() -> Error { } fn bad_input() -> Result { - Err(invalid_arg("invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)")) + Err(invalid_arg( + "invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)", + )) } /// Parse the given string to a [`Duration`], returning an error when parsing @@ -260,7 +262,9 @@ mod tests { + Duration::from_secs(48) + Duration::from_nanos(372539828)) ); - let bad_input = Err(invalid_arg("invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)")); + let bad_input = Err(invalid_arg( + "invalid duration (valid durations are a sequence of decimal numbers, each with optional fraction and a unit suffix, such as 300ms, 1.5h, 2h45m, valid time units are ns, us, ms, s, m, h)", + )); assert_eq!(parse_duration(""), bad_input); assert_eq!(parse_duration("3"), bad_input); assert_eq!(parse_duration("-"), bad_input); diff --git a/rust/driver/snowflake/src/statement.rs b/rust/driver/snowflake/src/statement.rs index f956852b26..5981f0d98c 100644 --- a/rust/driver/snowflake/src/statement.rs +++ b/rust/driver/snowflake/src/statement.rs @@ -20,9 +20,9 @@ //! use adbc_core::{ + Optionable, PartitionedResult, error::Result, options::{OptionStatement, OptionValue}, - Optionable, PartitionedResult, }; use adbc_driver_manager::ManagedStatement; use arrow_array::{RecordBatch, RecordBatchReader}; diff --git a/rust/driver/snowflake/tests/driver.rs b/rust/driver/snowflake/tests/driver.rs index a5eaec7561..c8a13fb875 100644 --- a/rust/driver/snowflake/tests/driver.rs +++ b/rust/driver/snowflake/tests/driver.rs @@ -37,11 +37,11 @@ mod tests { use std::{collections::HashSet, ops::Deref, sync::LazyLock}; use adbc_core::{ + Connection as _, Statement as _, error::{Error, Result}, options::AdbcVersion, - Connection as _, Statement as _, }; - use adbc_snowflake::{connection, database, driver, Connection, Database, Driver, Statement}; + use adbc_snowflake::{Connection, Database, Driver, Statement, connection, database, driver}; use arrow_array::{cast::AsArray, types::Decimal128Type}; const ADBC_VERSION: AdbcVersion = AdbcVersion::V110; @@ -81,9 +81,11 @@ mod tests { fn database_get_info() -> Result<()> { with_database(|mut database| { assert_eq!(database.vendor_name(), Ok("Snowflake".to_owned())); - assert!(database - .vendor_version() - .is_ok_and(|version| version.starts_with("v"))); + assert!( + database + .vendor_version() + .is_ok_and(|version| version.starts_with("v")) + ); assert!(database.vendor_arrow_version().is_ok()); assert_eq!(database.vendor_sql(), Ok(true)); assert_eq!(database.vendor_substrait(), Ok(false)); @@ -92,9 +94,11 @@ mod tests { Ok("ADBC Snowflake Driver - Go".to_owned()) ); assert!(database.driver_version().is_ok()); - assert!(database - .driver_arrow_version() - .is_ok_and(|version| version.starts_with("v"))); + assert!( + database + .driver_arrow_version() + .is_ok_and(|version| version.starts_with("v")) + ); assert_eq!(database.adbc_version(), Ok(ADBC_VERSION)); Ok(()) }) diff --git a/rust/driver_manager/src/lib.rs b/rust/driver_manager/src/lib.rs index 439cb27e6a..5b1b063978 100644 --- a/rust/driver_manager/src/lib.rs +++ b/rust/driver_manager/src/lib.rs @@ -117,20 +117,20 @@ use adbc_ffi::options::{ check_status, get_option_bytes, get_option_string, set_option_connection, set_option_database, set_option_statement, }; -use arrow_array::ffi::{to_ffi, FFI_ArrowSchema}; +use arrow_array::ffi::{FFI_ArrowSchema, to_ffi}; use arrow_array::ffi_stream::{ArrowArrayStreamReader, FFI_ArrowArrayStream}; use arrow_array::{Array, RecordBatch, RecordBatchReader, StructArray}; use adbc_core::{ + Connection, Database, Driver, LoadFlags, Optionable, PartitionedResult, Statement, error::{Error, Result, Status}, options::{self, AdbcVersion, InfoCode, OptionDatabase, OptionValue}, - Connection, Database, Driver, LoadFlags, Optionable, PartitionedResult, Statement, }; use adbc_ffi::driver_method; -use self::search::{parse_driver_uri, DriverLibrary, DriverLocator}; +use self::search::{DriverLibrary, DriverLocator, parse_driver_uri}; use crate::profile::{ - process_profile_value, ConnectionProfile, ConnectionProfileProvider, FilesystemProfileProvider, + ConnectionProfile, ConnectionProfileProvider, FilesystemProfileProvider, process_profile_value, }; const ERR_CANCEL_UNSUPPORTED: &str = diff --git a/rust/driver_manager/src/profile.rs b/rust/driver_manager/src/profile.rs index 40a668d2f3..1035806ad1 100644 --- a/rust/driver_manager/src/profile.rs +++ b/rust/driver_manager/src/profile.rs @@ -15,12 +15,12 @@ // specific language governing permissions and limitations // under the License. -use crate::search::find_filesystem_profile; use crate::ManagedDatabase; +use crate::search::find_filesystem_profile; use adbc_core::{ + Optionable, error::{Error, Result, Status}, options::{OptionDatabase, OptionValue}, - Optionable, }; use adbc_ffi::FFI_AdbcDriverInitFunc; use regex::{Captures, Regex}; @@ -354,7 +354,10 @@ pub(crate) fn process_profile_value(value: &str) -> Result { let env_var_name = content[8..content.len() - 1].trim(); if env_var_name.is_empty() { return Err(Error::with_message_and_status( - format!("empty environment variable name in profile replacement expression '{{{{ {} }}}}'", content), + format!( + "empty environment variable name in profile replacement expression '{{{{ {} }}}}'", + content + ), Status::InvalidArguments, )); } @@ -363,7 +366,10 @@ pub(crate) fn process_profile_value(value: &str) -> Result { Ok(val) => Ok(val), Err(env::VarError::NotPresent) => Ok("".to_string()), Err(e) => Err(Error::with_message_and_status( - format!("error retrieving environment variable '{}' for profile replacement expression '{{{{ {} }}}}': {}", env_var_name, content, e), + format!( + "error retrieving environment variable '{}' for profile replacement expression '{{{{ {} }}}}': {}", + env_var_name, content, e + ), Status::InvalidArguments, )), } diff --git a/rust/driver_manager/src/search.rs b/rust/driver_manager/src/search.rs index e3476e00d1..0e68229d46 100644 --- a/rust/driver_manager/src/search.rs +++ b/rust/driver_manager/src/search.rs @@ -17,7 +17,7 @@ use path_slash::PathBufExt; use std::borrow::Cow; -use std::ffi::{c_void, OsStr}; +use std::ffi::{OsStr, c_void}; use std::fmt::Write; use std::fs; use std::path::{Path, PathBuf}; @@ -27,10 +27,10 @@ use libloading::Symbol; use toml::de::{DeTable, DeValue}; use adbc_core::{ + LOAD_FLAG_ALLOW_RELATIVE_PATHS, LOAD_FLAG_SEARCH_ENV, LOAD_FLAG_SEARCH_SYSTEM, + LOAD_FLAG_SEARCH_USER, LoadFlags, error::{Error, Result, Status}, options::AdbcVersion, - LoadFlags, LOAD_FLAG_ALLOW_RELATIVE_PATHS, LOAD_FLAG_SEARCH_ENV, LOAD_FLAG_SEARCH_SYSTEM, - LOAD_FLAG_SEARCH_USER, }; use adbc_ffi::{ options::check_status, @@ -226,7 +226,7 @@ enum DriverInitFunc<'a> { } /// Allow using [DriverInitFunc] as a function pointer. -impl<'a> ops::Deref for DriverInitFunc<'a> { +impl ops::Deref for DriverInitFunc<'_> { type Target = FFI_AdbcDriverInitFunc; fn deref(&self) -> &Self::Target { @@ -346,10 +346,10 @@ impl<'a> DriverLibrary<'a> { Ok(SearchHit::new(info.lib_path, library, info.entrypoint)) } - pub(crate) fn derive_entrypoint<'b>( - entrypoint: Option<&'b [u8]>, + pub(crate) fn derive_entrypoint( + entrypoint: Option<&[u8]>, driver_path: impl AsRef, - ) -> Cow<'b, [u8]> { + ) -> Cow<'_, [u8]> { if let Some(entrypoint) = entrypoint { Cow::Borrowed(entrypoint) } else { @@ -695,8 +695,8 @@ const fn arch_triplet() -> (&'static str, &'static str, &'static str) { mod target_windows { use windows_sys as windows; - use std::ffi::c_void; use std::ffi::OsString; + use std::ffi::c_void; use std::os::windows::ffi::OsStringExt; use std::path::PathBuf; use std::slice; @@ -980,7 +980,7 @@ pub(crate) enum DriverLocator<'a> { /// Returns `Status::InvalidArguments` if: /// - The URI has no colon separator /// - The URI format is invalid -pub(crate) fn parse_driver_uri<'a>(uri: &'a str) -> Result> { +pub(crate) fn parse_driver_uri(uri: &'_ str) -> Result> { let idx = uri.find(":").ok_or(Error::with_message_and_status( format!("Invalid URI: {uri}"), Status::InvalidArguments, @@ -1017,7 +1017,7 @@ pub(crate) fn parse_driver_uri<'a>(uri: &'a str) -> Result> { mod tests { use std::env; - use adbc_core::{options::AdbcVersion, LOAD_FLAG_ALLOW_RELATIVE_PATHS}; + use adbc_core::{LOAD_FLAG_ALLOW_RELATIVE_PATHS, options::AdbcVersion}; use temp_env::{with_var, with_var_unset}; use crate::ManagedDriver; diff --git a/rust/driver_manager/tests/common/mod.rs b/rust/driver_manager/tests/common/mod.rs index 28df83f104..a81e8ab306 100644 --- a/rust/driver_manager/tests/common/mod.rs +++ b/rust/driver_manager/tests/common/mod.rs @@ -28,8 +28,8 @@ use adbc_core::{Connection, Database, Driver, Optionable, Statement}; use adbc_driver_manager::{ManagedConnection, ManagedDatabase, ManagedDriver, ManagedStatement}; use arrow_array::{ - cast::as_string_array, Array, Float64Array, Int64Array, RecordBatch, RecordBatchReader, - StringArray, + Array, Float64Array, Int64Array, RecordBatch, RecordBatchReader, StringArray, + cast::as_string_array, }; use arrow_schema::{ArrowError, DataType, Field, Schema, SchemaRef}; use arrow_select::concat::concat_batches; @@ -105,14 +105,18 @@ pub fn test_database(database: &ManagedDatabase) { } pub fn test_connection(connection: &mut ManagedConnection) { - assert!(connection - .set_option(OptionConnection::AutoCommit, "true".into()) - .is_ok()); + assert!( + connection + .set_option(OptionConnection::AutoCommit, "true".into()) + .is_ok() + ); // Unknown connection option - assert!(connection - .set_option(OptionConnection::Other("unknown".into()), "".into()) - .is_err()); + assert!( + connection + .set_option(OptionConnection::Other("unknown".into()), "".into()) + .is_err() + ); assert!(connection.new_statement().is_ok()); } @@ -238,9 +242,11 @@ pub fn test_connection_get_table_schema(connection: &mut ManagedConnection) { connection.rollback().unwrap(); - assert!(connection - .get_table_schema(None, None, "nonexistent_table") - .is_err()); + assert!( + connection + .get_table_schema(None, None, "nonexistent_table") + .is_err() + ); } pub fn test_statement(statement: &mut ManagedStatement) { diff --git a/rust/driver_manager/tests/connection_profile.rs b/rust/driver_manager/tests/connection_profile.rs index e1bdd353f4..57ef0d1707 100644 --- a/rust/driver_manager/tests/connection_profile.rs +++ b/rust/driver_manager/tests/connection_profile.rs @@ -18,11 +18,11 @@ use std::path::PathBuf; use adbc_core::options::{AdbcVersion, OptionDatabase, OptionValue}; -use adbc_core::{error::Status, LOAD_FLAG_DEFAULT}; +use adbc_core::{LOAD_FLAG_DEFAULT, error::Status}; +use adbc_driver_manager::ManagedDatabase; use adbc_driver_manager::profile::{ ConnectionProfile, ConnectionProfileProvider, FilesystemProfileProvider, }; -use adbc_driver_manager::ManagedDatabase; use serial_test::serial; mod common; @@ -460,7 +460,9 @@ fn test_profile_hierarchical_path_via_env_var() { // Set ADBC_PROFILE_PATH to the parent directory let prev_value = env::var_os("ADBC_PROFILE_PATH"); - env::set_var("ADBC_PROFILE_PATH", tmp_dir.path()); + unsafe { + env::set_var("ADBC_PROFILE_PATH", tmp_dir.path()); + } // Verify the environment variable is set correctly assert_eq!( @@ -473,9 +475,11 @@ fn test_profile_hierarchical_path_via_env_var() { let result = provider.get_profile("databases/postgres/production", None); // Restore the original environment variable - match prev_value { - Some(val) => env::set_var("ADBC_PROFILE_PATH", val), - None => env::remove_var("ADBC_PROFILE_PATH"), + unsafe { + match prev_value { + Some(val) => env::set_var("ADBC_PROFILE_PATH", val), + None => env::remove_var("ADBC_PROFILE_PATH"), + } } // Verify the profile was loaded successfully @@ -518,16 +522,20 @@ fn test_profile_hierarchical_path_with_extension_via_env_var() { // Set ADBC_PROFILE_PATH to the parent directory let prev_value = env::var_os("ADBC_PROFILE_PATH"); - env::set_var("ADBC_PROFILE_PATH", tmp_dir.path()); + unsafe { + env::set_var("ADBC_PROFILE_PATH", tmp_dir.path()); + } // Try to load the profile using hierarchical relative path with .toml extension let provider = FilesystemProfileProvider; let result = provider.get_profile("configs/dev/database.toml", None); // Restore the original environment variable - match prev_value { - Some(val) => env::set_var("ADBC_PROFILE_PATH", val), - None => env::remove_var("ADBC_PROFILE_PATH"), + unsafe { + match prev_value { + Some(val) => env::set_var("ADBC_PROFILE_PATH", val), + None => env::remove_var("ADBC_PROFILE_PATH"), + } } // Verify the profile was loaded successfully diff --git a/rust/driver_manager/tests/driver_manager_sqlite.rs b/rust/driver_manager/tests/driver_manager_sqlite.rs index ed462d3852..0f6d89fa27 100644 --- a/rust/driver_manager/tests/driver_manager_sqlite.rs +++ b/rust/driver_manager/tests/driver_manager_sqlite.rs @@ -18,8 +18,8 @@ use arrow_schema::{Field, Schema}; use adbc_core::options::{AdbcVersion, OptionConnection, OptionDatabase}; -use adbc_core::{error::Status, Driver, Optionable}; -use adbc_core::{Connection, Database, Statement, LOAD_FLAG_DEFAULT}; +use adbc_core::{Connection, Database, LOAD_FLAG_DEFAULT, Statement}; +use adbc_core::{Driver, Optionable, error::Status}; use adbc_driver_manager::{ManagedDatabase, ManagedDriver}; mod common; diff --git a/rust/driver_manager/tests/test_env_var_profiles.rs b/rust/driver_manager/tests/test_env_var_profiles.rs index 04a972d41a..858042864a 100644 --- a/rust/driver_manager/tests/test_env_var_profiles.rs +++ b/rust/driver_manager/tests/test_env_var_profiles.rs @@ -19,7 +19,7 @@ use std::env; use std::path::PathBuf; use adbc_core::options::AdbcVersion; -use adbc_core::{error::Status, LOAD_FLAG_DEFAULT}; +use adbc_core::{LOAD_FLAG_DEFAULT, error::Status}; use adbc_driver_manager::ManagedDatabase; fn write_profile_to_tempfile(tmp_dir: &tempfile::TempDir, name: &str, content: &str) -> PathBuf { @@ -38,7 +38,10 @@ fn test_env_var_replacement_basic() { // Set a test environment variable let prev_value = env::var_os("ADBC_TEST_ENV_VAR"); - env::set_var("ADBC_TEST_ENV_VAR", ":memory:"); + + unsafe { + env::set_var("ADBC_TEST_ENV_VAR", ":memory:"); + } let profile_content = r#" version = 1 @@ -54,9 +57,11 @@ uri = "{{ env_var(ADBC_TEST_ENV_VAR) }}" let result = ManagedDatabase::from_uri(&uri, None, AdbcVersion::V100, LOAD_FLAG_DEFAULT, None); // Restore environment variable - match prev_value { - Some(val) => env::set_var("ADBC_TEST_ENV_VAR", val), - None => env::remove_var("ADBC_TEST_ENV_VAR"), + unsafe { + match prev_value { + Some(val) => env::set_var("ADBC_TEST_ENV_VAR", val), + None => env::remove_var("ADBC_TEST_ENV_VAR"), + } } match result { @@ -85,7 +90,9 @@ fn test_env_var_replacement_empty() { .expect("Failed to create temporary directory"); // Make sure the env var doesn't exist - env::remove_var("ADBC_NONEXISTENT_VAR_12345"); + unsafe { + env::remove_var("ADBC_NONEXISTENT_VAR_12345"); + } let profile_content = r#" version = 1 @@ -199,7 +206,9 @@ fn test_env_var_replacement_interpolation() { // Set a test environment variable let prev_value = env::var_os("ADBC_TEST_INTERPOLATE"); - env::set_var("ADBC_TEST_INTERPOLATE", "middle_value"); + unsafe { + env::set_var("ADBC_TEST_INTERPOLATE", "middle_value"); + } let profile_content = r#" version = 1 @@ -216,9 +225,11 @@ test_option = "prefix_{{ env_var(ADBC_TEST_INTERPOLATE) }}_suffix" let result = ManagedDatabase::from_uri(&uri, None, AdbcVersion::V100, LOAD_FLAG_DEFAULT, None); // Restore environment variable - match prev_value { - Some(val) => env::set_var("ADBC_TEST_INTERPOLATE", val), - None => env::remove_var("ADBC_TEST_INTERPOLATE"), + unsafe { + match prev_value { + Some(val) => env::set_var("ADBC_TEST_INTERPOLATE", val), + None => env::remove_var("ADBC_TEST_INTERPOLATE"), + } } assert!(result.is_err(), "Expected error for malformed env_var"); @@ -245,8 +256,10 @@ fn test_env_var_replacement_multiple() { // Set test environment variables let prev_var1 = env::var_os("ADBC_TEST_VAR1"); let prev_var2 = env::var_os("ADBC_TEST_VAR2"); - env::set_var("ADBC_TEST_VAR1", "first"); - env::set_var("ADBC_TEST_VAR2", "second"); + unsafe { + env::set_var("ADBC_TEST_VAR1", "first"); + env::set_var("ADBC_TEST_VAR2", "second"); + } let profile_content = r#" version = 1 @@ -263,13 +276,15 @@ test_option = "{{ env_var(ADBC_TEST_VAR1) }}_and_{{ env_var(ADBC_TEST_VAR2) }}" let result = ManagedDatabase::from_uri(&uri, None, AdbcVersion::V100, LOAD_FLAG_DEFAULT, None); // Restore environment variables - match prev_var1 { - Some(val) => env::set_var("ADBC_TEST_VAR1", val), - None => env::remove_var("ADBC_TEST_VAR1"), - } - match prev_var2 { - Some(val) => env::set_var("ADBC_TEST_VAR2", val), - None => env::remove_var("ADBC_TEST_VAR2"), + unsafe { + match prev_var1 { + Some(val) => env::set_var("ADBC_TEST_VAR1", val), + None => env::remove_var("ADBC_TEST_VAR1"), + } + match prev_var2 { + Some(val) => env::set_var("ADBC_TEST_VAR2", val), + None => env::remove_var("ADBC_TEST_VAR2"), + } } assert!(result.is_err(), "Expected error for malformed env_var"); @@ -295,7 +310,9 @@ fn test_env_var_replacement_whitespace() { // Set a test environment variable let prev_value = env::var_os("ADBC_TEST_WHITESPACE"); - env::set_var("ADBC_TEST_WHITESPACE", "value"); + unsafe { + env::set_var("ADBC_TEST_WHITESPACE", "value"); + } let profile_content = r#" version = 1 @@ -312,9 +329,11 @@ test_option = "{{ env_var( ADBC_TEST_WHITESPACE ) }}" let result = ManagedDatabase::from_uri(&uri, None, AdbcVersion::V100, LOAD_FLAG_DEFAULT, None); // Restore environment variable - match prev_value { - Some(val) => env::set_var("ADBC_TEST_WHITESPACE", val), - None => env::remove_var("ADBC_TEST_WHITESPACE"), + unsafe { + match prev_value { + Some(val) => env::set_var("ADBC_TEST_WHITESPACE", val), + None => env::remove_var("ADBC_TEST_WHITESPACE"), + } } assert!(result.is_err(), "Expected error for malformed env_var"); diff --git a/rust/ffi/src/driver_exporter.rs b/rust/ffi/src/driver_exporter.rs index 6342639706..1a41d100b4 100644 --- a/rust/ffi/src/driver_exporter.rs +++ b/rust/ffi/src/driver_exporter.rs @@ -20,14 +20,14 @@ use std::ffi::{CStr, CString}; use std::hash::Hash; use std::os::raw::{c_char, c_int, c_void}; -use arrow_array::ffi::{from_ffi, FFI_ArrowArray, FFI_ArrowSchema}; -use arrow_array::ffi_stream::{ArrowArrayStreamReader, FFI_ArrowArrayStream}; use arrow_array::StructArray; +use arrow_array::ffi::{FFI_ArrowArray, FFI_ArrowSchema, from_ffi}; +use arrow_array::ffi_stream::{ArrowArrayStreamReader, FFI_ArrowArrayStream}; use arrow_schema::DataType; use super::{ - options::get_opt_name, types::ErrorPrivateData, FFI_AdbcConnection, FFI_AdbcDatabase, - FFI_AdbcDriver, FFI_AdbcError, FFI_AdbcErrorDetail, FFI_AdbcPartitions, FFI_AdbcStatement, + FFI_AdbcConnection, FFI_AdbcDatabase, FFI_AdbcDriver, FFI_AdbcError, FFI_AdbcErrorDetail, + FFI_AdbcPartitions, FFI_AdbcStatement, options::get_opt_name, types::ErrorPrivateData, }; use adbc_core::constants::ADBC_STATUS_OK; use adbc_core::error::{AdbcStatusCode, Error, Result, Status}; @@ -181,7 +181,7 @@ impl FFIDriver for DriverType { macro_rules! export_driver { ($func_name:ident, $driver_type:ty) => { #[allow(non_snake_case)] - #[no_mangle] + #[unsafe(no_mangle)] pub unsafe extern "C" fn $func_name( version: std::os::raw::c_int, driver: *mut std::os::raw::c_void, @@ -211,7 +211,7 @@ macro_rules! export_driver { // Fallback symbol, if the driver manager does not find the init above #[allow(non_snake_case)] - #[no_mangle] + #[unsafe(no_mangle)] pub unsafe extern "C" fn AdbcDriverInit( version: std::os::raw::c_int, driver: *mut std::os::raw::c_void, @@ -545,11 +545,10 @@ unsafe fn database_private_data<'a, DriverType: Driver>( database: &mut FFI_AdbcDatabase, ) -> Result<&'a mut ExportedDatabase> { let exported = database.private_data as *mut ExportedDatabase; - let exported = exported.as_mut().ok_or(Error::with_message_and_status( + exported.as_mut().ok_or(Error::with_message_and_status( "Uninitialized database", Status::InvalidState, - )); - exported + )) } // SAFETY: Will panic if `key` is null. @@ -819,11 +818,10 @@ unsafe fn connection_private_data<'a, DriverType: Driver>( connection: &mut FFI_AdbcConnection, ) -> Result<&'a mut ExportedConnection> { let exported = connection.private_data as *mut ExportedConnection; - let exported = exported.as_mut().ok_or(Error::with_message_and_status( + exported.as_mut().ok_or(Error::with_message_and_status( "Uninitialized connection", Status::InvalidState, - )); - exported + )) } // SAFETY: Will panic if `connection` or `key` is null. @@ -1400,11 +1398,10 @@ unsafe fn statement_private_data<'a, DriverType: Driver>( ) -> Result<&'a mut ExportedStatement> { assert!(!statement.is_null()); let exported = (*statement).private_data as *mut ExportedStatement; - let exported = exported.as_mut().ok_or(Error::with_message_and_status( + exported.as_mut().ok_or(Error::with_message_and_status( "Uninitialized statement", Status::InvalidState, - )); - exported + )) } // SAFETY: Will panic if `statement` or `key` is null. diff --git a/rust/ffi/src/lib.rs b/rust/ffi/src/lib.rs index d4a29410bf..0805d2f0e5 100644 --- a/rust/ffi/src/lib.rs +++ b/rust/ffi/src/lib.rs @@ -15,6 +15,8 @@ // specific language governing permissions and limitations // under the License. +#![allow(unsafe_op_in_unsafe_fn)] + //! ADBC: Arrow Database Connectivity //! //! ADBC is a set of APIs and libraries for [Arrow](https://arrow.apache.org/)-native diff --git a/rust/ffi/src/options.rs b/rust/ffi/src/options.rs index 5a9717eb69..8266af2528 100644 --- a/rust/ffi/src/options.rs +++ b/rust/ffi/src/options.rs @@ -22,7 +22,7 @@ use adbc_core::constants; use adbc_core::error::{AdbcStatusCode, Error, Result, Status}; use adbc_core::options::{AdbcVersion, OptionValue}; -use crate::{driver_method, FFI_AdbcConnection, FFI_AdbcStatement}; +use crate::{FFI_AdbcConnection, FFI_AdbcStatement, driver_method}; use crate::{FFI_AdbcDatabase, FFI_AdbcDriver, FFI_AdbcError}; const ERR_ONLY_STRING_OPT: &str = "Only string option value are supported with ADBC 1.0.0"; diff --git a/rust/ffi/src/types.rs b/rust/ffi/src/types.rs index 716114d2d9..a3bec3438f 100644 --- a/rust/ffi/src/types.rs +++ b/rust/ffi/src/types.rs @@ -24,9 +24,8 @@ use std::ptr::{null, null_mut}; use super::methods; use adbc_core::{ - constants, + Partitions, constants, error::{AdbcStatusCode, Error, Status}, - Partitions, }; /// A driver initialization function.