This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch add-pg-support
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git


The following commit(s) were added to refs/heads/add-pg-support by this push:
     new 27836d55b FIx build
27836d55b is described below

commit 27836d55b0e177b4b485dad6c31fe8afc37baaf3
Author: Xuanwo <[email protected]>
AuthorDate: Wed Aug 9 16:27:09 2023 +0800

    FIx build
    
    Signed-off-by: Xuanwo <[email protected]>
---
 core/Cargo.toml                         |  3 +--
 core/src/services/postgresql/backend.rs | 18 +++++++++++++-----
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/core/Cargo.toml b/core/Cargo.toml
index 15cdbd588..f177bbbc5 100644
--- a/core/Cargo.toml
+++ b/core/Cargo.toml
@@ -98,7 +98,7 @@ services-mini-moka = ["dep:mini-moka"]
 services-moka = ["dep:moka"]
 services-obs = ["dep:reqsign", "reqsign?/services-huaweicloud", 
"reqsign?/reqwest_request"]
 services-onedrive = []
-services-postgresql = ["dep:tokio-postgres", "dep:hex"]
+services-postgresql = ["dep:tokio-postgres"]
 services-oss = ["dep:reqsign", "reqsign?/services-aliyun", 
"reqsign?/reqwest_request"]
 services-persy = ["dep:persy"]
 services-redb = ["dep:redb"]
@@ -154,7 +154,6 @@ foundationdb = { version = "0.8.0", features = [
 futures = { version = "0.3", default-features = false, features = ["std"] }
 governor = { version = "0.5", optional = true, features = ["std"] }
 hdrs = { version = "0.3.0", optional = true, features = ["async_file"] }
-hex = { version = "0.4.3", optional = true }
 http = "0.2.9"
 hyper = "0.14"
 lazy-regex = { version = "2.5.0", optional = true }
diff --git a/core/src/services/postgresql/backend.rs 
b/core/src/services/postgresql/backend.rs
index 7609532ac..266623a93 100644
--- a/core/src/services/postgresql/backend.rs
+++ b/core/src/services/postgresql/backend.rs
@@ -271,7 +271,11 @@ impl kv::Adapter for Adapter {
             })
             .await?;
 
-        let rows = self.get_client().await?.query(statement, &[&path]).await?;
+        let rows = self
+            .get_client()
+            .await?
+            .query(statement, &[&path.as_bytes()])
+            .await?;
         if rows.is_empty() {
             return Ok(None);
         }
@@ -281,8 +285,8 @@ impl kv::Adapter for Adapter {
 
     async fn set(&self, path: &str, value: &[u8]) -> Result<()> {
         let query = format!(
-            "INSERT INTO {} ({}, {}) VALUES ('{}', '\\x$1')",
-            self.table, self.key_field, self.value_field, path,
+            "INSERT INTO {} ({}, {}) VALUES ($1, $2)",
+            self.table, self.key_field, self.value_field,
         );
         let statement = self
             .statement_set
@@ -298,7 +302,7 @@ impl kv::Adapter for Adapter {
         let _ = self
             .get_client()
             .await?
-            .query(statement, &[&hex::encode(value)])
+            .query(statement, &[&path.as_bytes(), &value])
             .await?;
         Ok(())
     }
@@ -316,7 +320,11 @@ impl kv::Adapter for Adapter {
             })
             .await?;
 
-        let _ = self.get_client().await?.query(statement, &[&path]).await?;
+        let _ = self
+            .get_client()
+            .await?
+            .query(statement, &[&path.as_bytes()])
+            .await?;
         Ok(())
     }
 }

Reply via email to