diff options
author | Florian Klink <flokli@flokli.de> | 2024-07-27T10·04+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-07-27T10·53+0000 |
commit | c8f92c6e9fea7c15b4fc0bce6f087d34b45d4710 (patch) | |
tree | 02222df3f0893dc64e8a97c4918cca25a5a2320b /tvix/tools/narinfo2parquet/src/main.rs | |
parent | 5114504b675cf334dd8476a4a64eb77c5d405896 (diff) |
refactor(tvix/nix-compat): introduce CaHash::algo_str r/8414
This is the `{fixed,fixed:r,text}:{sha*,md5}` prefix used in various string representations. Factor that code out, and use it in the two places it can be used in. Change-Id: Ic9555fa9e1884198d435e55c7f630b8d3ba2a032 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12041 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Brian Olsen <me@griff.name>
Diffstat (limited to 'tvix/tools/narinfo2parquet/src/main.rs')
-rw-r--r-- | tvix/tools/narinfo2parquet/src/main.rs | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/tvix/tools/narinfo2parquet/src/main.rs b/tvix/tools/narinfo2parquet/src/main.rs index 3b793e02b133..bbfa5c8c31e0 100644 --- a/tvix/tools/narinfo2parquet/src/main.rs +++ b/tvix/tools/narinfo2parquet/src/main.rs @@ -12,7 +12,6 @@ use jemallocator::Jemalloc; use nix_compat::{ narinfo::{self, NarInfo}, nixbase32, - nixhash::{CAHash, NixHash}, }; use polars::{io::parquet::ParquetWriter, prelude::*}; use std::{ @@ -177,26 +176,8 @@ impl FrameBuilder { })); if let Some(ca) = &entry.ca { - // decompose the CAHash into algo and hash parts - // TODO(edef): move this into CAHash - let (algo, hash) = match ca { - CAHash::Flat(h) => match h { - NixHash::Md5(h) => ("fixed:md5", &h[..]), - NixHash::Sha1(h) => ("fixed:sha1", &h[..]), - NixHash::Sha256(h) => ("fixed:sha256", &h[..]), - NixHash::Sha512(h) => ("fixed:sha512", &h[..]), - }, - CAHash::Nar(h) => match h { - NixHash::Md5(h) => ("fixed:r:md5", &h[..]), - NixHash::Sha1(h) => ("fixed:r:sha1", &h[..]), - NixHash::Sha256(h) => ("fixed:r:sha256", &h[..]), - NixHash::Sha512(h) => ("fixed:r:sha512", &h[..]), - }, - CAHash::Text(h) => ("text:sha256", &h[..]), - }; - - self.ca_algo.append_value(algo); - self.ca_hash.append_value(hash); + self.ca_algo.append_value(ca.algo_str()); + self.ca_hash.append_value(ca.hash().digest_as_bytes()); } else { self.ca_algo.append_null(); self.ca_hash.append_null(); |