Skip to content

Commit a48e584

Browse files
committed
fixed warnings
1 parent 7a13970 commit a48e584

24 files changed

+59
-207
lines changed

client-v2/src/main/java/com/clickhouse/client/api/Client.java

Lines changed: 14 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,7 @@
33
import com.clickhouse.client.ClickHouseNode;
44
import com.clickhouse.client.api.command.CommandResponse;
55
import com.clickhouse.client.api.command.CommandSettings;
6-
import com.clickhouse.client.api.data_formats.ClickHouseBinaryFormatReader;
7-
import com.clickhouse.client.api.data_formats.NativeFormatReader;
8-
import com.clickhouse.client.api.data_formats.RowBinaryFormatReader;
9-
import com.clickhouse.client.api.data_formats.RowBinaryFormatSerializer;
10-
import com.clickhouse.client.api.data_formats.RowBinaryWithNamesAndTypesFormatReader;
11-
import com.clickhouse.client.api.data_formats.RowBinaryWithNamesFormatReader;
6+
import com.clickhouse.client.api.data_formats.*;
127
import com.clickhouse.client.api.data_formats.internal.BinaryStreamReader;
138
import com.clickhouse.client.api.data_formats.internal.MapBackedRecord;
149
import com.clickhouse.client.api.data_formats.internal.ProcessParser;
@@ -20,26 +15,16 @@
2015
import com.clickhouse.client.api.insert.InsertResponse;
2116
import com.clickhouse.client.api.insert.InsertSettings;
2217
import com.clickhouse.client.api.insert.POJOSerializer;
23-
import com.clickhouse.client.api.internal.ClickHouseLZ4OutputStream;
24-
import com.clickhouse.client.api.internal.ClientStatisticsHolder;
25-
import com.clickhouse.client.api.internal.HttpAPIClientHelper;
26-
import com.clickhouse.client.api.internal.MapUtils;
27-
import com.clickhouse.client.api.internal.TableSchemaParser;
28-
import com.clickhouse.client.api.internal.ValidationUtils;
18+
import com.clickhouse.client.api.internal.*;
2919
import com.clickhouse.client.api.metadata.ColumnToMethodMatchingStrategy;
3020
import com.clickhouse.client.api.metadata.DefaultColumnToMethodMatchingStrategy;
3121
import com.clickhouse.client.api.metadata.TableSchema;
3222
import com.clickhouse.client.api.metrics.ClientMetrics;
3323
import com.clickhouse.client.api.metrics.OperationMetrics;
34-
import com.clickhouse.client.api.query.GenericRecord;
35-
import com.clickhouse.client.api.query.POJOSetter;
36-
import com.clickhouse.client.api.query.QueryResponse;
37-
import com.clickhouse.client.api.query.QuerySettings;
38-
import com.clickhouse.client.api.query.Records;
24+
import com.clickhouse.client.api.query.*;
3925
import com.clickhouse.client.config.ClickHouseClientOption;
4026
import com.clickhouse.data.ClickHouseColumn;
4127
import com.clickhouse.data.ClickHouseFormat;
42-
import net.jpountz.lz4.LZ4Compressor;
4328
import net.jpountz.lz4.LZ4Factory;
4429
import org.apache.hc.core5.concurrent.DefaultThreadFactory;
4530
import org.apache.hc.core5.http.ClassicHttpResponse;
@@ -59,25 +44,8 @@
5944
import java.time.Duration;
6045
import java.time.ZoneId;
6146
import java.time.temporal.ChronoUnit;
62-
import java.util.ArrayList;
63-
import java.util.Collection;
64-
import java.util.Collections;
65-
import java.util.HashMap;
66-
import java.util.HashSet;
67-
import java.util.LinkedHashMap;
68-
import java.util.List;
69-
import java.util.Map;
70-
import java.util.Set;
71-
import java.util.StringJoiner;
72-
import java.util.TimeZone;
73-
import java.util.UUID;
74-
import java.util.concurrent.CompletableFuture;
75-
import java.util.concurrent.ConcurrentHashMap;
76-
import java.util.concurrent.ExecutionException;
77-
import java.util.concurrent.ExecutorService;
78-
import java.util.concurrent.Executors;
79-
import java.util.concurrent.TimeUnit;
80-
import java.util.concurrent.TimeoutException;
47+
import java.util.*;
48+
import java.util.concurrent.*;
8149
import java.util.function.Supplier;
8250

8351
import static java.time.temporal.ChronoUnit.MILLIS;
@@ -1066,7 +1034,7 @@ private void setDefaults() {
10661034

10671035
// set default database name if not specified
10681036
if (!configuration.containsKey(ClientConfigProperties.DATABASE.getKey())) {
1069-
setDefaultDatabase((String) "default");
1037+
setDefaultDatabase("default");
10701038
}
10711039

10721040
if (!configuration.containsKey(ClientConfigProperties.MAX_EXECUTION_TIME.getKey())) {
@@ -1318,17 +1286,14 @@ public CompletableFuture<InsertResponse> insert(String tableName, List<?> data,
13181286
throw new IllegalArgumentException("Data cannot be empty");
13191287
}
13201288

1321-
1289+
if (settings == null) {
1290+
settings = new InsertSettings();
1291+
}
13221292
String operationId = registerOperationMetrics();
13231293
settings.setOperationId(operationId);
13241294
globalClientStats.get(operationId).start(ClientMetrics.OP_DURATION);
13251295
globalClientStats.get(operationId).start(ClientMetrics.OP_SERIALIZATION);
13261296

1327-
//Add format to the settings
1328-
if (settings == null) {
1329-
settings = new InsertSettings();
1330-
}
1331-
13321297
boolean hasDefaults = this.tableSchemaHasDefaults.get(tableName);
13331298
ClickHouseFormat format = hasDefaults? ClickHouseFormat.RowBinaryWithDefaults : ClickHouseFormat.RowBinary;
13341299
TableSchema tableSchema = tableSchemaCache.get(tableName);
@@ -1484,7 +1449,7 @@ public CompletableFuture<InsertResponse> insert(String tableName,
14841449
ClickHouseFormat format,
14851450
InsertSettings settings) {
14861451

1487-
String operationId = (String) settings.getOperationId();
1452+
String operationId = settings.getOperationId();
14881453
ClientStatisticsHolder clientStats = null;
14891454
if (operationId != null) {
14901455
clientStats = globalClientStats.remove(operationId);
@@ -1579,7 +1544,7 @@ public CompletableFuture<QueryResponse> query(String sqlQuery) {
15791544
* <p>Sends SQL query to server.</p>
15801545
* <b>Notes:</b>
15811546
* <ul>
1582-
* <li>Server response format can be specified thru `settings` or in SQL query.</li>
1547+
* <li>Server response format can be specified through `settings` or in SQL query.</li>
15831548
* <li>If specified in both, the `sqlQuery` will take precedence.</li>
15841549
* </ul>
15851550
* @param sqlQuery - complete SQL query.
@@ -1609,7 +1574,7 @@ public CompletableFuture<QueryResponse> query(String sqlQuery, QuerySettings set
16091574
*
16101575
* <b>Notes:</b>
16111576
* <ul>
1612-
* <li>Server response format can be specified thru {@code settings} or in SQL query.</li>
1577+
* <li>Server response format can be specified through {@code settings} or in SQL query.</li>
16131578
* <li>If specified in both, the {@code sqlQuery} will take precedence.</li>
16141579
* </ul>
16151580
*
@@ -1813,7 +1778,7 @@ public <T> List<T> queryAll(String sqlQuery, Class<T> clazz, TableSchema schema)
18131778
* <p>{@code class} should be registered before calling this method using {@link #register(Class, TableSchema)}</p>
18141779
* <p>Internally deserializer is compiled at the register stage. Compilation is done using ASM library by
18151780
* writing a bytecode</p>
1816-
* <p>Note: this method will cache schema and it will use sql as a key for storage.</p>
1781+
* <p>Note: this method will cache schema, and it will use sql as a key for storage.</p>
18171782
*
18181783
*
18191784
* @param sqlQuery - query to execute
@@ -2011,7 +1976,7 @@ public CompletableFuture<CommandResponse> execute(String sql) {
20111976
* @return
20121977
*/
20131978
public ClickHouseBinaryFormatReader newBinaryFormatReader(QueryResponse response, TableSchema schema) {
2014-
ClickHouseBinaryFormatReader reader = null;
1979+
ClickHouseBinaryFormatReader reader;
20151980
// Using caching buffer allocator is risky so this parameter is not exposed to the user
20161981
boolean useCachingBufferAllocator = MapUtils.getFlag(configuration, "client_allow_binary_reader_to_reuse_buffers");
20171982
BinaryStreamReader.ByteBufferAllocator byteBufferPool = useCachingBufferAllocator ?

client-v2/src/main/java/com/clickhouse/client/api/ClientConfigProperties.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ public enum ClientConfigProperties {
135135
METRICS_GROUP_NAME("metrics_name"),
136136
;
137137

138-
private String key;
138+
private final String key;
139139

140-
private String defaultValue;
140+
private final String defaultValue;
141141

142-
private List<String> choices;
142+
private final List<String> choices;
143143

144144

145145
ClientConfigProperties(String key) {

client-v2/src/main/java/com/clickhouse/client/api/DataTypeUtils.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ public class DataTypeUtils {
77
/**
88
* Formatter for the DateTime type.
99
*/
10-
public static DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
10+
public static final DateTimeFormatter DATETIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
1111

1212
/**
1313
* Formatter for the Date type.
1414
*/
15-
public static DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
15+
public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd");
1616

1717
/**
1818
* Formatter for the DateTime type with nanoseconds.
1919
*/
20-
public static DateTimeFormatter DATETIME_WITH_NANOS_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.nnnnnnnnn");
20+
public static final DateTimeFormatter DATETIME_WITH_NANOS_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.nnnnnnnnn");
2121

2222
}

client-v2/src/main/java/com/clickhouse/client/api/data_formats/RowBinaryFormatSerializer.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.clickhouse.client.api.data_formats.internal.SerializerUtils;
44
import com.clickhouse.data.ClickHouseColumn;
55
import com.clickhouse.data.ClickHouseDataType;
6-
import com.clickhouse.data.ClickHouseFormat;
76
import com.clickhouse.data.format.BinaryStreamUtils;
87

98
import java.io.IOException;

client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/AbstractBinaryFormatReader.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.util.Arrays;
4141
import java.util.Collection;
4242
import java.util.Collections;
43-
import java.util.HashMap;
4443
import java.util.HashSet;
4544
import java.util.List;
4645
import java.util.Map;
@@ -161,11 +160,7 @@ protected boolean readRecord(Object[] record) throws IOException {
161160
for (int i = 0; i < columns.length; i++) {
162161
try {
163162
Object val = binaryStreamReader.readValue(columns[i]);
164-
if (val != null) {
165-
record[i] = val;
166-
} else {
167-
record[i] = null;
168-
}
163+
record[i] = val;
169164
firstColumn = false;
170165
} catch (EOFException e) {
171166
if (firstColumn) {

client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/BinaryStreamReader.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,8 @@
3333
import java.util.List;
3434
import java.util.Map;
3535
import java.util.Set;
36-
import java.util.Stack;
3736
import java.util.TimeZone;
3837
import java.util.UUID;
39-
import java.util.concurrent.TimeUnit;
4038

4139
/**
4240
* This class is not thread safe and should not be shared between multiple threads.
@@ -97,7 +95,7 @@ public <T> T readValue(ClickHouseColumn column, Class<?> typeHint) throws IOExce
9795
if (column.isNullable()) {
9896
int isNull = readByteOrEOF(input);
9997
if (isNull == 1) { // is Null?
100-
return (T) null;
98+
return null;
10199
}
102100
}
103101

@@ -174,7 +172,6 @@ public <T> T readValue(ClickHouseColumn column, Class<?> typeHint) throws IOExce
174172
case Date32:
175173
return convertDateTime(readDate32(timezone), typeHint);
176174
case DateTime:
177-
return convertDateTime(readDateTime32(timezone), typeHint);
178175
case DateTime32:
179176
return convertDateTime(readDateTime32(timezone), typeHint);
180177
case DateTime64:
@@ -224,13 +221,13 @@ public <T> T readValue(ClickHouseColumn column, Class<?> typeHint) throws IOExce
224221
case Nothing:
225222
return null;
226223
case SimpleAggregateFunction:
227-
return (T) readValue(column.getNestedColumns().get(0));
224+
return readValue(column.getNestedColumns().get(0));
228225
case AggregateFunction:
229226
return (T) readBitmap( actualColumn);
230227
case Variant:
231228
return (T) readVariant(actualColumn);
232229
case Dynamic:
233-
return (T) readValue(actualColumn, typeHint);
230+
return readValue(actualColumn, typeHint);
234231
default:
235232
throw new IllegalArgumentException("Unsupported data type: " + actualColumn.getDataType());
236233
}

client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/MapBackedRecord.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
import com.clickhouse.client.api.query.GenericRecord;
66
import com.clickhouse.client.api.query.NullValueException;
77
import com.clickhouse.data.ClickHouseColumn;
8-
import com.clickhouse.data.ClickHouseDataType;
98
import com.clickhouse.data.value.*;
109

1110
import java.math.BigDecimal;
1211
import java.math.BigInteger;
1312
import java.net.Inet4Address;
1413
import java.net.Inet6Address;
1514
import java.time.*;
16-
import java.time.temporal.ChronoUnit;
1715
import java.time.temporal.TemporalAmount;
1816
import java.util.HashMap;
1917
import java.util.List;

client-v2/src/main/java/com/clickhouse/client/api/data_formats/internal/SerializerUtils.java

Lines changed: 9 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import java.net.Inet6Address;
3131
import java.sql.Timestamp;
3232
import java.time.*;
33-
import java.time.temporal.TemporalUnit;
3433
import java.util.Arrays;
3534
import java.util.Collections;
3635
import java.util.HashMap;
@@ -340,10 +339,7 @@ public static void writeDynamicTypeTag(OutputStream stream, ClickHouseColumn typ
340339
case IntervalQuarter:
341340
case IntervalYear:
342341
stream.write(binTag);
343-
Byte kindTag = ClickHouseDataType.intervalType2Kind.get(dt).getTag();
344-
if (kindTag == null) {
345-
throw new ClientException("BUG! No Interval Mapping to a kind tag");
346-
}
342+
byte kindTag = ClickHouseDataType.intervalType2Kind.get(dt).getTag();
347343
stream.write(kindTag);
348344
break;
349345
case DateTime32:
@@ -382,21 +378,7 @@ public static void writeDynamicTypeTag(OutputStream stream, ClickHouseColumn typ
382378
stream.write(ClickHouseDataType.CUSTOM_TYPE_BIN_TAG);
383379
BinaryStreamUtils.writeString(stream, dt.name());
384380
break;
385-
case Variant:
386-
stream.write(binTag);
387-
break;
388-
case Dynamic:
389-
stream.write(binTag);
390-
break;
391-
case JSON:
392-
stream.write(binTag);
393-
break;
394-
case SimpleAggregateFunction:
395-
stream.write(binTag);
396-
break;
397-
case AggregateFunction:
398-
stream.write(binTag);
399-
break;
381+
case Variant, Dynamic, JSON, SimpleAggregateFunction, AggregateFunction:
400382
default:
401383
stream.write(binTag);
402384
}
@@ -639,7 +621,7 @@ private static void serializeInterval(OutputStream stream, ClickHouseColumn colu
639621
}
640622

641623
private static void serializeEnumData(OutputStream stream, ClickHouseColumn column, Object value) throws IOException {
642-
int enumValue = -1;
624+
int enumValue;
643625
if (value instanceof String) {
644626
enumValue = column.getEnumConstants().value((String) value);
645627
} else if (value instanceof Number) {
@@ -898,20 +880,20 @@ public static POJOSetter compilePOJOSetter(Method setterMethod, ClickHouseColumn
898880
}
899881

900882
private static void binaryReaderMethodForType(MethodVisitor mv, Class<?> targetType, ClickHouseDataType dataType) {
901-
String readerMethod = null;
902-
String readerMethodReturnType = null;
883+
String readerMethod;
884+
String readerMethodReturnType;
903885
int convertOpcode = -1;
904886

905887
switch (dataType) {
906-
case Int8:
888+
case Int8, Enum8:
907889
readerMethod = "readByte";
908890
readerMethodReturnType = Type.getDescriptor(byte.class);
909891
break;
910892
case UInt8:
911893
readerMethod = "readUnsignedByte";
912894
readerMethodReturnType = Type.getDescriptor(short.class);
913895
break;
914-
case Int16:
896+
case Int16, Enum16:
915897
readerMethod = "readShortLE";
916898
readerMethodReturnType = Type.getDescriptor(short.class);
917899
break;
@@ -945,14 +927,6 @@ private static void binaryReaderMethodForType(MethodVisitor mv, Class<?> targetT
945927
readerMethodReturnType = Type.getDescriptor(double.class);
946928
convertOpcode = doubleToOpcode(targetType);
947929
break;
948-
case Enum8:
949-
readerMethod = "readByte";
950-
readerMethodReturnType = Type.getDescriptor(byte.class);
951-
break;
952-
case Enum16:
953-
readerMethod = "readShortLE";
954-
readerMethodReturnType = Type.getDescriptor(short.class);
955-
break;
956930
default:
957931
throw new ClientException("Column type '" + dataType + "' cannot be set to a primitive type '" + targetType + "'");
958932
}
@@ -1058,7 +1032,7 @@ public static void writeBoolean(OutputStream output, boolean value) throws IOExc
10581032
}
10591033

10601034
public static void writeDate(OutputStream output, Object value, ZoneId targetTz) throws IOException {
1061-
int epochDays = 0;
1035+
int epochDays;
10621036
if (value instanceof LocalDate) {
10631037
LocalDate d = (LocalDate) value;
10641038
epochDays = (int) d.atStartOfDay(targetTz).toLocalDate().toEpochDay();
@@ -1072,7 +1046,7 @@ public static void writeDate(OutputStream output, Object value, ZoneId targetTz)
10721046
}
10731047

10741048
public static void writeDate32(OutputStream output, Object value, ZoneId targetTz) throws IOException {
1075-
int epochDays= 0;
1049+
int epochDays;
10761050
if (value instanceof LocalDate) {
10771051
LocalDate d = (LocalDate) value;
10781052
epochDays = (int) d.atStartOfDay(targetTz).toLocalDate().toEpochDay();

client-v2/src/main/java/com/clickhouse/client/api/http/ClickHouseHttpProto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public class ClickHouseHttpProto {
6060
public static final String QPARAM_ROLE = "role";
6161

6262
/**
63-
* Query statement string ( ex. {@code INSERT INTO mytable }
63+
* Query statement string ( ex. {@code INSERT INTO mytable } )
6464
*/
6565
public static final String QPARAM_QUERY_STMT = "query";
6666

client-v2/src/main/java/com/clickhouse/client/api/insert/InsertSettings.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.clickhouse.client.api.insert;
22

3-
import com.clickhouse.client.ClickHouseProtocol;
43
import com.clickhouse.client.api.Client;
54
import com.clickhouse.client.api.ClientConfigProperties;
6-
import com.clickhouse.client.api.enums.Protocol;
75
import com.clickhouse.client.api.internal.ValidationUtils;
86
import org.apache.hc.core5.http.HttpHeaders;
97

0 commit comments

Comments
 (0)