Skip to content

Commit a607f93

Browse files
authored
Merge pull request #2405 from ClickHouse/fix_2404
[repo] Force using JDK 1.8 toolchain to build for JDK 8
2 parents 6cbce88 + bb20b2d commit a607f93

File tree

6 files changed

+62
-63
lines changed

6 files changed

+62
-63
lines changed

clickhouse-data/src/test/java/com/clickhouse/data/ClickHouseSimpleRecordTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ public void testNullInput() {
2828
public void testMismatchedColumnsAndValues() {
2929

3030
Assert.assertThrows(IllegalArgumentException.class, () -> ClickHouseSimpleRecord
31-
.of(Map.of("a", 0), new ClickHouseValue[0]));
31+
.of(Collections.singletonMap("a", 0), new ClickHouseValue[0]));
3232

33-
ClickHouseSimpleRecord record = new ClickHouseSimpleRecord(Map.of("a", 0),
33+
ClickHouseSimpleRecord record = new ClickHouseSimpleRecord(Collections.singletonMap("a", 0),
3434
new ClickHouseValue[0]);
3535
Assert.assertEquals(record.getValues(), new ClickHouseValue[0]);
3636
}

jdbc-v2/src/main/java/com/clickhouse/jdbc/PreparedStatementImpl.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -403,21 +403,29 @@ public ResultSetMetaData getMetaData() throws SQLException {
403403

404404
private static final Pattern REPLACE_Q_MARK_PATTERN = Pattern.compile("(\"[^\"]*\"|`[^`]*`|'[^']*')|(\\?)");
405405

406-
public static String replaceQuestionMarks(String sql, String replacement) {
406+
public static String replaceQuestionMarks(String sql, final String replacement) {
407407
Matcher matcher = REPLACE_Q_MARK_PATTERN.matcher(sql);
408408

409409
StringBuilder result = new StringBuilder();
410410

411+
int lastPos = 0;
411412
while (matcher.find()) {
412-
if (matcher.group(1) != null) {
413+
String text;
414+
if ((text = matcher.group(1)) != null) {
413415
// Quoted string — keep as-is
414-
matcher.appendReplacement(result, Matcher.quoteReplacement(matcher.group(1)));
416+
String str = Matcher.quoteReplacement(text);
417+
result.append(sql, lastPos, matcher.start()).append(str);
418+
lastPos = matcher.end();
415419
} else if (matcher.group(2) != null) {
416420
// Question mark outside quotes — replace it
417-
matcher.appendReplacement(result, Matcher.quoteReplacement(replacement));
421+
String str = Matcher.quoteReplacement(replacement);
422+
result.append(sql, lastPos, matcher.start()).append(str);
423+
lastPos = matcher.end();
418424
}
419425
}
420-
matcher.appendTail(result);
426+
427+
// Add rest of the `sql`
428+
result.append(sql, lastPos, sql.length());
421429
return result.toString();
422430
}
423431

jdbc-v2/src/main/java/com/clickhouse/jdbc/metadata/DatabaseMetaDataImpl.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1414,9 +1414,4 @@ public long getMaxLogicalLobSize() throws SQLException {
14141414
public boolean supportsRefCursors() throws SQLException {
14151415
return false;
14161416
}
1417-
1418-
@Override
1419-
public boolean supportsSharding() throws SQLException {
1420-
return false;
1421-
}
14221417
}

jdbc-v2/src/test/java/com/clickhouse/jdbc/ConnectionTest.java

Lines changed: 14 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package com.clickhouse.jdbc;
22

3-
import java.nio.charset.StandardCharsets;
4-
import java.sql.*;
5-
import java.util.*;
6-
7-
import java.util.Properties;
8-
93
import com.clickhouse.client.ClickHouseNode;
104
import com.clickhouse.client.ClickHouseProtocol;
115
import com.clickhouse.client.ClickHouseServerForTest;
@@ -23,6 +17,20 @@
2317
import org.testng.annotations.DataProvider;
2418
import org.testng.annotations.Test;
2519

20+
import java.nio.charset.StandardCharsets;
21+
import java.sql.Array;
22+
import java.sql.Connection;
23+
import java.sql.DatabaseMetaData;
24+
import java.sql.PreparedStatement;
25+
import java.sql.ResultSet;
26+
import java.sql.SQLException;
27+
import java.sql.SQLFeatureNotSupportedException;
28+
import java.sql.Statement;
29+
import java.util.Arrays;
30+
import java.util.Base64;
31+
import java.util.Properties;
32+
import java.util.UUID;
33+
2634
import static org.testng.Assert.assertThrows;
2735
import static org.testng.Assert.fail;
2836

@@ -347,32 +355,6 @@ public void getNetworkTimeoutTest() throws SQLException {
347355
assertThrows(SQLFeatureNotSupportedException.class, () -> localConnection.getNetworkTimeout());
348356
}
349357

350-
@Test(groups = { "integration" })
351-
public void beginRequestTest() throws SQLException {
352-
Connection localConnection = this.getJdbcConnection();
353-
localConnection.beginRequest();//No-op
354-
}
355-
356-
@Test(groups = { "integration" })
357-
public void endRequestTest() throws SQLException {
358-
Connection localConnection = this.getJdbcConnection();
359-
localConnection.endRequest();//No-op
360-
}
361-
362-
@Test(groups = { "integration" })
363-
public void setShardingKeyIfValidTest() throws SQLException {
364-
Connection localConnection = this.getJdbcConnection();
365-
assertThrows(SQLFeatureNotSupportedException.class, () -> localConnection.setShardingKeyIfValid(null, 0));
366-
assertThrows(SQLFeatureNotSupportedException.class, () -> localConnection.setShardingKeyIfValid(null, null, 0));
367-
}
368-
369-
@Test(groups = { "integration" })
370-
public void setShardingKeyTest() throws SQLException {
371-
Connection localConnection = this.getJdbcConnection();
372-
assertThrows(SQLFeatureNotSupportedException.class, () -> localConnection.setShardingKey(null));
373-
assertThrows(SQLFeatureNotSupportedException.class, () -> localConnection.setShardingKey(null, null));
374-
}
375-
376358
@Test(groups = { "integration" })
377359
public void testMaxResultRowsProperty() throws Exception {
378360
Properties properties = new Properties();

jdbc-v2/src/test/java/com/clickhouse/jdbc/PreparedStatementTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.time.LocalDateTime;
2323
import java.time.ZoneId;
2424
import java.time.temporal.ChronoUnit;
25-
import java.time.temporal.TemporalUnit;
2625
import java.util.ArrayList;
2726
import java.util.Arrays;
2827
import java.util.Collection;

pom.xml

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@
120120

121121
<antrun-plugin.version>3.1.0</antrun-plugin.version>
122122
<assembly-plugin.version>3.6.0</assembly-plugin.version>
123-
<clean-plugin.version>3.3.1</clean-plugin.version>
124-
<compiler-plugin.version>3.13.0</compiler-plugin.version>
123+
<clean-plugin.version>3.5.0</clean-plugin.version>
124+
<compiler-plugin.version>3.14.0</compiler-plugin.version>
125125
<deploy-plugin.version>3.1.1</deploy-plugin.version>
126126
<enforcer-plugin.version>3.3.0</enforcer-plugin.version>
127127
<exec-plugin.version>3.1.0</exec-plugin.version>
@@ -131,22 +131,24 @@
131131
<gpg-plugin.version>3.1.0</gpg-plugin.version>
132132
<helper-plugin.version>3.4.0</helper-plugin.version>
133133
<jacoco-plugin.version>0.8.12</jacoco-plugin.version>
134-
<jar-plugin.version>3.3.0</jar-plugin.version>
135-
<javadoc-plugin.version>3.5.0</javadoc-plugin.version>
134+
<jar-plugin.version>3.4.2</jar-plugin.version>
135+
<javadoc-plugin.version>3.11.2</javadoc-plugin.version>
136136
<native-plugin.version>0.9.23</native-plugin.version>
137137
<os-plugin.version>1.7.1</os-plugin.version>
138138
<protobuf-plugin.version>0.6.1</protobuf-plugin.version>
139-
<shade-plugin.version>3.5.0</shade-plugin.version>
140-
<source-plugin.version>3.2.1</source-plugin.version>
139+
<shade-plugin.version>3.6.0</shade-plugin.version>
140+
<source-plugin.version>3.3.1</source-plugin.version>
141141
<staging-plugin.version>1.6.13</staging-plugin.version>
142-
<surefire-plugin.version>3.2.5</surefire-plugin.version>
143-
<toolchains-plugin.version>3.1.0</toolchains-plugin.version>
144-
<versions-plugin.version>2.16.0</versions-plugin.version>
142+
<surefire-plugin.version>3.5.3</surefire-plugin.version>
143+
<toolchains-plugin.version>3.2.0</toolchains-plugin.version>
144+
<versions-plugin.version>2.18.0</versions-plugin.version>
145145
<resource-plugin.version>3.3.1</resource-plugin.version>
146146
<jmh.version>1.37</jmh.version>
147147
<guava.version>33.4.6-jre</guava.version>
148148

149-
<minJdk>1.8</minJdk>
149+
<minTargetJdk>17</minTargetJdk>
150+
<minSourceJdk>17</minSourceJdk>
151+
<javadoc.source.version>1.8</javadoc.source.version>
150152
<skipTests>false</skipTests>
151153
<skipITs>${skipTests}</skipITs>
152154
<skipUTs>${skipTests}</skipUTs>
@@ -591,10 +593,8 @@
591593
<groupId>org.apache.maven.plugins</groupId>
592594
<artifactId>maven-compiler-plugin</artifactId>
593595
<configuration>
594-
<source>${minJdk}</source>
595-
<target>${minJdk}</target>
596-
<testSource>17</testSource>
597-
<testTarget>17</testTarget>
596+
<source>${minSourceJdk}</source>
597+
<target>${minSourceJdk}</target>
598598
<showWarnings>true</showWarnings>
599599
<compilerArgs>
600600
<arg>-Xlint:all</arg>
@@ -812,6 +812,21 @@
812812
<name>j8</name>
813813
</property>
814814
</activation>
815+
<build>
816+
<plugins>
817+
<plugin>
818+
<groupId>org.apache.maven.plugins</groupId>
819+
<artifactId>maven-compiler-plugin</artifactId>
820+
<configuration>
821+
<target>1.8</target>
822+
<source>1.8</source>
823+
<jdkToolchain>
824+
<version>1.8</version>
825+
</jdkToolchain>
826+
</configuration>
827+
</plugin>
828+
</plugins>
829+
</build>
815830
<properties>
816831
<caffeine.version>2.9.2</caffeine.version>
817832
</properties>
@@ -948,7 +963,7 @@
948963
<groupId>org.apache.maven.plugins</groupId>
949964
<artifactId>maven-javadoc-plugin</artifactId>
950965
<configuration>
951-
<source>${minJdk}</source>
966+
<source>${javadoc.source.version}</source>
952967
</configuration>
953968
<executions>
954969
<execution>
@@ -1044,8 +1059,8 @@
10441059
<groupId>org.apache.maven.plugins</groupId>
10451060
<artifactId>maven-compiler-plugin</artifactId>
10461061
<configuration>
1047-
<source>${minJdk}</source>
1048-
<target>${minJdk}</target>
1062+
<source>1.8</source>
1063+
<target>1.8</target>
10491064
<showWarnings>true</showWarnings>
10501065
<compilerArgs>
10511066
<arg>-Xlint:all</arg>
@@ -1179,7 +1194,7 @@
11791194
<groupId>org.apache.maven.plugins</groupId>
11801195
<artifactId>maven-javadoc-plugin</artifactId>
11811196
<configuration>
1182-
<source>${minJdk}</source>
1197+
<source>${javadoc.source.version}</source>
11831198
</configuration>
11841199
<executions>
11851200
<execution>

0 commit comments

Comments
 (0)