From 49daa14fefd7590c6f718d06fb1914c39fcfb02c Mon Sep 17 00:00:00 2001 From: mdecimus Date: Sun, 3 Mar 2024 11:46:24 +0100 Subject: [PATCH] Fixed PSQL dependency --- crates/store/src/backend/postgres/mod.rs | 7 +++++++ crates/store/src/backend/postgres/read.rs | 3 +-- crates/store/src/backend/postgres/write.rs | 3 +-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/crates/store/src/backend/postgres/mod.rs b/crates/store/src/backend/postgres/mod.rs index eec30df9..42d85c57 100644 --- a/crates/store/src/backend/postgres/mod.rs +++ b/crates/store/src/backend/postgres/mod.rs @@ -45,3 +45,10 @@ impl From for crate::Error { Self::InternalError(format!("PostgreSQL error: {}", err)) } } + +#[inline(always)] +pub fn deserialize_bitmap(bytes: &[u8]) -> crate::Result { + roaring::RoaringBitmap::deserialize_unchecked_from(bytes).map_err(|err| { + crate::Error::InternalError(format!("Failed to deserialize bitmap: {}", err)) + }) +} diff --git a/crates/store/src/backend/postgres/read.rs b/crates/store/src/backend/postgres/read.rs index 8829d560..c7b946c3 100644 --- a/crates/store/src/backend/postgres/read.rs +++ b/crates/store/src/backend/postgres/read.rs @@ -25,12 +25,11 @@ use futures::{pin_mut, TryStreamExt}; use roaring::RoaringBitmap; use crate::{ - backend::rocksdb::bitmap::deserialize_bitmap, write::{BitmapClass, ValueClass}, BitmapKey, Deserialize, IterateParams, Key, ValueKey, WITHOUT_BLOCK_NUM, }; -use super::PostgresStore; +use super::{deserialize_bitmap, PostgresStore}; impl PostgresStore { pub(crate) async fn get_value(&self, key: impl Key) -> crate::Result> diff --git a/crates/store/src/backend/postgres/write.rs b/crates/store/src/backend/postgres/write.rs index ff1871cf..9702d58f 100644 --- a/crates/store/src/backend/postgres/write.rs +++ b/crates/store/src/backend/postgres/write.rs @@ -33,12 +33,11 @@ use roaring::RoaringBitmap; use tokio_postgres::{error::SqlState, IsolationLevel}; use crate::{ - backend::rocksdb::bitmap::deserialize_bitmap, write::{Batch, Operation, ValueOp, MAX_COMMIT_ATTEMPTS, MAX_COMMIT_TIME}, BitmapKey, IndexKey, Key, LogKey, ValueKey, SUBSPACE_COUNTERS, WITHOUT_BLOCK_NUM, }; -use super::PostgresStore; +use super::{deserialize_bitmap, PostgresStore}; impl PostgresStore { pub(crate) async fn write(&self, batch: Batch) -> crate::Result<()> {