From 606e9bb0d6e2d8ccb4df6272e9decec162057cb6 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Wed, 12 Oct 2022 11:52:55 -0400 Subject: [PATCH] support multiple column families in one raw multi_get call --- hub/db/interface.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hub/db/interface.py b/hub/db/interface.py index 8aa576e..de5bab3 100644 --- a/hub/db/interface.py +++ b/hub/db/interface.py @@ -283,10 +283,8 @@ class BasePrefixDB: if len(keys) == 0: return [] first_key = keys[0] - if not all(first_key[0] == key[0] for key in keys): - raise ValueError('cannot multi-delete across column families') - cf = self.column_families[first_key[:1]] - db_result = self._db.multi_get([(cf, k) for k in keys], fill_cache=fill_cache) + get_cf = self.column_families.__getitem__ + db_result = self._db.multi_get([(get_cf(k[:1]), k) for k in keys], fill_cache=fill_cache) return list(db_result.values()) def multi_delete(self, items: typing.List[typing.Tuple[bytes, bytes]]):