Package com.clickhouse.data
Interface ClickHouseRecord
- All Superinterfaces:
Iterable<ClickHouseValue>,Serializable
- All Known Implementing Classes:
ClickHouseSimpleRecord
This defines a record returned from ClickHouse server. Usually it's a row but
sometimes it could a (nested) column, a (semi-)structured object, or even the
whole data set.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a new record by copying values from current one.getValue(int index) Gets deserialized value wrapped in an object using column index.Gets deserialized value wrapped in an object using case-insensitive column name, which usually is slower thangetValue(int).default Iterator<ClickHouseValue>iterator()intsize()Gets size of the record.Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
EMPTY
Empty record.
-
-
Method Details
-
copy
ClickHouseRecord copy()Creates a new record by copying values from current one.- Returns:
- a new record
-
getValue
Gets deserialized value wrapped in an object using column index. Please avoid to cache the wrapper object, as it's reused among records for memory efficiency whenClickHouseDataConfig.isReuseValueWrapper()returnstrue, which is the default value. So instead ofmap.put("my_value", record.getValue(0)), try something likemap.put("my_value", record.getValue(0).asString()).- Parameters:
index- zero-based index of the column- Returns:
- non-null wrapped value
-
getValue
Gets deserialized value wrapped in an object using case-insensitive column name, which usually is slower thangetValue(int). Please avoid to cache the wrapper object, as it's reused among records for memory efficiency whenClickHouseDataConfig.isReuseValueWrapper()returnstrue, which is the default value. So instead ofmap.put("my_value", record.getValue("my_column")), try something likemap.put("my_value", record.getValue("my_column").asString()).- Parameters:
name- case-insensitive name of the column- Returns:
- non-null wrapped value
-
iterator
- Specified by:
iteratorin interfaceIterable<ClickHouseValue>
-
size
int size()Gets size of the record.- Returns:
- size of the record
-