Skip to content

Commit e8269c2

Browse files
author
Zhen Li
committed
Removed database name normalization on the driver side.
The user is fully responsible to give us the database name in the correct format.
1 parent fcbc7fc commit e8269c2

File tree

3 files changed

+9
-13
lines changed

3 files changed

+9
-13
lines changed

driver/src/main/java/org/neo4j/driver/SessionConfig.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -228,11 +228,7 @@ public Builder withDatabase( String database )
228228
// Disallow users to use bolt internal value directly. To users, this is totally an illegal database name.
229229
throw new IllegalArgumentException( String.format( "Illegal database name '%s'.", database ) );
230230
}
231-
// The database name is normalized to lowercase on the server side.
232-
// The client in theory shall not perform any normalization at all.
233-
// However as this name is also used in routing table registry as the map's key to find the routing table for the given database,
234-
// to avoid multiple routing tables for the same database, we perform a client side normalization.
235-
this.database = database.toLowerCase();
231+
this.database = database;
236232
return this;
237233
}
238234

driver/src/test/java/org/neo4j/driver/integration/RoutingDriverMultidatabaseBoltKitTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ void shouldDiscoverForDatabase() throws IOException, InterruptedException, StubS
6262
StubServer reader = StubServer.start( "read_server_v4_read.script", 9005 );
6363
URI uri = URI.create( "neo4j://127.0.0.1:9001" );
6464
try ( Driver driver = GraphDatabase.driver( uri, INSECURE_CONFIG );
65-
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "myDatabase" ).build() ) )
65+
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "mydatabase" ).build() ) )
6666
{
6767
List<String> result = session.run( "MATCH (n) RETURN n.name" ).list( record -> record.get( "n.name" ).asString() );
6868

@@ -89,7 +89,7 @@ void shouldRetryOnEmptyDiscoveryResult() throws IOException, InterruptedExceptio
8989

9090
Config config = insecureBuilder().withResolver( resolver ).build();
9191
try ( Driver driver = GraphDatabase.driver( "neo4j://my.virtual.host:8080", config );
92-
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "myDatabase" ).build() ) )
92+
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "mydatabase" ).build() ) )
9393
{
9494
List<String> result = session.run( "MATCH (n) RETURN n.name" ).list( record -> record.get( "n.name" ).asString() );
9595

@@ -109,7 +109,7 @@ void shouldThrowRoutingErrorIfDatabaseNotFound() throws IOException, Interrupted
109109

110110
URI uri = URI.create( "neo4j://127.0.0.1:9001" );
111111
try ( Driver driver = GraphDatabase.driver( uri, INSECURE_CONFIG );
112-
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "myDatabase" ).build() ) )
112+
Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "mydatabase" ).build() ) )
113113
{
114114
final FatalDiscoveryException error = assertThrows( FatalDiscoveryException.class, () -> {
115115
session.run( "MATCH (n) RETURN n.name" );
@@ -132,7 +132,7 @@ void shouldBeAbleToServeReachableDatabase() throws IOException, InterruptedExcep
132132

133133
try ( Driver driver = GraphDatabase.driver( uri, INSECURE_CONFIG ) )
134134
{
135-
try( Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "Unreachable" ).build() ) )
135+
try( Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "unreachable" ).build() ) )
136136
{
137137
final ServiceUnavailableException error = assertThrows( ServiceUnavailableException.class, () -> {
138138
session.run( "MATCH (n) RETURN n.name" );
@@ -141,7 +141,7 @@ void shouldBeAbleToServeReachableDatabase() throws IOException, InterruptedExcep
141141
assertThat( error.getMessage(), containsString( "Could not perform discovery for database 'unreachable'" ) );
142142
}
143143

144-
try ( Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "myDatabase" ).build() ) )
144+
try ( Session session = driver.session( builder().withDefaultAccessMode( AccessMode.READ ).withDatabase( "mydatabase" ).build() ) )
145145
{
146146
List<String> result = session.run( "MATCH (n) RETURN n.name" ).list( record -> record.get( "n.name" ).asString() );
147147

@@ -164,7 +164,7 @@ void shouldVerifyConnectivityOnDriverCreation() throws Throwable
164164
try ( Driver driver = GraphDatabase.driver( uri, INSECURE_CONFIG ) )
165165
{
166166
driver.verifyConnectivity();
167-
try ( Session session = driver.session( builder().withDatabase( "myDatabase" ).withDefaultAccessMode( AccessMode.READ ).build() ) )
167+
try ( Session session = driver.session( builder().withDatabase( "mydatabase" ).withDefaultAccessMode( AccessMode.READ ).build() ) )
168168
{
169169
List<Record> records = session.run( "MATCH (n) RETURN n.name" ).list();
170170
assertEquals( 3, records.size() );

driver/src/test/java/org/neo4j/driver/internal/DirectDriverBoltKitTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ void shouldAllowDatabaseNameInSessionRun() throws Throwable
306306
StubServer server = StubServer.start( "read_server_v4_read.script", 9001 );
307307

308308
try ( Driver driver = GraphDatabase.driver( "bolt://localhost:9001", INSECURE_CONFIG );
309-
Session session = driver.session( builder().withDatabase( "myDatabase" ).withDefaultAccessMode( AccessMode.READ ).build() ) )
309+
Session session = driver.session( builder().withDatabase( "mydatabase" ).withDefaultAccessMode( AccessMode.READ ).build() ) )
310310
{
311311
final StatementResult result = session.run( "MATCH (n) RETURN n.name" );
312312
result.consume();
@@ -323,7 +323,7 @@ void shouldAllowDatabaseNameInBeginTransaction() throws Throwable
323323
StubServer server = StubServer.start( "read_server_v4_read_tx.script", 9001 );
324324

325325
try ( Driver driver = GraphDatabase.driver( "bolt://localhost:9001", INSECURE_CONFIG );
326-
Session session = driver.session( forDatabase( "myDatabase" ) ) )
326+
Session session = driver.session( forDatabase( "mydatabase" ) ) )
327327
{
328328
session.readTransaction( tx -> tx.run( "MATCH (n) RETURN n.name" ).summary() );
329329
}

0 commit comments

Comments
 (0)