Package com.clickhouse.client
Class ClickHouseValues
- java.lang.Object
-
- com.clickhouse.client.ClickHouseValues
-
public final class ClickHouseValues extends Object
Help class for dealing with values.
-
-
Field Summary
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static BigInteger
convertToBigInteger(Inet4Address value)
Converts IP address to big integer.static BigInteger
convertToBigInteger(Inet6Address value)
Converts IP address to big integer.static BigInteger
convertToBigInteger(UUID value)
Converts UUID to big integer.static LocalDateTime
convertToDateTime(BigDecimal value)
Converts big decimal to date time.static ZonedDateTime
convertToDateTime(BigDecimal value, ZoneId zone)
Converts big decimal to date time.static OffsetDateTime
convertToDateTime(BigDecimal value, ZoneOffset offset)
Converts big decimal to date time.static ZonedDateTime
convertToDateTime(BigDecimal value, TimeZone tz)
Converts big decimal to date time.static String
convertToHexString(byte[] bytes)
Converts given byte array to string in hexadecimal format.static Instant
convertToInstant(BigDecimal value)
Converts big decimal to instant.static Inet4Address
convertToIpv4(int value)
Converts integer to IPv4 address.static Inet4Address
convertToIpv4(String value)
Converts string to IPv4 address.static Inet4Address
convertToIpv4(Inet6Address value)
Converts IPv6 address to IPv4 address if applicable.static Inet6Address
convertToIpv6(String value)
Converts string to IPv6 address.static Inet6Address
convertToIpv6(BigInteger value)
Converts big integer to IPv6 address.static Inet6Address
convertToIpv6(Inet4Address value)
Converts IPv4 address to IPv6 address.static String
convertToQuotedString(Object value)
Converts object to quoted string.static String
convertToSqlExpression(Object value)
Converts abitrary object to an expression that can be used in SQL query.static String
convertToString(boolean[] value)
Converts boolean array to compact string.static String
convertToString(byte[] value)
Converts byte array to compact string.static String
convertToString(char[] value)
Converts character array to compact string.static String
convertToString(double[] value)
Converts double array to compact string.static String
convertToString(float[] value)
Converts float array to compact string.static String
convertToString(int[] value)
Converts integer array to compact string.static String
convertToString(long[] value)
Converts long array to compact string.static String
convertToString(short[] value)
Converts short array to compact string.static String
convertToString(ClickHouseValue value)
Converts given value object to string.static String
convertToString(Object value)
Converts object to string.static String
convertToUnhexExpression(byte[] bytes)
Converts given byte array to unhex() expression.static UUID
convertToUuid(BigInteger value)
Converts big integer to UUID.static <T> T[]
createObjectArray(Class<T> clazz, int length, int level)
Creates an object array.static Object
createPrimitiveArray(Class<?> clazz, int length, int level)
Creates a primitive array if applicable.static Object
extractSingleValue(Collection<?> value)
Extract one and only value from singleton collection.static Object
extractSingleValue(Enumeration<?> value)
Extract one and only value from singleton enumeration.static Object
extractSingleValue(Map<?,?> value)
Extract one and only value from singleton map - key will be ignored.static ClickHouseValue
newValue(ClickHouseConfig config, ClickHouseColumn column)
Creates a value object based on given column.static ClickHouseValue
newValue(ClickHouseConfig config, ClickHouseDataType type)
Creates a value object based on given data type.
-
-
-
Field Detail
-
BIGINT_HL_BOUNDARY
public static final BigInteger BIGINT_HL_BOUNDARY
-
BIGINT_SL_BOUNDARY
public static final BigInteger BIGINT_SL_BOUNDARY
-
DATE_ZERO
public static final LocalDate DATE_ZERO
-
DATETIME_ZERO
public static final LocalDateTime DATETIME_ZERO
-
TIME_ZERO
public static final LocalTime TIME_ZERO
-
EMPTY_OBJECT_ARRAY
public static final Object[] EMPTY_OBJECT_ARRAY
-
EMPTY_BYTE_ARRAY
public static final byte[] EMPTY_BYTE_ARRAY
-
EMPTY_SHORT_ARRAY
public static final short[] EMPTY_SHORT_ARRAY
-
EMPTY_INT_ARRAY
public static final int[] EMPTY_INT_ARRAY
-
EMPTY_LONG_ARRAY
public static final long[] EMPTY_LONG_ARRAY
-
EMPTY_FLOAT_ARRAY
public static final float[] EMPTY_FLOAT_ARRAY
-
EMPTY_DOUBLE_ARRAY
public static final double[] EMPTY_DOUBLE_ARRAY
-
EMPTY_ARRAY_EXPR
public static final String EMPTY_ARRAY_EXPR
- See Also:
- Constant Field Values
-
EMPTY_STRING_EXPR
public static final String EMPTY_STRING_EXPR
- See Also:
- Constant Field Values
-
NANOS
public static final BigDecimal NANOS
-
DATE_FORMATTER
public static final DateTimeFormatter DATE_FORMATTER
-
TIME_FORMATTER
public static final DateTimeFormatter TIME_FORMATTER
-
DATETIME_FORMATTER
public static final DateTimeFormatter DATETIME_FORMATTER
-
UTC_TIMEZONE
public static final TimeZone UTC_TIMEZONE
-
SYS_TIMEZONE
public static final TimeZone SYS_TIMEZONE
-
UTC_ZONE
public static final ZoneId UTC_ZONE
-
SYS_ZONE
public static final ZoneId SYS_ZONE
-
NULL_EXPR
public static final String NULL_EXPR
- See Also:
- Constant Field Values
-
NAN_EXPR
public static final String NAN_EXPR
- See Also:
- Constant Field Values
-
INF_EXPR
public static final String INF_EXPR
- See Also:
- Constant Field Values
-
NINF_EXPR
public static final String NINF_EXPR
- See Also:
- Constant Field Values
-
ERROR_INVALID_POINT
public static final String ERROR_INVALID_POINT
- See Also:
- Constant Field Values
-
ERROR_SINGLETON_ARRAY
public static final String ERROR_SINGLETON_ARRAY
- See Also:
- Constant Field Values
-
ERROR_SINGLETON_COLLECTION
public static final String ERROR_SINGLETON_COLLECTION
- See Also:
- Constant Field Values
-
ERROR_SINGLETON_MAP
public static final String ERROR_SINGLETON_MAP
- See Also:
- Constant Field Values
-
PARAM_PRECISION
public static final String PARAM_PRECISION
- See Also:
- Constant Field Values
-
PARAM_SCALE
public static final String PARAM_SCALE
- See Also:
- Constant Field Values
-
TYPE_BOOLEAN
public static final String TYPE_BOOLEAN
- See Also:
- Constant Field Values
-
TYPE_CHAR
public static final String TYPE_CHAR
- See Also:
- Constant Field Values
-
TYPE_BYTE
public static final String TYPE_BYTE
- See Also:
- Constant Field Values
-
TYPE_SHORT
public static final String TYPE_SHORT
- See Also:
- Constant Field Values
-
TYPE_INT
public static final String TYPE_INT
- See Also:
- Constant Field Values
-
TYPE_LONG
public static final String TYPE_LONG
- See Also:
- Constant Field Values
-
TYPE_FLOAT
public static final String TYPE_FLOAT
- See Also:
- Constant Field Values
-
TYPE_DOUBLE
public static final String TYPE_DOUBLE
- See Also:
- Constant Field Values
-
TYPE_BIG_DECIMAL
public static final String TYPE_BIG_DECIMAL
- See Also:
- Constant Field Values
-
TYPE_BIG_INTEGER
public static final String TYPE_BIG_INTEGER
- See Also:
- Constant Field Values
-
TYPE_DATE
public static final String TYPE_DATE
- See Also:
- Constant Field Values
-
TYPE_TIME
public static final String TYPE_TIME
- See Also:
- Constant Field Values
-
TYPE_DATE_TIME
public static final String TYPE_DATE_TIME
- See Also:
- Constant Field Values
-
TYPE_ENUM
public static final String TYPE_ENUM
- See Also:
- Constant Field Values
-
TYPE_IPV4
public static final String TYPE_IPV4
- See Also:
- Constant Field Values
-
TYPE_IPV6
public static final String TYPE_IPV6
- See Also:
- Constant Field Values
-
TYPE_STRING
public static final String TYPE_STRING
- See Also:
- Constant Field Values
-
TYPE_UUID
public static final String TYPE_UUID
- See Also:
- Constant Field Values
-
TYPE_OBJECT
public static final String TYPE_OBJECT
- See Also:
- Constant Field Values
-
TYPE_ARRAY
public static final String TYPE_ARRAY
- See Also:
- Constant Field Values
-
TYPE_MAP
public static final String TYPE_MAP
- See Also:
- Constant Field Values
-
TYPE_NESTED
public static final String TYPE_NESTED
- See Also:
- Constant Field Values
-
TYPE_TUPLE
public static final String TYPE_TUPLE
- See Also:
- Constant Field Values
-
TYPE_POINT
public static final String TYPE_POINT
- See Also:
- Constant Field Values
-
TYPE_RING
public static final String TYPE_RING
- See Also:
- Constant Field Values
-
TYPE_POLYGON
public static final String TYPE_POLYGON
- See Also:
- Constant Field Values
-
TYPE_MULTI_POLYGON
public static final String TYPE_MULTI_POLYGON
- See Also:
- Constant Field Values
-
TYPE_CLASS
public static final String TYPE_CLASS
- See Also:
- Constant Field Values
-
-
Method Detail
-
convertToBigInteger
public static BigInteger convertToBigInteger(Inet4Address value)
Converts IP address to big integer.- Parameters:
value
- IP address- Returns:
- big integer
-
convertToBigInteger
public static BigInteger convertToBigInteger(Inet6Address value)
Converts IP address to big integer.- Parameters:
value
- IP address- Returns:
- big integer
-
convertToBigInteger
public static BigInteger convertToBigInteger(UUID value)
Converts UUID to big integer.- Parameters:
value
- UUID- Returns:
- big integer
-
convertToHexString
public static String convertToHexString(byte[] bytes)
Converts given byte array to string in hexadecimal format.- Parameters:
bytes
- byte array- Returns:
- non-null string
-
convertToUnhexExpression
public static String convertToUnhexExpression(byte[] bytes)
Converts given byte array to unhex() expression.- Parameters:
bytes
- byte array- Returns:
- non-null expression
-
convertToInstant
public static Instant convertToInstant(BigDecimal value)
Converts big decimal to instant.- Parameters:
value
- big decimal- Returns:
- instant
-
convertToDateTime
public static LocalDateTime convertToDateTime(BigDecimal value)
Converts big decimal to date time.- Parameters:
value
- big decimal- Returns:
- date time
-
convertToDateTime
public static ZonedDateTime convertToDateTime(BigDecimal value, TimeZone tz)
Converts big decimal to date time.- Parameters:
value
- big decimaltz
- time zone, null is treated as UTC- Returns:
- date time
-
convertToDateTime
public static ZonedDateTime convertToDateTime(BigDecimal value, ZoneId zone)
Converts big decimal to date time.- Parameters:
value
- big decimalzone
- zone id, null is treated as UTC- Returns:
- date time
-
convertToDateTime
public static OffsetDateTime convertToDateTime(BigDecimal value, ZoneOffset offset)
Converts big decimal to date time.- Parameters:
value
- big decimaloffset
- zone offset, null is treated asZoneOffset.UTC
- Returns:
- date time
-
convertToIpv4
public static Inet4Address convertToIpv4(Inet6Address value)
Converts IPv6 address to IPv4 address if applicable.- Parameters:
value
- IPv6 address- Returns:
- IPv4 address
- Throws:
IllegalArgumentException
- when failed to convert to IPv4 address
-
convertToIpv4
public static Inet4Address convertToIpv4(int value)
Converts integer to IPv4 address.- Parameters:
value
- integer- Returns:
- IPv4 address
-
convertToIpv4
public static Inet4Address convertToIpv4(String value)
Converts string to IPv4 address.- Parameters:
value
- string- Returns:
- IPv4 address
- Throws:
IllegalArgumentException
- when failed to convert to IPv4 address
-
convertToIpv6
public static Inet6Address convertToIpv6(BigInteger value)
Converts big integer to IPv6 address.- Parameters:
value
- big integer- Returns:
- IPv6 address
- Throws:
IllegalArgumentException
- when failed to convert to IPv6 address
-
convertToIpv6
public static Inet6Address convertToIpv6(Inet4Address value)
Converts IPv4 address to IPv6 address.- Parameters:
value
- IPv4 address- Returns:
- IPv6 address
- Throws:
IllegalArgumentException
- when failed to convert to IPv6 address
-
convertToIpv6
public static Inet6Address convertToIpv6(String value)
Converts string to IPv6 address.- Parameters:
value
- string- Returns:
- IPv6 address
- Throws:
IllegalArgumentException
- when failed to convert to IPv6 address
-
convertToSqlExpression
public static String convertToSqlExpression(Object value)
Converts abitrary object to an expression that can be used in SQL query.- Parameters:
value
- value may or may not be null- Returns:
- escaped SQL expression
-
convertToString
public static String convertToString(boolean[] value)
Converts boolean array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- boolean array- Returns:
- string
-
convertToString
public static String convertToString(char[] value)
Converts character array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- character array- Returns:
- string
-
convertToString
public static String convertToString(byte[] value)
Converts byte array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- byte array- Returns:
- string
-
convertToString
public static String convertToString(short[] value)
Converts short array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- short array- Returns:
- string
-
convertToString
public static String convertToString(int[] value)
Converts integer array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- integer array- Returns:
- string
-
convertToString
public static String convertToString(long[] value)
Converts long array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- long array- Returns:
- string
-
convertToString
public static String convertToString(float[] value)
Converts float array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- float array- Returns:
- string
-
convertToString
public static String convertToString(double[] value)
Converts double array to compact string. Similar asArrays.toString()
but without any whitespace.- Parameters:
value
- double array- Returns:
- string
-
convertToString
public static String convertToString(ClickHouseValue value)
Converts given value object to string.- Parameters:
value
- value object- Returns:
- string
-
convertToString
public static String convertToString(Object value)
Converts object to string. Same asString.valueOf()
.- Parameters:
value
- object may or may not be null- Returns:
- string representation of the object
-
convertToUuid
public static UUID convertToUuid(BigInteger value)
Converts big integer to UUID.- Parameters:
value
- big integer- Returns:
- UUID
-
convertToQuotedString
public static String convertToQuotedString(Object value)
Converts object to quoted string.- Parameters:
value
- object may or may not be null- Returns:
- quoted string representing the object
-
createObjectArray
public static <T> T[] createObjectArray(Class<T> clazz, int length, int level)
Creates an object array. Primitive types will be converted to corresponding wrapper types, alsoBoolean
/boolean
will be converted toByte
, andCharacter
/char
toInteger
.- Type Parameters:
T
- type of the base element- Parameters:
clazz
- class of the base element, null is treated asObject.class
length
- length of the array, negative is treated as zerolevel
- level of the array, must between 1 and 255- Returns:
- a non-null object array
-
createPrimitiveArray
public static Object createPrimitiveArray(Class<?> clazz, int length, int level)
Creates a primitive array if applicable. Wrapper types will be converted to corresponding primitive types, alsoBoolean
/boolean
will be converted tobyte
, andCharacter
/char
toint
.- Parameters:
clazz
- class of the base elementlength
- length of the array, negative is treated as zerolevel
- level of the array, must between 1 and 255- Returns:
- a primitive array if applicable; an object array otherwise
-
extractSingleValue
public static Object extractSingleValue(Collection<?> value)
Extract one and only value from singleton collection.- Parameters:
value
- singleton collection- Returns:
- value
- Throws:
IllegalArgumentException
- if the given collection is null or contains zero or more than one element
-
extractSingleValue
public static Object extractSingleValue(Enumeration<?> value)
Extract one and only value from singleton enumeration.- Parameters:
value
- singleton enumeration- Returns:
- value
- Throws:
IllegalArgumentException
- if the given enumeration is null or contains zero or more than one element
-
extractSingleValue
public static Object extractSingleValue(Map<?,?> value)
Extract one and only value from singleton map - key will be ignored.- Parameters:
value
- singleton map- Returns:
- value
- Throws:
IllegalArgumentException
- if the given map is null or contains zero or more than one element
-
newValue
public static ClickHouseValue newValue(ClickHouseConfig config, ClickHouseColumn column)
Creates a value object based on given column.- Parameters:
config
- non-null configurationcolumn
- non-null column- Returns:
- value object with default value, either null or empty
-
newValue
public static ClickHouseValue newValue(ClickHouseConfig config, ClickHouseDataType type)
Creates a value object based on given data type.- Parameters:
config
- non-null configurationtype
- non-null data type- Returns:
- value object with default value, either null or empty
-
-