Skip to content

Commit ea44bc5

Browse files
committed
Add methods for creating multiple values in one go
1 parent 18708db commit ea44bc5

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

clickhouse-client/src/main/java/com/clickhouse/client/ClickHouseValues.java

+41
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.time.temporal.ChronoField;
2424
import java.util.Collection;
2525
import java.util.Enumeration;
26+
import java.util.List;
2627
import java.util.Map;
2728
import java.util.TimeZone;
2829
import java.util.UUID;
@@ -970,6 +971,46 @@ public static Object extractSingleValue(Map<?, ?> value) {
970971
return value.values().iterator().next();
971972
}
972973

974+
/**
975+
* Creates multiple values based on given columns.
976+
*
977+
* @param config non-null configuration
978+
* @param columns non-null columns
979+
* @return non-null values with default value, either null or empty
980+
*/
981+
public static ClickHouseValue[] newValues(ClickHouseConfig config, List<ClickHouseColumn> columns) {
982+
if (columns == null || columns.isEmpty()) {
983+
return EMPTY_VALUES;
984+
}
985+
986+
ClickHouseValue[] values = new ClickHouseValue[columns.size()];
987+
int index = 0;
988+
for (ClickHouseColumn c : columns) {
989+
values[index++] = newValue(config, c);
990+
}
991+
return values;
992+
}
993+
994+
/**
995+
* Creates multiple values based on given columns.
996+
*
997+
* @param config non-null configuration
998+
* @param columns non-null columns
999+
* @return non-null values with default value, either null or empty
1000+
*/
1001+
public static ClickHouseValue[] newValues(ClickHouseConfig config, ClickHouseColumn[] columns) {
1002+
if (columns == null || columns.length == 0) {
1003+
return EMPTY_VALUES;
1004+
}
1005+
1006+
int len = columns.length;
1007+
ClickHouseValue[] values = new ClickHouseValue[len];
1008+
for (int i = 0; i < len; i++) {
1009+
values[i] = newValue(config, columns[i]);
1010+
}
1011+
return values;
1012+
}
1013+
9731014
/**
9741015
* Creates a value object based on given column.
9751016
*

0 commit comments

Comments
 (0)