Skip to content

Commit ce90c76

Browse files
authored
Add Bolt 5.6 (#1562)
* Add Bolt 5.6 * Update shouldBuildResultSummaryWithGqlStatusObjects test
1 parent 6c63a14 commit ce90c76

File tree

18 files changed

+919
-15
lines changed

18 files changed

+919
-15
lines changed

benchkit-backend/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<artifactId>neo4j-java-driver-parent</artifactId>
99
<groupId>org.neo4j.driver</groupId>
10-
<version>5.22-SNAPSHOT</version>
10+
<version>5.23-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>benchkit-backend</artifactId>

bundle/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.neo4j.driver</groupId>
88
<artifactId>neo4j-java-driver-parent</artifactId>
9-
<version>5.22-SNAPSHOT</version>
9+
<version>5.23-SNAPSHOT</version>
1010
<relativePath>..</relativePath>
1111
</parent>
1212

driver/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>org.neo4j.driver</groupId>
88
<artifactId>neo4j-java-driver-parent</artifactId>
9-
<version>5.22-SNAPSHOT</version>
9+
<version>5.23-SNAPSHOT</version>
1010
</parent>
1111

1212
<artifactId>neo4j-java-driver</artifactId>

driver/src/main/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtil.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.neo4j.driver.internal.messaging.v42.BoltProtocolV42;
2828
import org.neo4j.driver.internal.messaging.v44.BoltProtocolV44;
2929
import org.neo4j.driver.internal.messaging.v5.BoltProtocolV5;
30-
import org.neo4j.driver.internal.messaging.v55.BoltProtocolV55;
30+
import org.neo4j.driver.internal.messaging.v56.BoltProtocolV56;
3131

3232
public final class BoltProtocolUtil {
3333
public static final int BOLT_MAGIC_PREAMBLE = 0x6060B017;
@@ -39,7 +39,7 @@ public final class BoltProtocolUtil {
3939

4040
private static final ByteBuf HANDSHAKE_BUF = unreleasableBuffer(copyInt(
4141
BOLT_MAGIC_PREAMBLE,
42-
BoltProtocolV55.VERSION.toIntRange(BoltProtocolV5.VERSION),
42+
BoltProtocolV56.VERSION.toIntRange(BoltProtocolV5.VERSION),
4343
BoltProtocolV44.VERSION.toIntRange(BoltProtocolV42.VERSION),
4444
BoltProtocolV41.VERSION.toInt(),
4545
BoltProtocolV3.VERSION.toInt()))

driver/src/main/java/org/neo4j/driver/internal/messaging/BoltProtocol.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.neo4j.driver.internal.messaging.v53.BoltProtocolV53;
5151
import org.neo4j.driver.internal.messaging.v54.BoltProtocolV54;
5252
import org.neo4j.driver.internal.messaging.v55.BoltProtocolV55;
53+
import org.neo4j.driver.internal.messaging.v56.BoltProtocolV56;
5354
import org.neo4j.driver.internal.spi.Connection;
5455

5556
public interface BoltProtocol {
@@ -214,6 +215,8 @@ static BoltProtocol forVersion(BoltProtocolVersion version) {
214215
return BoltProtocolV54.INSTANCE;
215216
} else if (BoltProtocolV55.VERSION.equals(version)) {
216217
return BoltProtocolV55.INSTANCE;
218+
} else if (BoltProtocolV56.VERSION.equals(version)) {
219+
return BoltProtocolV56.INSTANCE;
217220
}
218221
throw new ClientException("Unknown protocol version: " + version);
219222
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
* Copyright (c) "Neo4j"
3+
* Neo4j Sweden AB [https://neo4j.com]
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License");
6+
* you may not use this file except in compliance with the License.
7+
* You may obtain a copy of the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
package org.neo4j.driver.internal.messaging.v56;
18+
19+
import org.neo4j.driver.internal.messaging.BoltProtocol;
20+
import org.neo4j.driver.internal.messaging.BoltProtocolVersion;
21+
import org.neo4j.driver.internal.messaging.v55.BoltProtocolV55;
22+
23+
public class BoltProtocolV56 extends BoltProtocolV55 {
24+
public static final BoltProtocolVersion VERSION = new BoltProtocolVersion(5, 6);
25+
public static final BoltProtocol INSTANCE = new BoltProtocolV56();
26+
27+
@Override
28+
public BoltProtocolVersion version() {
29+
return VERSION;
30+
}
31+
}

driver/src/main/java/org/neo4j/driver/internal/util/MetadataExtractor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,8 @@ private static GqlStatusObject extractGqlStatusObject(Value value) {
394394
return new InternalGqlStatusObject(status, description, diagnosticRecord);
395395
} else {
396396
var title = value.get("title").asString();
397+
var notificationDescription =
398+
value.containsKey("description") ? value.get("description").asString() : description;
397399

398400
var positionValue = diagnosticRecord.get("_position");
399401
InputPosition position = null;
@@ -427,7 +429,7 @@ private static GqlStatusObject extractGqlStatusObject(Value value) {
427429
diagnosticRecord,
428430
neo4jCode,
429431
title,
430-
description,
432+
notificationDescription,
431433
severity,
432434
rawSeverity,
433435
classification,

driver/src/test/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtilTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,23 @@
3030
import org.neo4j.driver.internal.messaging.v3.BoltProtocolV3;
3131
import org.neo4j.driver.internal.messaging.v41.BoltProtocolV41;
3232
import org.neo4j.driver.internal.messaging.v44.BoltProtocolV44;
33-
import org.neo4j.driver.internal.messaging.v55.BoltProtocolV55;
33+
import org.neo4j.driver.internal.messaging.v56.BoltProtocolV56;
3434

3535
class BoltProtocolUtilTest {
3636
@Test
3737
void shouldReturnHandshakeBuf() {
3838
assertByteBufContains(
3939
handshakeBuf(),
4040
BOLT_MAGIC_PREAMBLE,
41-
(5 << 16) | BoltProtocolV55.VERSION.toInt(),
41+
(6 << 16) | BoltProtocolV56.VERSION.toInt(),
4242
(2 << 16) | BoltProtocolV44.VERSION.toInt(),
4343
BoltProtocolV41.VERSION.toInt(),
4444
BoltProtocolV3.VERSION.toInt());
4545
}
4646

4747
@Test
4848
void shouldReturnHandshakeString() {
49-
assertEquals("[0x6060b017, 328965, 132100, 260, 3]", handshakeString());
49+
assertEquals("[0x6060b017, 394757, 132100, 260, 3]", handshakeString());
5050
}
5151

5252
@Test

0 commit comments

Comments
 (0)