From 813aea42a3f8d1075d6eb8d6d30c9900a7aa5198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E6=AC=A7?= Date: Wed, 10 Jul 2024 11:26:26 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20the=20transfer=20logic=20f?= =?UTF-8?q?or=20`db=5Fname`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/database/src/providers/cloudflare.rs | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/database/src/providers/cloudflare.rs b/packages/database/src/providers/cloudflare.rs index f1df203..e7c6cb2 100644 --- a/packages/database/src/providers/cloudflare.rs +++ b/packages/database/src/providers/cloudflare.rs @@ -21,7 +21,11 @@ impl std::fmt::Debug for ProxyDb { } impl ProxyDb { - async fn do_query(env: Arc, statement: Statement) -> Result> { + async fn do_query( + env: Arc, + db_name: String, + statement: Statement, + ) -> Result> { let sql = statement.sql.clone(); let values = match statement.values { Some(Values(values)) => values @@ -62,12 +66,7 @@ impl ProxyDb { None => Vec::new(), }; - let ret = env - .d1(self.db_name.clone())? - .prepare(sql) - .bind(&values)? - .all() - .await?; + let ret = env.d1(db_name)?.prepare(sql).bind(&values)?.all().await?; if let Some(message) = ret.error() { return Err(anyhow!(message.to_string())); } @@ -105,7 +104,11 @@ impl ProxyDb { Ok(ret) } - async fn do_execute(env: Arc, statement: Statement) -> Result { + async fn do_execute( + env: Arc, + db_name: String, + statement: Statement, + ) -> Result { let sql = statement.sql.clone(); let values = match statement.values { Some(Values(values)) => values @@ -147,7 +150,7 @@ impl ProxyDb { }; let ret = env - .d1(self.db_name.clone())? + .d1(db_name)? .prepare(sql) .bind(&values)? .run() @@ -174,9 +177,10 @@ impl ProxyDb { impl ProxyDatabaseTrait for ProxyDb { async fn query(&self, statement: Statement) -> Result, DbErr> { let env = self.env.clone(); + let db_name = self.db_name.clone(); let (tx, rx) = oneshot::channel(); wasm_bindgen_futures::spawn_local(async move { - let ret = Self::do_query(env, statement).await; + let ret = Self::do_query(env, db_name, statement).await; tx.send(ret).unwrap(); }); @@ -186,9 +190,10 @@ impl ProxyDatabaseTrait for ProxyDb { async fn execute(&self, statement: Statement) -> Result { let env = self.env.clone(); + let db_name = self.db_name.clone(); let (tx, rx) = oneshot::channel(); wasm_bindgen_futures::spawn_local(async move { - let ret = Self::do_execute(env, statement).await; + let ret = Self::do_execute(env, db_name, statement).await; tx.send(ret).unwrap(); });