Skip to content

Commit 2b48719

Browse files
committed
Address comments
1 parent 6d3ed21 commit 2b48719

1 file changed

Lines changed: 14 additions & 19 deletions

File tree

lib/src/routing/connection_registry.rs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,12 @@ impl ConnectionRegistry {
6868
imp_user: Option<ImpersonateUser>,
6969
bookmarks: &[String],
7070
) -> Vec<BoltServer> {
71-
if let Some(db_name) = db.as_ref().map(|d| d.to_string()) {
72-
if let Some(table) = self.databases.get(&db_name) {
71+
if let Some(db_name) = db.as_deref() {
72+
if let Some(table) = self.databases.get(db_name) {
7373
if table.is_expired() {
7474
debug!("Routing table for database {db_name} is expired");
7575
match self
76-
.fetch_routing_table(db.clone(), imp_user.clone(), bookmarks)
76+
.fetch_routing_table(db.clone(), imp_user, bookmarks)
7777
.await
7878
{
7979
Ok(new_table) => {
@@ -92,7 +92,7 @@ impl ConnectionRegistry {
9292
}
9393
} else {
9494
match self
95-
.fetch_routing_table(db.clone(), imp_user.clone(), bookmarks)
95+
.fetch_routing_table(db.clone(), imp_user, bookmarks)
9696
.await
9797
{
9898
Ok(new_table) => {
@@ -109,16 +109,14 @@ impl ConnectionRegistry {
109109
}
110110
} else {
111111
match self
112-
.fetch_routing_table(db.clone(), imp_user.clone(), bookmarks)
112+
.fetch_routing_table(db.clone(), imp_user, bookmarks)
113113
.await
114114
{
115115
Ok(new_table) => {
116-
let db = new_table.db.clone();
117-
let database_table: DatabaseTable = new_table.into();
118-
let servers = database_table.resolve();
119-
let db_name = db.map_or(String::new(), |d| d.to_string());
116+
let db_name = new_table.db.as_deref().unwrap_or("");
120117
debug!("Routing table for database {db_name} refreshed");
121-
servers
118+
let database_table: DatabaseTable = new_table.into();
119+
database_table.resolve()
122120
}
123121
Err(e) => {
124122
error!("Failed to refresh routing table for database default: {e}");
@@ -155,18 +153,15 @@ impl ConnectionRegistry {
155153
})?,
156154
);
157155
}
158-
let db_name = routing_table
159-
.db
160-
.as_ref()
161-
.map_or("".to_string(), |d| d.to_string());
156+
let db_name = routing_table.db.as_deref().unwrap_or("");
162157
debug!(
163158
"Registry updated for database {}. New size is {} with TTL {}s",
164159
db_name,
165160
self.pool_registry.len(),
166161
routing_table.ttl
167162
);
168163
let database_table: DatabaseTable = routing_table.into();
169-
self.databases.insert(db_name.clone(), database_table);
164+
self.databases.insert(db_name.to_owned(), database_table);
170165
Ok(())
171166
}
172167

@@ -234,7 +229,7 @@ mod tests {
234229
_bookmarks: &[String],
235230
db: Option<Database>,
236231
_imp_user: Option<ImpersonateUser>,
237-
) -> Pin<Box<dyn Future<Output = Result<RoutingTable, Error>> + Send>> {
232+
) -> Pin<Box<dyn Future<Output=Result<RoutingTable, Error>> + Send>> {
238233
let vec = self.routing_tables.clone();
239234
if let Some(db) = db {
240235
if let Some(table) = vec.iter().find(|t| t.db.as_ref() == Some(&db)) {
@@ -293,9 +288,9 @@ mod tests {
293288
let config = make_config();
294289
let registry = Arc::new(ConnectionRegistry::new(
295290
&config,
296-
Arc::new(TestRoutingTableProvider::new(&[
297-
cluster_routing_table.clone()
298-
])),
291+
Arc::new(TestRoutingTableProvider::new(std::slice::from_ref(
292+
&cluster_routing_table,
293+
))),
299294
));
300295

301296
let db = Some(Database::from("neo4j"));

0 commit comments

Comments
 (0)