Skip to content

Commit 49f8071

Browse files
committed
Be consistent in names for importing bloom filter modules
We were using a mix of import qualified as BF, and import as Bloom.
1 parent b02fb97 commit 49f8071

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

src/Database/LSMTree/Internal/BloomFilter.hs

+14-15
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55

66
module Database.LSMTree.Internal.BloomFilter (
77
-- * Types
8-
BF.Bloom,
9-
BF.MBloom,
8+
Bloom.Bloom,
9+
Bloom.MBloom,
1010

1111
-- * Bulk query
1212
bloomQueries,
@@ -36,7 +36,6 @@ import Control.Monad.ST (ST, runST)
3636
import System.FS.API
3737

3838
import Data.BloomFilter.Blocked (Bloom)
39-
import qualified Data.BloomFilter.Blocked as BF
4039
import qualified Data.BloomFilter.Blocked as Bloom
4140
import Database.LSMTree.Internal.ByteString (byteArrayToByteString)
4241
import Database.LSMTree.Internal.CRC32C (FileCorruptedError (..),
@@ -167,19 +166,19 @@ bloomQueries !filters !keys =
167166
-- | By writing out the version in host endianness, we also indicate endianness.
168167
-- During deserialisation, we would discover an endianness mismatch.
169168
--
170-
-- We base our version number on the 'BF.formatVersion' from the @bloomfilter@
169+
-- We base our version number on the 'Bloom.formatVersion' from the @bloomfilter@
171170
-- library, plus our own version here. This accounts both for changes in the
172171
-- format code here, and changes in the library.
173172
--
174173
bloomFilterVersion :: Word32
175-
bloomFilterVersion = 1 + fromIntegral BF.formatVersion
174+
bloomFilterVersion = 1 + fromIntegral Bloom.formatVersion
176175

177-
bloomFilterToLBS :: BF.Bloom a -> LBS.ByteString
176+
bloomFilterToLBS :: Bloom a -> LBS.ByteString
178177
bloomFilterToLBS bf =
179-
let (size, ba, off, len) = BF.serialise bf
178+
let (size, ba, off, len) = Bloom.serialise bf
180179
in header size <> byteArrayToLBS ba off len
181180
where
182-
header BF.BloomSize { sizeBits, sizeHashes } =
181+
header Bloom.BloomSize { sizeBits, sizeHashes } =
183182
-- creates a single 16 byte chunk
184183
B.toLazyByteStringWith (B.safeStrategy 16 B.smallChunkSize) mempty $
185184
B.word32Host bloomFilterVersion
@@ -196,14 +195,14 @@ bloomFilterToLBS bf =
196195
{-# SPECIALISE bloomFilterFromFile ::
197196
HasFS IO h
198197
-> Handle h
199-
-> IO (BF.Bloom a) #-}
200-
-- | Read a 'BF.Bloom' from a file.
198+
-> IO (Bloom a) #-}
199+
-- | Read a 'Bloom' from a file.
201200
--
202201
bloomFilterFromFile ::
203202
(PrimMonad m, MonadCatch m)
204203
=> HasFS m h
205204
-> Handle h -- ^ The open file, in read mode
206-
-> m (BF.Bloom a)
205+
-> m (Bloom a)
207206
bloomFilterFromFile hfs h = do
208207
header <- rethrowEOFError "Doesn't contain a header" $
209208
hGetByteArrayExactly hfs h 16
@@ -225,10 +224,10 @@ bloomFilterFromFile hfs h = do
225224

226225
-- read the filter data from the file directly into the bloom filter
227226
bloom <-
228-
BF.deserialise
229-
BF.BloomSize {
230-
BF.sizeBits = fromIntegral nbits,
231-
BF.sizeHashes = fromIntegral nhashes
227+
Bloom.deserialise
228+
Bloom.BloomSize {
229+
Bloom.sizeBits = fromIntegral nbits,
230+
Bloom.sizeHashes = fromIntegral nhashes
232231
}
233232
(\buf off len ->
234233
rethrowEOFError "bloom filter file too short" $

test/Test/Database/LSMTree/Internal/BloomFilter.hs

+9-8
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import Test.QuickCheck.Instances ()
2323
import Test.Tasty (TestTree, testGroup)
2424
import Test.Tasty.QuickCheck hiding ((.&.))
2525

26-
import qualified Data.BloomFilter.Blocked as BF
26+
import qualified Data.BloomFilter.Blocked as Bloom
2727
import Database.LSMTree.Internal.BloomFilter
2828
import Database.LSMTree.Internal.Serialise (SerialisedKey,
2929
serialiseKey)
@@ -50,9 +50,9 @@ roundtrip_prop (Positive (Small hfN)) (Positive bits) ws =
5050
Left err -> counterexample (displayException err) $ property False
5151
Right rhs -> lhs === rhs
5252
where
53-
sz = BF.BloomSize { sizeBits = limitBits bits,
53+
sz = Bloom.BloomSize { sizeBits = limitBits bits,
5454
sizeHashes = hfN }
55-
lhs = BF.create sz (\b -> mapM_ (BF.insert b) ws)
55+
lhs = Bloom.create sz (\b -> mapM_ (Bloom.insert b) ws)
5656
bs = LBS.toStrict (bloomFilterToLBS lhs)
5757

5858
limitBits :: Int -> Int
@@ -67,7 +67,7 @@ prop_total_deserialisation bs =
6767

6868
-- | Write the bytestring to a file in the mock file system and then use
6969
-- 'bloomFilterFromFile'.
70-
bloomFilterFromBS :: BS.ByteString -> Either IOSim.Failure (BF.Bloom a)
70+
bloomFilterFromBS :: BS.ByteString -> Either IOSim.Failure (Bloom a)
7171
bloomFilterFromBS bs =
7272
IOSim.runSim $ do
7373
hfs <- FSSim.simHasFS' MockFS.empty
@@ -115,8 +115,9 @@ prop_bloomQueries1 :: FPR
115115
-> [Small Word64]
116116
-> Property
117117
prop_bloomQueries1 (FPR fpr) filters keys =
118-
let filters' :: [BF.Bloom SerialisedKey]
119-
filters' = map (BF.fromList (BF.policyForFPR fpr) . map (\(Small k) -> serialiseKey k))
118+
let filters' :: [Bloom SerialisedKey]
119+
filters' = map (Bloom.fromList (Bloom.policyForFPR fpr)
120+
. map (\(Small k) -> serialiseKey k))
120121
filters
121122

122123
keys' :: [SerialisedKey]
@@ -127,12 +128,12 @@ prop_bloomQueries1 (FPR fpr) filters keys =
127128
[ (f_i, k_i)
128129
| (f, f_i) <- zip filters' [0..]
129130
, (k, k_i) <- zip keys' [0..]
130-
, BF.elem k f
131+
, Bloom.elem k f
131132
]
132133

133134
filterSets = map (Set.fromList . map (\(Small k) -> serialiseKey k)) filters
134135
referenceCmp =
135-
[ (BF.elem k f, k `Set.member` f')
136+
[ (Bloom.elem k f, k `Set.member` f')
136137
| (f, f') <- zip filters' filterSets
137138
, k <- keys'
138139
]

0 commit comments

Comments
 (0)