diff --git a/Cargo.lock b/Cargo.lock index 290d715f2c..beb94384d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,6 +61,18 @@ dependencies = [ "backtrace", ] +[[package]] +name = "as-slice" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45403b49e3954a4b8428a0ac21a4b7afadccf92bfd96273f1a58cd4812496ae0" +dependencies = [ + "generic-array 0.12.4", + "generic-array 0.13.3", + "generic-array 0.14.5", + "stable_deref_trait", +] + [[package]] name = "async-compression" version = "0.3.12" @@ -240,7 +252,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array", + "generic-array 0.14.5", ] [[package]] @@ -555,7 +567,7 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" dependencies = [ - "generic-array", + "generic-array 0.14.5", "subtle", ] @@ -565,7 +577,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array", + "generic-array 0.14.5", "subtle", ] @@ -642,7 +654,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array", + "generic-array 0.14.5", ] [[package]] @@ -855,6 +867,24 @@ dependencies = [ "slab", ] +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + +[[package]] +name = "generic-array" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f797e67af32588215eaaab8327027ee8e71b9dd0b2b26996aedf20c030fce309" +dependencies = [ + "typenum", +] + [[package]] name = "generic-array" version = "0.14.5" @@ -935,6 +965,15 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +[[package]] +name = "hash32" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4041af86e63ac4298ce40e5cca669066e75b6f1aa3390fe2561ffa5e1d9f4cc" +dependencies = [ + "byteorder", +] + [[package]] name = "hashbrown" version = "0.9.1" @@ -953,6 +992,18 @@ dependencies = [ "ahash 0.7.6", ] +[[package]] +name = "heapless" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634bd4d29cbf24424d0a4bfcbf80c6960129dc24424752a7d1d1390607023422" +dependencies = [ + "as-slice", + "generic-array 0.14.5", + "hash32", + "stable_deref_trait", +] + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1478,6 +1529,7 @@ dependencies = [ "postgres_ffi", "rand", "regex", + "rstar", "rust-s3", "scopeguard", "serde", @@ -1524,6 +1576,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "pdqselect" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ec91767ecc0a0bbe558ce8c9da33c068066c57ecc8bb8477ef8c1ad3ef77c27" + [[package]] name = "peeking_take_while" version = "0.1.2" @@ -2014,6 +2072,18 @@ dependencies = [ "regex", ] +[[package]] +name = "rstar" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc6fc513b8c3853e43a0c3f909ded14ffa82e5170c9c5f6fb175f9c85c8a433" +dependencies = [ + "heapless", + "num-traits", + "pdqselect", + "smallvec", +] + [[package]] name = "rust-ini" version = "0.17.0" @@ -2351,6 +2421,12 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[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.2" diff --git a/pageserver/src/layered_repository.rs b/pageserver/src/layered_repository.rs index 0be556ec28..4723a4f649 100644 --- a/pageserver/src/layered_repository.rs +++ b/pageserver/src/layered_repository.rs @@ -2140,7 +2140,7 @@ pub mod tests { let tline = repo.create_empty_timeline(TIMELINE_ID, Lsn(0))?; #[allow(non_snake_case)] - let TEST_KEY: Key = Key::from_hex("112222222233333333444444445500000001").unwrap(); + let TEST_KEY: Key = Key::from_hex("110000222233333333444444445500000001").unwrap(); let writer = tline.writer(); writer.put(TEST_KEY, Lsn(0x10), Value::Image(TEST_IMG("foo at 0x10")))?; @@ -2196,7 +2196,7 @@ pub mod tests { let mut keyspace = KeySpaceAccum::new(); - let mut test_key = Key::from_hex("012222222233333333444444445500000000").unwrap(); + let mut test_key = Key::from_hex("010000222233333333444444445500000000").unwrap(); let mut blknum = 0; for _ in 0..50 { for _ in 0..1000 { @@ -2239,7 +2239,7 @@ pub mod tests { const NUM_KEYS: usize = 1000; - let mut test_key = Key::from_hex("012222222233333333444444445500000000").unwrap(); + let mut test_key = Key::from_hex("010000222233333333444444445500000000").unwrap(); let mut keyspace = KeySpaceAccum::new(); @@ -2313,7 +2313,7 @@ pub mod tests { const NUM_KEYS: usize = 1000; - let mut test_key = Key::from_hex("012222222233333333444444445500000000").unwrap(); + let mut test_key = Key::from_hex("010000222233333333444444445500000000").unwrap(); let mut keyspace = KeySpaceAccum::new(); diff --git a/pageserver/src/repository.rs b/pageserver/src/repository.rs index e2808e23bd..c21751a39b 100644 --- a/pageserver/src/repository.rs +++ b/pageserver/src/repository.rs @@ -596,7 +596,7 @@ mod tests { use lazy_static::lazy_static; lazy_static! { - static ref TEST_KEY: Key = Key::from_array(hex!("112222222233333333444444445500000001")); + static ref TEST_KEY: Key = Key::from_array(hex!("110000222233333333444444445500000001")); } #[test] @@ -639,9 +639,9 @@ mod tests { use std::str::from_utf8; #[allow(non_snake_case)] - let TEST_KEY_A: Key = Key::from_hex("112222222233333333444444445500000001").unwrap(); + let TEST_KEY_A: Key = Key::from_hex("110000222233333333444444445500000001").unwrap(); #[allow(non_snake_case)] - let TEST_KEY_B: Key = Key::from_hex("112222222233333333444444445500000002").unwrap(); + let TEST_KEY_B: Key = Key::from_hex("110000222233333333444444445500000002").unwrap(); // Insert a value on the timeline writer.put(TEST_KEY_A, Lsn(0x20), test_value("foo at 0x20"))?;