Skip to content

Commit e41f024

Browse files
committed
[misc] correct windows named pipe testing for mysql 8.0.14+
1 parent 3710eb0 commit e41f024

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

src/test/java/org/mariadb/jdbc/integration/ConnectionTest.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -935,10 +935,9 @@ public void useNoDatabase() throws SQLException {
935935

936936
@Test
937937
public void windowsNamedPipe() throws SQLException {
938-
Assumptions.assumeTrue(isMariaDBServer() || !minVersion(8, 0, 14));
939938
ResultSet rs = null;
940939
try {
941-
rs = sharedConn.createStatement().executeQuery("select @@named_pipe,@@socket");
940+
rs = sharedConn.createStatement().executeQuery("select @@named_pipe,@@socket,@@named_pipe_full_access_group");
942941
} catch (SQLException sqle) {
943942
// on non Windows system, named_pipe doesn't exist.
944943
}
@@ -948,10 +947,24 @@ public void windowsNamedPipe() throws SQLException {
948947
Assumptions.assumeTrue(rs.getBoolean(1));
949948
String namedPipeName = rs.getString(2);
950949
System.out.println("namedPipeName:" + namedPipeName);
950+
if (!isMariaDBServer() && minVersion(8, 0, 14)) {
951+
String namedPipeFullAccess = rs.getString(3);
952+
System.out.println("namedPipeFullAccess:" + namedPipeFullAccess);
953+
Assumptions.assumeTrue(namedPipeFullAccess != null && !namedPipeFullAccess.isEmpty());
954+
}
951955

952956
// skip test if no namedPipeName was obtained because then we do not use a socket connection
953957
Assumptions.assumeTrue(namedPipeName != null);
954-
try (Connection connection = createCon("pipe=" + namedPipeName)) {
958+
String connUrl =
959+
password == null || password.isEmpty()
960+
? String.format(
961+
"jdbc:mariadb:///%s?user=%s%s", database, user, defaultOther)
962+
: String.format(
963+
"jdbc:mariadb:///%s?user=%s&password=%s%s",
964+
database, user, password, defaultOther);
965+
966+
967+
try (Connection connection = DriverManager.getConnection(connUrl + "&pipe=" + namedPipeName)) {
955968
java.sql.Statement stmt = connection.createStatement();
956969
try (ResultSet rs2 = stmt.executeQuery("SELECT 1")) {
957970
assertTrue(rs2.next());

0 commit comments

Comments
 (0)