From aefcf4281c6c33532d73c0578d3fba1c8f9a5d11 Mon Sep 17 00:00:00 2001 From: Lev Kokotov Date: Tue, 1 Aug 2023 17:46:34 -0700 Subject: [PATCH] Fix for #534 and #535 --- Cargo.lock | 2 +- pgcat.toml | 2 +- src/server.rs | 10 +++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d358f0e..ec84932 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -990,7 +990,7 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pgcat" -version = "1.1.0" +version = "1.1.1" dependencies = [ "arc-swap", "async-trait", diff --git a/pgcat.toml b/pgcat.toml index 3e8801b..d8ed108 100644 --- a/pgcat.toml +++ b/pgcat.toml @@ -270,7 +270,7 @@ username = "sharding_user" # if `server_password` is not set. password = "sharding_user" -pool_mode = "session" +pool_mode = "transaction" # PostgreSQL username used to connect to the server. # server_username = "another_user" diff --git a/src/server.rs b/src/server.rs index 62cbb3a..bb453aa 100644 --- a/src/server.rs +++ b/src/server.rs @@ -997,7 +997,9 @@ impl Server { } } - self.deallocate(names).await?; + if !names.is_empty() { + self.deallocate(names).await?; + } Ok(()) } @@ -1013,7 +1015,7 @@ impl Server { /// Close a prepared statement on the server. pub async fn deallocate(&mut self, names: Vec) -> Result<(), Error> { for name in &names { - debug!("Deallocating prepared statement `{}`", name); + info!("Deallocating prepared statement `{}`", name); let close = Close::new(name); let bytes: BytesMut = close.try_into()?; @@ -1021,7 +1023,9 @@ impl Server { self.send(&bytes).await?; } - self.send(&flush()).await?; + if !names.is_empty() { + self.send(&flush()).await?; + } // Read and discard CloseComplete (3) for name in &names {