diff --git a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix index 35bc378d1890..9b8f5da950c8 100644 --- a/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix +++ b/pkgs/development/tools/rust/cargo-pgrx/buildPgrxExtension.nix @@ -53,6 +53,7 @@ buildType ? "release", buildFeatures ? [ ], cargoBuildFlags ? [ ], + cargoPgrxFlags ? [ ], postgresql, # cargo-pgrx calls rustfmt on generated bindings, this is not strictly necessary, so we avoid the # dependency here. Set to false and provide rustfmt in nativeBuildInputs, if you need it, e.g. @@ -115,6 +116,8 @@ let "usePgTestCheckFeature" ]; + cargoPgrxFlags' = lib.escapeShellArgs cargoPgrxFlags; + # so we don't accidentally `(rustPlatform.buildRustPackage argsForBuildRustPackage) // { ... }` because # we forgot parentheses finalArgs = argsForBuildRustPackage // { @@ -140,6 +143,7 @@ let PGRX_BUILD_FLAGS="--frozen -j $NIX_BUILD_CORES ${builtins.concatStringsSep " " cargoBuildFlags}" \ ${lib.optionalString stdenv.hostPlatform.isDarwin ''RUSTFLAGS="''${RUSTFLAGS:+''${RUSTFLAGS} }-Clink-args=-Wl,-undefined,dynamic_lookup"''} \ cargo pgrx package \ + ${cargoPgrxFlags'} \ --pg-config ${lib.getDev postgresql}/bin/pg_config \ ${maybeDebugFlag} \ --features "${builtins.concatStringsSep " " buildFeatures}" \ @@ -159,7 +163,7 @@ let ${maybeEnterBuildAndTestSubdir} - cargo-pgrx pgrx stop all + cargo-pgrx pgrx stop all ${cargoPgrxFlags'} mv $out/${postgresql}/* $out rm -rf $out/nix diff --git a/pkgs/servers/sql/postgresql/ext/pgvectorscale/add-Cargo.lock.patch b/pkgs/servers/sql/postgresql/ext/pgvectorscale/add-Cargo.lock.patch new file mode 100644 index 000000000000..e022abb63205 --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/pgvectorscale/add-Cargo.lock.patch @@ -0,0 +1,2812 @@ +diff --git a/Cargo.lock b/Cargo.lock +new file mode 100644 +index 0000000..f654689 +--- /dev/null ++++ b/Cargo.lock +@@ -0,0 +1,2806 @@ ++# This file is automatically @generated by Cargo. ++# It is not intended for manual editing. ++version = 3 ++ ++[[package]] ++name = "addr2line" ++version = "0.24.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" ++dependencies = [ ++ "gimli", ++] ++ ++[[package]] ++name = "adler2" ++version = "2.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" ++ ++[[package]] ++name = "ahash" ++version = "0.7.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" ++dependencies = [ ++ "getrandom 0.2.15", ++ "once_cell", ++ "version_check", ++] ++ ++[[package]] ++name = "aho-corasick" ++version = "1.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "anes" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" ++ ++[[package]] ++name = "annotate-snippets" ++version = "0.9.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e" ++dependencies = [ ++ "unicode-width", ++ "yansi-term", ++] ++ ++[[package]] ++name = "anstyle" ++version = "1.0.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" ++ ++[[package]] ++name = "anyhow" ++version = "1.0.97" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" ++ ++[[package]] ++name = "async-trait" ++version = "0.1.88" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "atomic-traits" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b29ec3788e96fb4fdb275ccb9d62811f2fa903d76c5eb4dd6fe7d09a7ed5871f" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "rustc_version", ++] ++ ++[[package]] ++name = "autocfg" ++version = "1.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" ++ ++[[package]] ++name = "backtrace" ++version = "0.3.74" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" ++dependencies = [ ++ "addr2line", ++ "cfg-if 1.0.0", ++ "libc", ++ "miniz_oxide", ++ "object", ++ "rustc-demangle", ++ "windows-targets", ++] ++ ++[[package]] ++name = "base64" ++version = "0.22.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" ++ ++[[package]] ++name = "bindgen" ++version = "0.70.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" ++dependencies = [ ++ "annotate-snippets", ++ "bitflags", ++ "cexpr", ++ "clang-sys", ++ "itertools 0.13.0", ++ "proc-macro2", ++ "quote", ++ "regex", ++ "rustc-hash", ++ "shlex", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "bit-set" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" ++dependencies = [ ++ "bit-vec", ++] ++ ++[[package]] ++name = "bit-vec" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" ++ ++[[package]] ++name = "bitflags" ++version = "2.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" ++ ++[[package]] ++name = "bitvec" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" ++dependencies = [ ++ "funty", ++ "radium", ++ "tap", ++ "wyz", ++] ++ ++[[package]] ++name = "block-buffer" ++version = "0.10.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" ++dependencies = [ ++ "generic-array", ++] ++ ++[[package]] ++name = "bumpalo" ++version = "3.17.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" ++ ++[[package]] ++name = "bytecheck" ++version = "0.6.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" ++dependencies = [ ++ "bytecheck_derive", ++ "ptr_meta", ++ "simdutf8", ++] ++ ++[[package]] ++name = "bytecheck_derive" ++version = "0.6.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 1.0.109", ++] ++ ++[[package]] ++name = "byteorder" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" ++ ++[[package]] ++name = "bytes" ++version = "1.10.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" ++ ++[[package]] ++name = "camino" ++version = "1.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "cargo-platform" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e35af189006b9c0f00a064685c727031e3ed2d8020f7ba284d78cc2671bd36ea" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "cargo_metadata" ++version = "0.18.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" ++dependencies = [ ++ "camino", ++ "cargo-platform", ++ "semver 1.0.26", ++ "serde", ++ "serde_json", ++ "thiserror 1.0.69", ++] ++ ++[[package]] ++name = "cargo_toml" ++version = "0.19.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" ++dependencies = [ ++ "serde", ++ "toml", ++] ++ ++[[package]] ++name = "cast" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" ++ ++[[package]] ++name = "cc" ++version = "1.2.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a" ++dependencies = [ ++ "shlex", ++] ++ ++[[package]] ++name = "cee-scape" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4d67dfb052149f779f77e9ce089cea126e00657e8f0d11dafc7901fde4291101" ++dependencies = [ ++ "cc", ++ "libc", ++] ++ ++[[package]] ++name = "cexpr" ++version = "0.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" ++dependencies = [ ++ "nom", ++] ++ ++[[package]] ++name = "cfg-if" ++version = "0.1.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" ++ ++[[package]] ++name = "cfg-if" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" ++ ++[[package]] ++name = "ciborium" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" ++dependencies = [ ++ "ciborium-io", ++ "ciborium-ll", ++ "serde", ++] ++ ++[[package]] ++name = "ciborium-io" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" ++ ++[[package]] ++name = "ciborium-ll" ++version = "0.2.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" ++dependencies = [ ++ "ciborium-io", ++ "half 2.5.0", ++] ++ ++[[package]] ++name = "clang-sys" ++version = "1.8.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" ++dependencies = [ ++ "glob", ++ "libc", ++ "libloading", ++] ++ ++[[package]] ++name = "clap" ++version = "4.5.32" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6088f3ae8c3608d19260cd7445411865a485688711b78b5be70d78cd96136f83" ++dependencies = [ ++ "clap_builder", ++ "clap_derive", ++] ++ ++[[package]] ++name = "clap-cargo" ++version = "0.14.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "23b2ea69cefa96b848b73ad516ad1d59a195cdf9263087d977f648a818c8b43e" ++dependencies = [ ++ "anstyle", ++ "cargo_metadata", ++ "clap", ++] ++ ++[[package]] ++name = "clap_builder" ++version = "4.5.32" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "22a7ef7f676155edfb82daa97f99441f3ebf4a58d5e32f295a56259f1b6facc8" ++dependencies = [ ++ "anstyle", ++ "clap_lex", ++] ++ ++[[package]] ++name = "clap_derive" ++version = "4.5.32" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" ++dependencies = [ ++ "heck", ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "clap_lex" ++version = "0.7.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" ++ ++[[package]] ++name = "convert_case" ++version = "0.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" ++dependencies = [ ++ "unicode-segmentation", ++] ++ ++[[package]] ++name = "core-foundation-sys" ++version = "0.8.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" ++ ++[[package]] ++name = "cpufeatures" ++version = "0.2.17" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "criterion" ++version = "0.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" ++dependencies = [ ++ "anes", ++ "cast", ++ "ciborium", ++ "clap", ++ "criterion-plot", ++ "is-terminal", ++ "itertools 0.10.5", ++ "num-traits", ++ "once_cell", ++ "oorandom", ++ "plotters", ++ "rayon", ++ "regex", ++ "serde", ++ "serde_derive", ++ "serde_json", ++ "tinytemplate", ++ "walkdir", ++] ++ ++[[package]] ++name = "criterion-plot" ++version = "0.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" ++dependencies = [ ++ "cast", ++ "itertools 0.10.5", ++] ++ ++[[package]] ++name = "crossbeam-deque" ++version = "0.8.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51" ++dependencies = [ ++ "crossbeam-epoch", ++ "crossbeam-utils", ++] ++ ++[[package]] ++name = "crossbeam-epoch" ++version = "0.9.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" ++dependencies = [ ++ "crossbeam-utils", ++] ++ ++[[package]] ++name = "crossbeam-utils" ++version = "0.8.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" ++ ++[[package]] ++name = "crunchy" ++version = "0.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" ++ ++[[package]] ++name = "crypto-common" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" ++dependencies = [ ++ "generic-array", ++ "typenum", ++] ++ ++[[package]] ++name = "digest" ++version = "0.10.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" ++dependencies = [ ++ "block-buffer", ++ "crypto-common", ++ "subtle", ++] ++ ++[[package]] ++name = "displaydoc" ++version = "0.2.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "either" ++version = "1.15.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" ++ ++[[package]] ++name = "enum-map" ++version = "2.7.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6866f3bfdf8207509a033af1a75a7b08abda06bbaaeae6669323fd5a097df2e9" ++dependencies = [ ++ "enum-map-derive", ++] ++ ++[[package]] ++name = "enum-map-derive" ++version = "0.17.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "equivalent" ++version = "1.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" ++ ++[[package]] ++name = "errno" ++version = "0.3.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" ++dependencies = [ ++ "libc", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "eyre" ++version = "0.6.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec" ++dependencies = [ ++ "indenter", ++ "once_cell", ++] ++ ++[[package]] ++name = "fallible-iterator" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" ++ ++[[package]] ++name = "fastrand" ++version = "2.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" ++ ++[[package]] ++name = "fixedbitset" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" ++ ++[[package]] ++name = "fnv" ++version = "1.0.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" ++ ++[[package]] ++name = "form_urlencoded" ++version = "1.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" ++dependencies = [ ++ "percent-encoding", ++] ++ ++[[package]] ++name = "funty" ++version = "2.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" ++ ++[[package]] ++name = "futures" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" ++dependencies = [ ++ "futures-channel", ++ "futures-core", ++ "futures-executor", ++ "futures-io", ++ "futures-sink", ++ "futures-task", ++ "futures-util", ++] ++ ++[[package]] ++name = "futures-channel" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" ++dependencies = [ ++ "futures-core", ++ "futures-sink", ++] ++ ++[[package]] ++name = "futures-core" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" ++ ++[[package]] ++name = "futures-executor" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" ++dependencies = [ ++ "futures-core", ++ "futures-task", ++ "futures-util", ++] ++ ++[[package]] ++name = "futures-io" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" ++ ++[[package]] ++name = "futures-macro" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "futures-sink" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" ++ ++[[package]] ++name = "futures-task" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" ++ ++[[package]] ++name = "futures-util" ++version = "0.3.31" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" ++dependencies = [ ++ "futures-channel", ++ "futures-core", ++ "futures-io", ++ "futures-macro", ++ "futures-sink", ++ "futures-task", ++ "memchr", ++ "pin-project-lite", ++ "pin-utils", ++ "slab", ++] ++ ++[[package]] ++name = "generic-array" ++version = "0.14.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" ++dependencies = [ ++ "typenum", ++ "version_check", ++] ++ ++[[package]] ++name = "getrandom" ++version = "0.2.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "libc", ++ "wasi 0.11.0+wasi-snapshot-preview1", ++] ++ ++[[package]] ++name = "getrandom" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "libc", ++ "r-efi", ++ "wasi 0.14.2+wasi-0.2.4", ++] ++ ++[[package]] ++name = "gimli" ++version = "0.31.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" ++ ++[[package]] ++name = "glob" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" ++ ++[[package]] ++name = "half" ++version = "1.8.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" ++ ++[[package]] ++name = "half" ++version = "2.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7db2ff139bba50379da6aa0766b52fdcb62cb5b263009b09ed58ba604e14bbd1" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "crunchy", ++] ++ ++[[package]] ++name = "hash32" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606" ++dependencies = [ ++ "byteorder", ++] ++ ++[[package]] ++name = "hashbrown" ++version = "0.12.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" ++dependencies = [ ++ "ahash", ++] ++ ++[[package]] ++name = "hashbrown" ++version = "0.15.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" ++ ++[[package]] ++name = "heapless" ++version = "0.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad" ++dependencies = [ ++ "hash32", ++ "stable_deref_trait", ++] ++ ++[[package]] ++name = "heck" ++version = "0.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" ++ ++[[package]] ++name = "hermit-abi" ++version = "0.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fbd780fe5cc30f81464441920d82ac8740e2e46b29a6fad543ddd075229ce37e" ++ ++[[package]] ++name = "hmac" ++version = "0.12.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" ++dependencies = [ ++ "digest", ++] ++ ++[[package]] ++name = "home" ++version = "0.5.11" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" ++dependencies = [ ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "icu_collections" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" ++dependencies = [ ++ "displaydoc", ++ "yoke", ++ "zerofrom", ++ "zerovec", ++] ++ ++[[package]] ++name = "icu_locid" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" ++dependencies = [ ++ "displaydoc", ++ "litemap", ++ "tinystr", ++ "writeable", ++ "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.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e" ++ ++[[package]] ++name = "icu_normalizer" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" ++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.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516" ++ ++[[package]] ++name = "icu_properties" ++version = "1.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" ++dependencies = [ ++ "displaydoc", ++ "icu_collections", ++ "icu_locid_transform", ++ "icu_properties_data", ++ "icu_provider", ++ "tinystr", ++ "zerovec", ++] ++ ++[[package]] ++name = "icu_properties_data" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569" ++ ++[[package]] ++name = "icu_provider" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" ++dependencies = [ ++ "displaydoc", ++ "icu_locid", ++ "icu_provider_macros", ++ "stable_deref_trait", ++ "tinystr", ++ "writeable", ++ "yoke", ++ "zerofrom", ++ "zerovec", ++] ++ ++[[package]] ++name = "icu_provider_macros" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "idna" ++version = "1.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" ++dependencies = [ ++ "idna_adapter", ++ "smallvec", ++ "utf8_iter", ++] ++ ++[[package]] ++name = "idna_adapter" ++version = "1.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" ++dependencies = [ ++ "icu_normalizer", ++ "icu_properties", ++] ++ ++[[package]] ++name = "indenter" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" ++ ++[[package]] ++name = "indexmap" ++version = "2.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058" ++dependencies = [ ++ "equivalent", ++ "hashbrown 0.15.2", ++] ++ ++[[package]] ++name = "is-terminal" ++version = "0.4.16" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" ++dependencies = [ ++ "hermit-abi", ++ "libc", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "is_ci" ++version = "1.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" ++ ++[[package]] ++name = "itertools" ++version = "0.10.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" ++dependencies = [ ++ "either", ++] ++ ++[[package]] ++name = "itertools" ++version = "0.13.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" ++dependencies = [ ++ "either", ++] ++ ++[[package]] ++name = "itoa" ++version = "1.0.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" ++ ++[[package]] ++name = "js-sys" ++version = "0.3.77" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" ++dependencies = [ ++ "once_cell", ++ "wasm-bindgen", ++] ++ ++[[package]] ++name = "lazy_static" ++version = "1.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" ++ ++[[package]] ++name = "libc" ++version = "0.2.171" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" ++ ++[[package]] ++name = "libloading" ++version = "0.8.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "windows-targets", ++] ++ ++[[package]] ++name = "linux-raw-sys" ++version = "0.9.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413" ++ ++[[package]] ++name = "litemap" ++version = "0.7.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" ++ ++[[package]] ++name = "lock_api" ++version = "0.4.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" ++dependencies = [ ++ "autocfg", ++ "scopeguard", ++] ++ ++[[package]] ++name = "log" ++version = "0.4.27" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" ++ ++[[package]] ++name = "md-5" ++version = "0.10.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "digest", ++] ++ ++[[package]] ++name = "memchr" ++version = "2.7.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" ++ ++[[package]] ++name = "memoffset" ++version = "0.9.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" ++dependencies = [ ++ "autocfg", ++] ++ ++[[package]] ++name = "minimal-lexical" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" ++ ++[[package]] ++name = "miniz_oxide" ++version = "0.8.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5" ++dependencies = [ ++ "adler2", ++] ++ ++[[package]] ++name = "mio" ++version = "1.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" ++dependencies = [ ++ "libc", ++ "wasi 0.11.0+wasi-snapshot-preview1", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "nom" ++version = "7.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" ++dependencies = [ ++ "memchr", ++ "minimal-lexical", ++] ++ ++[[package]] ++name = "ntapi" ++version = "0.4.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4" ++dependencies = [ ++ "winapi", ++] ++ ++[[package]] ++name = "num-traits" ++version = "0.2.19" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" ++dependencies = [ ++ "autocfg", ++] ++ ++[[package]] ++name = "object" ++version = "0.36.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "once_cell" ++version = "1.21.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d75b0bedcc4fe52caa0e03d9f1151a323e4aa5e2d78ba3580400cd3c9e2bc4bc" ++ ++[[package]] ++name = "oorandom" ++version = "11.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" ++ ++[[package]] ++name = "owo-colors" ++version = "4.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1036865bb9422d3300cf723f657c2851d0e9ab12567854b1f4eba3d77decf564" ++dependencies = [ ++ "supports-color 2.1.0", ++ "supports-color 3.0.2", ++] ++ ++[[package]] ++name = "parking_lot" ++version = "0.12.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" ++dependencies = [ ++ "lock_api", ++ "parking_lot_core", ++] ++ ++[[package]] ++name = "parking_lot_core" ++version = "0.9.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "libc", ++ "redox_syscall", ++ "smallvec", ++ "windows-targets", ++] ++ ++[[package]] ++name = "paste" ++version = "0.1.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" ++dependencies = [ ++ "paste-impl", ++ "proc-macro-hack", ++] ++ ++[[package]] ++name = "paste" ++version = "1.0.15" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" ++ ++[[package]] ++name = "paste-impl" ++version = "0.1.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" ++dependencies = [ ++ "proc-macro-hack", ++] ++ ++[[package]] ++name = "pathsearch" ++version = "0.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "da983bc5e582ab17179c190b4b66c7d76c5943a69c6d34df2a2b6bf8a2977b05" ++dependencies = [ ++ "anyhow", ++ "libc", ++] ++ ++[[package]] ++name = "percent-encoding" ++version = "2.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" ++ ++[[package]] ++name = "pest" ++version = "2.8.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" ++dependencies = [ ++ "memchr", ++ "thiserror 2.0.12", ++ "ucd-trie", ++] ++ ++[[package]] ++name = "petgraph" ++version = "0.6.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" ++dependencies = [ ++ "fixedbitset", ++ "indexmap", ++] ++ ++[[package]] ++name = "pgrx" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "227bf7e162ce710994306a97bc56bb3fe305f21120ab6692e2151c48416f5c0d" ++dependencies = [ ++ "atomic-traits", ++ "bitflags", ++ "bitvec", ++ "enum-map", ++ "heapless", ++ "libc", ++ "once_cell", ++ "pgrx-macros", ++ "pgrx-pg-sys", ++ "pgrx-sql-entity-graph", ++ "seahash", ++ "serde", ++ "serde_cbor", ++ "serde_json", ++ "thiserror 1.0.69", ++ "uuid", ++] ++ ++[[package]] ++name = "pgrx-bindgen" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "81cbcd956c2da35baaf0a116e6f6a49a6c2fbc8f6b332f66d6fd060bfd00615f" ++dependencies = [ ++ "bindgen", ++ "cc", ++ "clang-sys", ++ "eyre", ++ "pgrx-pg-config", ++ "proc-macro2", ++ "quote", ++ "shlex", ++ "syn 2.0.100", ++ "walkdir", ++] ++ ++[[package]] ++name = "pgrx-macros" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e2f4291450d65e4deb770ce57ea93e22353d97950566222429cd166ebdf6f938" ++dependencies = [ ++ "pgrx-sql-entity-graph", ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "pgrx-pg-config" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "86a64a4c6e4e43e73cf8d3379d9533df98ded45c920e1ba8131c979633d74132" ++dependencies = [ ++ "cargo_toml", ++ "eyre", ++ "home", ++ "owo-colors", ++ "pathsearch", ++ "serde", ++ "serde_json", ++ "thiserror 1.0.69", ++ "toml", ++ "url", ++] ++ ++[[package]] ++name = "pgrx-pg-sys" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "63a5dc64f2a8226434118aa2c4700450fa42b04f29488ad98268848b21c1a4ec" ++dependencies = [ ++ "cee-scape", ++ "libc", ++ "pgrx-bindgen", ++ "pgrx-macros", ++ "pgrx-sql-entity-graph", ++ "serde", ++ "sptr", ++] ++ ++[[package]] ++name = "pgrx-sql-entity-graph" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d81cc2e851c7e36b2f47c03e22d64d56c1d0e762fbde0039ba2cd490cfef3615" ++dependencies = [ ++ "convert_case", ++ "eyre", ++ "petgraph", ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++ "thiserror 1.0.69", ++ "unescape", ++] ++ ++[[package]] ++name = "pgrx-tests" ++version = "0.12.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0c2dd5d674cb7d92024709543da06d26723a2f7450c02083116b232587160929" ++dependencies = [ ++ "clap-cargo", ++ "eyre", ++ "libc", ++ "owo-colors", ++ "paste 1.0.15", ++ "pgrx", ++ "pgrx-macros", ++ "pgrx-pg-config", ++ "postgres", ++ "proptest", ++ "rand 0.8.5", ++ "regex", ++ "serde", ++ "serde_json", ++ "sysinfo", ++ "thiserror 1.0.69", ++] ++ ++[[package]] ++name = "pgvectorscale_derive" ++version = "0.1.0" ++dependencies = [ ++ "quote", ++ "syn 1.0.109", ++] ++ ++[[package]] ++name = "phf" ++version = "0.11.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" ++dependencies = [ ++ "phf_shared", ++] ++ ++[[package]] ++name = "phf_shared" ++version = "0.11.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" ++dependencies = [ ++ "siphasher", ++] ++ ++[[package]] ++name = "pin-project-lite" ++version = "0.2.16" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" ++ ++[[package]] ++name = "pin-utils" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" ++ ++[[package]] ++name = "plotters" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" ++dependencies = [ ++ "num-traits", ++ "plotters-backend", ++ "plotters-svg", ++ "wasm-bindgen", ++ "web-sys", ++] ++ ++[[package]] ++name = "plotters-backend" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" ++ ++[[package]] ++name = "plotters-svg" ++version = "0.3.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" ++dependencies = [ ++ "plotters-backend", ++] ++ ++[[package]] ++name = "postgres" ++version = "0.19.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "363e6dfbdd780d3aa3597b6eb430db76bb315fa9bad7fae595bb8def808b8470" ++dependencies = [ ++ "bytes", ++ "fallible-iterator", ++ "futures-util", ++ "log", ++ "tokio", ++ "tokio-postgres", ++] ++ ++[[package]] ++name = "postgres-protocol" ++version = "0.6.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" ++dependencies = [ ++ "base64", ++ "byteorder", ++ "bytes", ++ "fallible-iterator", ++ "hmac", ++ "md-5", ++ "memchr", ++ "rand 0.9.0", ++ "sha2", ++ "stringprep", ++] ++ ++[[package]] ++name = "postgres-types" ++version = "0.2.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" ++dependencies = [ ++ "bytes", ++ "fallible-iterator", ++ "postgres-protocol", ++] ++ ++[[package]] ++name = "ppv-lite86" ++version = "0.2.21" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" ++dependencies = [ ++ "zerocopy", ++] ++ ++[[package]] ++name = "proc-macro-hack" ++version = "0.5.20+deprecated" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" ++ ++[[package]] ++name = "proc-macro2" ++version = "1.0.94" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" ++dependencies = [ ++ "unicode-ident", ++] ++ ++[[package]] ++name = "proptest" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50" ++dependencies = [ ++ "bit-set", ++ "bit-vec", ++ "bitflags", ++ "lazy_static", ++ "num-traits", ++ "rand 0.8.5", ++ "rand_chacha 0.3.1", ++ "rand_xorshift", ++ "regex-syntax", ++ "rusty-fork", ++ "tempfile", ++ "unarray", ++] ++ ++[[package]] ++name = "ptr_meta" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" ++dependencies = [ ++ "ptr_meta_derive", ++] ++ ++[[package]] ++name = "ptr_meta_derive" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 1.0.109", ++] ++ ++[[package]] ++name = "quick-error" ++version = "1.2.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" ++ ++[[package]] ++name = "quote" ++version = "1.0.40" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" ++dependencies = [ ++ "proc-macro2", ++] ++ ++[[package]] ++name = "r-efi" ++version = "5.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" ++ ++[[package]] ++name = "radium" ++version = "0.7.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" ++ ++[[package]] ++name = "rand" ++version = "0.8.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" ++dependencies = [ ++ "libc", ++ "rand_chacha 0.3.1", ++ "rand_core 0.6.4", ++] ++ ++[[package]] ++name = "rand" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" ++dependencies = [ ++ "rand_chacha 0.9.0", ++ "rand_core 0.9.3", ++ "zerocopy", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.3.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core 0.6.4", ++] ++ ++[[package]] ++name = "rand_chacha" ++version = "0.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" ++dependencies = [ ++ "ppv-lite86", ++ "rand_core 0.9.3", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.6.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" ++dependencies = [ ++ "getrandom 0.2.15", ++] ++ ++[[package]] ++name = "rand_core" ++version = "0.9.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" ++dependencies = [ ++ "getrandom 0.3.2", ++] ++ ++[[package]] ++name = "rand_xorshift" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" ++dependencies = [ ++ "rand_core 0.6.4", ++] ++ ++[[package]] ++name = "rayon" ++version = "1.10.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" ++dependencies = [ ++ "either", ++ "rayon-core", ++] ++ ++[[package]] ++name = "rayon-core" ++version = "1.12.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" ++dependencies = [ ++ "crossbeam-deque", ++ "crossbeam-utils", ++] ++ ++[[package]] ++name = "redox_syscall" ++version = "0.5.10" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1" ++dependencies = [ ++ "bitflags", ++] ++ ++[[package]] ++name = "regex" ++version = "1.11.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-automata", ++ "regex-syntax", ++] ++ ++[[package]] ++name = "regex-automata" ++version = "0.4.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" ++dependencies = [ ++ "aho-corasick", ++ "memchr", ++ "regex-syntax", ++] ++ ++[[package]] ++name = "regex-syntax" ++version = "0.8.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" ++ ++[[package]] ++name = "rend" ++version = "0.4.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" ++dependencies = [ ++ "bytecheck", ++] ++ ++[[package]] ++name = "rkyv" ++version = "0.7.45" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9008cd6385b9e161d8229e1f6549dd23c3d022f132a2ea37ac3a10ac4935779b" ++dependencies = [ ++ "bitvec", ++ "bytecheck", ++ "bytes", ++ "hashbrown 0.12.3", ++ "ptr_meta", ++ "rend", ++ "rkyv_derive", ++ "seahash", ++ "tinyvec", ++ "uuid", ++] ++ ++[[package]] ++name = "rkyv_derive" ++version = "0.7.45" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "503d1d27590a2b0a3a4ca4c94755aa2875657196ecbf401a42eff41d7de532c0" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 1.0.109", ++] ++ ++[[package]] ++name = "rustc-demangle" ++version = "0.1.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" ++ ++[[package]] ++name = "rustc-hash" ++version = "1.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" ++ ++[[package]] ++name = "rustc_version" ++version = "0.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" ++dependencies = [ ++ "semver 0.11.0", ++] ++ ++[[package]] ++name = "rustix" ++version = "1.0.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96" ++dependencies = [ ++ "bitflags", ++ "errno", ++ "libc", ++ "linux-raw-sys", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "rustversion" ++version = "1.0.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" ++ ++[[package]] ++name = "rusty-fork" ++version = "0.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f" ++dependencies = [ ++ "fnv", ++ "quick-error", ++ "tempfile", ++ "wait-timeout", ++] ++ ++[[package]] ++name = "ryu" ++version = "1.0.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" ++ ++[[package]] ++name = "same-file" ++version = "1.0.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" ++dependencies = [ ++ "winapi-util", ++] ++ ++[[package]] ++name = "scc" ++version = "2.3.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ea091f6cac2595aa38993f04f4ee692ed43757035c36e67c180b6828356385b1" ++dependencies = [ ++ "sdd", ++] ++ ++[[package]] ++name = "scopeguard" ++version = "1.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" ++ ++[[package]] ++name = "sdd" ++version = "3.0.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "584e070911c7017da6cb2eb0788d09f43d789029b5877d3e5ecc8acf86ceee21" ++ ++[[package]] ++name = "seahash" ++version = "4.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" ++ ++[[package]] ++name = "semver" ++version = "0.11.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" ++dependencies = [ ++ "semver-parser", ++] ++ ++[[package]] ++name = "semver" ++version = "1.0.26" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "semver-parser" ++version = "0.10.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9900206b54a3527fdc7b8a938bffd94a568bac4f4aa8113b209df75a09c0dec2" ++dependencies = [ ++ "pest", ++] ++ ++[[package]] ++name = "serde" ++version = "1.0.219" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" ++dependencies = [ ++ "serde_derive", ++] ++ ++[[package]] ++name = "serde_cbor" ++version = "0.11.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" ++dependencies = [ ++ "half 1.8.3", ++ "serde", ++] ++ ++[[package]] ++name = "serde_derive" ++version = "1.0.219" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "serde_json" ++version = "1.0.140" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" ++dependencies = [ ++ "itoa", ++ "memchr", ++ "ryu", ++ "serde", ++] ++ ++[[package]] ++name = "serde_spanned" ++version = "0.6.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "serial_test" ++version = "3.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1b258109f244e1d6891bf1053a55d63a5cd4f8f4c30cf9a1280989f80e7a1fa9" ++dependencies = [ ++ "futures", ++ "log", ++ "once_cell", ++ "parking_lot", ++ "scc", ++ "serial_test_derive", ++] ++ ++[[package]] ++name = "serial_test_derive" ++version = "3.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5d69265a08751de7844521fd15003ae0a888e035773ba05695c5c759a6f89eef" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "sha2" ++version = "0.10.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "cpufeatures", ++ "digest", ++] ++ ++[[package]] ++name = "shlex" ++version = "1.3.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" ++ ++[[package]] ++name = "simdeez" ++version = "1.0.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f6ec898e1be717eee4b54a84ff2fc94ecb5a1b992d4ad148ce30575b45745662" ++dependencies = [ ++ "cfg-if 0.1.10", ++ "paste 0.1.18", ++] ++ ++[[package]] ++name = "simdutf8" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" ++ ++[[package]] ++name = "siphasher" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" ++ ++[[package]] ++name = "slab" ++version = "0.4.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" ++dependencies = [ ++ "autocfg", ++] ++ ++[[package]] ++name = "smallvec" ++version = "1.14.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd" ++ ++[[package]] ++name = "socket2" ++version = "0.5.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" ++dependencies = [ ++ "libc", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "sptr" ++version = "0.3.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" ++ ++[[package]] ++name = "stable_deref_trait" ++version = "1.2.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" ++ ++[[package]] ++name = "stringprep" ++version = "0.1.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" ++dependencies = [ ++ "unicode-bidi", ++ "unicode-normalization", ++ "unicode-properties", ++] ++ ++[[package]] ++name = "subtle" ++version = "2.6.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" ++ ++[[package]] ++name = "supports-color" ++version = "2.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" ++dependencies = [ ++ "is-terminal", ++ "is_ci", ++] ++ ++[[package]] ++name = "supports-color" ++version = "3.0.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" ++dependencies = [ ++ "is_ci", ++] ++ ++[[package]] ++name = "syn" ++version = "1.0.109" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-ident", ++] ++ ++[[package]] ++name = "syn" ++version = "2.0.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "unicode-ident", ++] ++ ++[[package]] ++name = "synstructure" ++version = "0.13.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "sysinfo" ++version = "0.30.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0a5b4ddaee55fb2bea2bf0e5000747e5f5c0de765e5a5ff87f4cd106439f4bb3" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "core-foundation-sys", ++ "libc", ++ "ntapi", ++ "once_cell", ++ "rayon", ++ "windows", ++] ++ ++[[package]] ++name = "tap" ++version = "1.0.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" ++ ++[[package]] ++name = "tempfile" ++version = "3.19.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" ++dependencies = [ ++ "fastrand", ++ "getrandom 0.3.2", ++ "once_cell", ++ "rustix", ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "thiserror" ++version = "1.0.69" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" ++dependencies = [ ++ "thiserror-impl 1.0.69", ++] ++ ++[[package]] ++name = "thiserror" ++version = "2.0.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" ++dependencies = [ ++ "thiserror-impl 2.0.12", ++] ++ ++[[package]] ++name = "thiserror-impl" ++version = "1.0.69" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "thiserror-impl" ++version = "2.0.12" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "tinystr" ++version = "0.7.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" ++dependencies = [ ++ "displaydoc", ++ "zerovec", ++] ++ ++[[package]] ++name = "tinytemplate" ++version = "1.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" ++dependencies = [ ++ "serde", ++ "serde_json", ++] ++ ++[[package]] ++name = "tinyvec" ++version = "1.9.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" ++dependencies = [ ++ "tinyvec_macros", ++] ++ ++[[package]] ++name = "tinyvec_macros" ++version = "0.1.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" ++ ++[[package]] ++name = "tokio" ++version = "1.44.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f382da615b842244d4b8738c82ed1275e6c5dd90c459a30941cd07080b06c91a" ++dependencies = [ ++ "backtrace", ++ "bytes", ++ "libc", ++ "mio", ++ "pin-project-lite", ++ "socket2", ++ "windows-sys 0.52.0", ++] ++ ++[[package]] ++name = "tokio-postgres" ++version = "0.7.13" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0" ++dependencies = [ ++ "async-trait", ++ "byteorder", ++ "bytes", ++ "fallible-iterator", ++ "futures-channel", ++ "futures-util", ++ "log", ++ "parking_lot", ++ "percent-encoding", ++ "phf", ++ "pin-project-lite", ++ "postgres-protocol", ++ "postgres-types", ++ "rand 0.9.0", ++ "socket2", ++ "tokio", ++ "tokio-util", ++ "whoami", ++] ++ ++[[package]] ++name = "tokio-util" ++version = "0.7.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" ++dependencies = [ ++ "bytes", ++ "futures-core", ++ "futures-sink", ++ "pin-project-lite", ++ "tokio", ++] ++ ++[[package]] ++name = "toml" ++version = "0.8.20" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" ++dependencies = [ ++ "serde", ++ "serde_spanned", ++ "toml_datetime", ++ "toml_edit", ++] ++ ++[[package]] ++name = "toml_datetime" ++version = "0.6.8" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" ++dependencies = [ ++ "serde", ++] ++ ++[[package]] ++name = "toml_edit" ++version = "0.22.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" ++dependencies = [ ++ "indexmap", ++ "serde", ++ "serde_spanned", ++ "toml_datetime", ++ "winnow", ++] ++ ++[[package]] ++name = "typenum" ++version = "1.18.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" ++ ++[[package]] ++name = "ucd-trie" ++version = "0.1.7" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" ++ ++[[package]] ++name = "unarray" ++version = "0.1.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" ++ ++[[package]] ++name = "unescape" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ccb97dac3243214f8d8507998906ca3e2e0b900bf9bf4870477f125b82e68f6e" ++ ++[[package]] ++name = "unicode-bidi" ++version = "0.3.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" ++ ++[[package]] ++name = "unicode-ident" ++version = "1.0.18" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" ++ ++[[package]] ++name = "unicode-normalization" ++version = "0.1.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" ++dependencies = [ ++ "tinyvec", ++] ++ ++[[package]] ++name = "unicode-properties" ++version = "0.1.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" ++ ++[[package]] ++name = "unicode-segmentation" ++version = "1.12.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" ++ ++[[package]] ++name = "unicode-width" ++version = "0.1.14" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" ++ ++[[package]] ++name = "url" ++version = "2.5.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" ++dependencies = [ ++ "form_urlencoded", ++ "idna", ++ "percent-encoding", ++] ++ ++[[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" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" ++ ++[[package]] ++name = "uuid" ++version = "1.16.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" ++dependencies = [ ++ "getrandom 0.3.2", ++] ++ ++[[package]] ++name = "vectorscale" ++version = "0.7.0" ++dependencies = [ ++ "criterion", ++ "memoffset", ++ "once_cell", ++ "pgrx", ++ "pgrx-pg-config", ++ "pgrx-tests", ++ "pgvectorscale_derive", ++ "rand 0.8.5", ++ "rkyv", ++ "semver 1.0.26", ++ "serial_test", ++ "simdeez", ++ "tempfile", ++] ++ ++[[package]] ++name = "version_check" ++version = "0.9.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" ++ ++[[package]] ++name = "wait-timeout" ++version = "0.2.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" ++dependencies = [ ++ "libc", ++] ++ ++[[package]] ++name = "walkdir" ++version = "2.5.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" ++dependencies = [ ++ "same-file", ++ "winapi-util", ++] ++ ++[[package]] ++name = "wasi" ++version = "0.11.0+wasi-snapshot-preview1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" ++ ++[[package]] ++name = "wasi" ++version = "0.14.2+wasi-0.2.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" ++dependencies = [ ++ "wit-bindgen-rt", ++] ++ ++[[package]] ++name = "wasite" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" ++ ++[[package]] ++name = "wasm-bindgen" ++version = "0.2.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" ++dependencies = [ ++ "cfg-if 1.0.0", ++ "once_cell", ++ "rustversion", ++ "wasm-bindgen-macro", ++] ++ ++[[package]] ++name = "wasm-bindgen-backend" ++version = "0.2.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" ++dependencies = [ ++ "bumpalo", ++ "log", ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++ "wasm-bindgen-shared", ++] ++ ++[[package]] ++name = "wasm-bindgen-macro" ++version = "0.2.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" ++dependencies = [ ++ "quote", ++ "wasm-bindgen-macro-support", ++] ++ ++[[package]] ++name = "wasm-bindgen-macro-support" ++version = "0.2.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++ "wasm-bindgen-backend", ++ "wasm-bindgen-shared", ++] ++ ++[[package]] ++name = "wasm-bindgen-shared" ++version = "0.2.100" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" ++dependencies = [ ++ "unicode-ident", ++] ++ ++[[package]] ++name = "web-sys" ++version = "0.3.77" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" ++dependencies = [ ++ "js-sys", ++ "wasm-bindgen", ++] ++ ++[[package]] ++name = "whoami" ++version = "1.6.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" ++dependencies = [ ++ "redox_syscall", ++ "wasite", ++ "web-sys", ++] ++ ++[[package]] ++name = "winapi" ++version = "0.3.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" ++dependencies = [ ++ "winapi-i686-pc-windows-gnu", ++ "winapi-x86_64-pc-windows-gnu", ++] ++ ++[[package]] ++name = "winapi-i686-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" ++ ++[[package]] ++name = "winapi-util" ++version = "0.1.9" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" ++dependencies = [ ++ "windows-sys 0.59.0", ++] ++ ++[[package]] ++name = "winapi-x86_64-pc-windows-gnu" ++version = "0.4.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" ++ ++[[package]] ++name = "windows" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" ++dependencies = [ ++ "windows-core", ++ "windows-targets", ++] ++ ++[[package]] ++name = "windows-core" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" ++dependencies = [ ++ "windows-targets", ++] ++ ++[[package]] ++name = "windows-sys" ++version = "0.52.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" ++dependencies = [ ++ "windows-targets", ++] ++ ++[[package]] ++name = "windows-sys" ++version = "0.59.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" ++dependencies = [ ++ "windows-targets", ++] ++ ++[[package]] ++name = "windows-targets" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" ++dependencies = [ ++ "windows_aarch64_gnullvm", ++ "windows_aarch64_msvc", ++ "windows_i686_gnu", ++ "windows_i686_gnullvm", ++ "windows_i686_msvc", ++ "windows_x86_64_gnu", ++ "windows_x86_64_gnullvm", ++ "windows_x86_64_msvc", ++] ++ ++[[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_msvc" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" ++ ++[[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_gnullvm" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" ++ ++[[package]] ++name = "windows_i686_msvc" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" ++ ++[[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_gnullvm" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" ++ ++[[package]] ++name = "windows_x86_64_msvc" ++version = "0.52.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" ++ ++[[package]] ++name = "winnow" ++version = "0.7.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "0e97b544156e9bebe1a0ffbc03484fc1ffe3100cbce3ffb17eac35f7cdd7ab36" ++dependencies = [ ++ "memchr", ++] ++ ++[[package]] ++name = "wit-bindgen-rt" ++version = "0.39.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" ++dependencies = [ ++ "bitflags", ++] ++ ++[[package]] ++name = "write16" ++version = "1.0.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" ++ ++[[package]] ++name = "writeable" ++version = "0.5.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" ++ ++[[package]] ++name = "wyz" ++version = "0.5.1" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" ++dependencies = [ ++ "tap", ++] ++ ++[[package]] ++name = "yansi-term" ++version = "0.1.2" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1" ++dependencies = [ ++ "winapi", ++] ++ ++[[package]] ++name = "yoke" ++version = "0.7.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" ++dependencies = [ ++ "serde", ++ "stable_deref_trait", ++ "yoke-derive", ++ "zerofrom", ++] ++ ++[[package]] ++name = "yoke-derive" ++version = "0.7.5" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++ "synstructure", ++] ++ ++[[package]] ++name = "zerocopy" ++version = "0.8.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" ++dependencies = [ ++ "zerocopy-derive", ++] ++ ++[[package]] ++name = "zerocopy-derive" ++version = "0.8.24" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] ++ ++[[package]] ++name = "zerofrom" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" ++dependencies = [ ++ "zerofrom-derive", ++] ++ ++[[package]] ++name = "zerofrom-derive" ++version = "0.1.6" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++ "synstructure", ++] ++ ++[[package]] ++name = "zerovec" ++version = "0.10.4" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" ++dependencies = [ ++ "yoke", ++ "zerofrom", ++ "zerovec-derive", ++] ++ ++[[package]] ++name = "zerovec-derive" ++version = "0.10.3" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" ++dependencies = [ ++ "proc-macro2", ++ "quote", ++ "syn 2.0.100", ++] diff --git a/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix new file mode 100644 index 000000000000..17b0692f9c4b --- /dev/null +++ b/pkgs/servers/sql/postgresql/ext/pgvectorscale/package.nix @@ -0,0 +1,89 @@ +{ + buildPgrxExtension, + postgresql, + fetchFromGitHub, + lib, + postgresqlTestExtension, +}: + +let + finalPackage = buildPgrxExtension rec { + pname = "pgvectorscale"; + version = "0.7.0"; + + src = fetchFromGitHub { + owner = "timescale"; + repo = "pgvectorscale"; + tag = version; + hash = "sha256-dy481k2SvyYXwwcsyLZSl3XlhSk9C5+4LfEfciB1DK4="; + }; + + doCheck = false; + + useFetchCargoVendor = true; + cargoHash = "sha256-CeRyDn9VhxfjWFJ1/Z/XvOUQOSnDoHHZAqgfYTeKU0o="; + cargoPatches = [ + ./add-Cargo.lock.patch + ]; + + cargoPgrxFlags = [ + "-p" + "vectorscale" + ]; + + inherit postgresql; + + passthru.tests.extension = postgresqlTestExtension { + inherit finalPackage; + withPackages = [ "pgvector" ]; + sql = + let + genCheck = + id: compare: expected: + let + vecStr = "[${lib.concatMapStringsSep "," toString compare}]"; + in + '' + ASSERT ( + SELECT id + FROM document_embedding + WHERE ${toString expected} = (embedding <-> '${vecStr}') + ) = ${toString id}, + 'Expected vector of row with ID=${toString id} to have a euclidean distance from ${vecStr} of ${toString expected}'; + ''; + in + '' + CREATE EXTENSION vectorscale CASCADE; + CREATE TABLE IF NOT EXISTS document_embedding ( + id BIGINT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, + embedding VECTOR(3) + ); + + INSERT INTO document_embedding (id, embedding) VALUES + (1, '[1,2,4]'), + (2, '[1,2,5]'); + + CREATE INDEX document_embedding_idx ON document_embedding + USING diskann (embedding vector_cosine_ops); + + DO $$ + BEGIN + ${genCheck 1 [ 1 2 3 ] 1} + ${genCheck 2 [ 1 2 3 ] 2} + END; + $$ + LANGUAGE PLPGSQL; + ''; + }; + + meta = { + homepage = "https://github.com/timescale/pgvectorscale"; + maintainers = lib.teams.flyingcircus.members; + description = "Complement to pgvector for high performance, cost efficient vector search on large workloads"; + license = lib.licenses.postgresql; + platforms = postgresql.meta.platforms; + changelog = "https://github.com/timescale/pgvectorscale/releases/tag/${version}"; + }; + }; +in +finalPackage