public class PostgresValueConverter extends JdbcValueConverters
ValueConverters and SchemaBuilders for various Postgres specific column types.
In addition to handling data type conversion from values coming from JDBC, this is also expected to handle data type
conversion for data types coming from the logical decoding plugin.JdbcValueConverters.DecimalMode| Modifier and Type | Field and Description |
|---|---|
protected static double |
DAYS_PER_MONTH_AVG
The approximation used by the plugin when converting a duration to micros
|
logger| Modifier | Constructor and Description |
|---|---|
protected |
PostgresValueConverter(boolean adaptiveTimePrecision,
ZoneOffset defaultOffset) |
| Modifier and Type | Method and Description |
|---|---|
protected Object |
convertBit(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertBits(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data,
int numBytes) |
ValueConverter |
converter(Column column,
org.apache.kafka.connect.data.Field fieldDefn) |
protected Object |
convertInterval(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertMoney(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertPoint(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data)
Converts a value representing a Postgres point for a column, to a Kafka Connect value.
|
protected Object |
convertTimestampToEpochMicros(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertTimestampToEpochMillis(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertTimestampToEpochMillisAsDate(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertTimestampToEpochNanos(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertTimestampWithZone(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
protected Object |
convertTimeWithZone(Column column,
org.apache.kafka.connect.data.Field fieldDefn,
Object data) |
private static LocalDateTime |
nanosToLocalDateTimeUTC(long epocNanos) |
org.apache.kafka.connect.data.SchemaBuilder |
schemaBuilder(Column column) |
byteOrderOfBitType, convertBigInt, convertBinary, convertBits, convertBoolean, convertByteArray, convertDateToEpochDays, convertDateToEpochDaysAsDate, convertDecimal, convertDouble, convertFloat, convertInteger, convertNumeric, convertReal, convertRowId, convertSmallInt, convertString, convertTimeToMicrosPastMidnight, convertTimeToMillisPastMidnight, convertTimeToMillisPastMidnightAsDate, convertTimeToNanosPastMidnight, convertTinyInt, handleUnknownData, padLittleEndian, unexpectedBinaryprotected static final double DAYS_PER_MONTH_AVG
protected PostgresValueConverter(boolean adaptiveTimePrecision,
ZoneOffset defaultOffset)
public org.apache.kafka.connect.data.SchemaBuilder schemaBuilder(Column column)
schemaBuilder in interface ValueConverterProviderschemaBuilder in class JdbcValueConverterspublic ValueConverter converter(Column column, org.apache.kafka.connect.data.Field fieldDefn)
converter in interface ValueConverterProviderconverter in class JdbcValueConvertersprotected Object convertBit(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertBit in class JdbcValueConvertersprotected Object convertBits(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data, int numBytes)
convertBits in class JdbcValueConvertersprotected Object convertMoney(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
protected Object convertInterval(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
protected Object convertTimestampToEpochMillis(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimestampToEpochMillis in class JdbcValueConvertersprotected Object convertTimestampToEpochMicros(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimestampToEpochMicros in class JdbcValueConvertersprotected Object convertTimestampToEpochNanos(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimestampToEpochNanos in class JdbcValueConvertersprotected Object convertTimestampToEpochMillisAsDate(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimestampToEpochMillisAsDate in class JdbcValueConvertersprotected Object convertTimestampWithZone(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimestampWithZone in class JdbcValueConvertersprotected Object convertTimeWithZone(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
convertTimeWithZone in class JdbcValueConvertersprivate static LocalDateTime nanosToLocalDateTimeUTC(long epocNanos)
protected Object convertPoint(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data)
column - the JDBC column; never nullfieldDefn - the Connect field definition for this column; never nulldata - a data for the point column, either coming from the JDBC driver or logical decoding pluginCopyright © 2017 JBoss by Red Hat. All rights reserved.