From 757de68bc5fd4f30a1e3ae9672368451049f50d5 Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov <11927660+injectives@users.noreply.github.com> Date: Tue, 19 Dec 2023 11:27:39 +0000 Subject: [PATCH] Update SessionConfig.withDatabase documentation (#1518) * Update SessionConfig.withDatabase documentation (#1334) * Update SessionConfig.withDatabase documentation (addition) (#1336) * Further update to SessionConfig.withDatabase documentation (#1337) --- .../java/org/neo4j/driver/SessionConfig.java | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/driver/src/main/java/org/neo4j/driver/SessionConfig.java b/driver/src/main/java/org/neo4j/driver/SessionConfig.java index 99f36a5dfe..5abb9153c1 100644 --- a/driver/src/main/java/org/neo4j/driver/SessionConfig.java +++ b/driver/src/main/java/org/neo4j/driver/SessionConfig.java @@ -224,16 +224,40 @@ public Builder withDefaultAccessMode(AccessMode mode) { } /** - * Set the database that the newly created session is going to connect to. + * Sets target database name for queries executed within session. *
- * For connecting to servers that support multi-databases, - * it is highly recommended to always set the database explicitly in the {@link SessionConfig} for each session. - * If the database name is not set, then session defaults to connecting to the default database configured in server configuration. + * This option has no explicit value by default, as such it is recommended to set a value if the target database + * is known in advance. This has the benefit of ensuring a consistent target database name throughout the + * session in a straightforward way and potentially simplifies driver logic, which reduces network communication + * and might result in better performance. *
- * For servers that do not support multi-databases, leave this database value unset. The only database will be used instead. + * Cypher clauses such as USE are not a replacement for this option as Cypher is handled by the server and not + * the driver. + *
+ * When no explicit name is set, the driver behavior depends on the connection URI scheme supplied to the driver + * on instantiation and Bolt protocol version. + *
+ * Specifically, the following applies: + *