mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-26 18:36:28 +00:00
Only set application_name if it's different (#74)
* Only set application_name if it's different * keep server named pgcat until something else changes
This commit is contained in:
@@ -369,6 +369,7 @@ impl Client {
|
|||||||
if server.in_transaction() {
|
if server.in_transaction() {
|
||||||
server.query("ROLLBACK").await?;
|
server.query("ROLLBACK").await?;
|
||||||
server.query("DISCARD ALL").await?;
|
server.query("DISCARD ALL").await?;
|
||||||
|
server.set_name("pgcat").await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Err(err);
|
return Err(err);
|
||||||
@@ -440,6 +441,7 @@ impl Client {
|
|||||||
if server.in_transaction() {
|
if server.in_transaction() {
|
||||||
server.query("ROLLBACK").await?;
|
server.query("ROLLBACK").await?;
|
||||||
server.query("DISCARD ALL").await?;
|
server.query("DISCARD ALL").await?;
|
||||||
|
server.set_name("pgcat").await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.release();
|
self.release();
|
||||||
|
|||||||
@@ -54,6 +54,9 @@ pub struct Server {
|
|||||||
|
|
||||||
/// Reports various metrics, e.g. data sent & received.
|
/// Reports various metrics, e.g. data sent & received.
|
||||||
stats: Reporter,
|
stats: Reporter,
|
||||||
|
|
||||||
|
/// Application name using the server at the moment.
|
||||||
|
application_name: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Server {
|
impl Server {
|
||||||
@@ -210,7 +213,7 @@ impl Server {
|
|||||||
|
|
||||||
let (read, write) = stream.into_split();
|
let (read, write) = stream.into_split();
|
||||||
|
|
||||||
return Ok(Server {
|
let mut server = Server {
|
||||||
address: address.clone(),
|
address: address.clone(),
|
||||||
read: BufReader::new(read),
|
read: BufReader::new(read),
|
||||||
write: write,
|
write: write,
|
||||||
@@ -224,7 +227,12 @@ impl Server {
|
|||||||
client_server_map: client_server_map,
|
client_server_map: client_server_map,
|
||||||
connected_at: chrono::offset::Utc::now().naive_utc(),
|
connected_at: chrono::offset::Utc::now().naive_utc(),
|
||||||
stats: stats,
|
stats: stats,
|
||||||
});
|
application_name: String::new(),
|
||||||
|
};
|
||||||
|
|
||||||
|
server.set_name("pgcat").await?;
|
||||||
|
|
||||||
|
return Ok(server);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We have an unexpected message from the server during this exchange.
|
// We have an unexpected message from the server during this exchange.
|
||||||
@@ -448,9 +456,14 @@ impl Server {
|
|||||||
/// A shorthand for `SET application_name = $1`.
|
/// A shorthand for `SET application_name = $1`.
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
pub async fn set_name(&mut self, name: &str) -> Result<(), Error> {
|
pub async fn set_name(&mut self, name: &str) -> Result<(), Error> {
|
||||||
Ok(self
|
if self.application_name != name {
|
||||||
.query(&format!("SET application_name = '{}'", name))
|
self.application_name = name.to_string();
|
||||||
.await?)
|
Ok(self
|
||||||
|
.query(&format!("SET application_name = '{}'", name))
|
||||||
|
.await?)
|
||||||
|
} else {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the servers address.
|
/// Get the servers address.
|
||||||
|
|||||||
Reference in New Issue
Block a user