Package io.debezium.connector.oracle
Class OracleValueConverters
java.lang.Object
io.debezium.jdbc.JdbcValueConverters
io.debezium.connector.oracle.OracleValueConverters
- All Implemented Interfaces:
ValueConverterProvider
- Direct Known Subclasses:
OpenLogReplicatorValueConverter
-
Nested Class Summary
Nested classes/interfaces inherited from class io.debezium.jdbc.JdbcValueConverters
JdbcValueConverters.BigIntUnsignedMode, JdbcValueConverters.DecimalMode -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final OracleConnectionstatic final Stringstatic final Stringprivate static final ZoneIdstatic final Stringstatic final Stringprivate static final Patternprivate final OracleConnectorConfig.IntervalHandlingModeprivate final booleanprivate static final BigDecimalprivate static final DateTimeFormatterprivate static final DateTimeFormatterprivate static final DateTimeFormatterprivate static final Patternprivate static final Patternprivate static final Patternstatic final ObjectMarker value indicating an unavilable column value.private final byte[]private final StringFields inherited from class io.debezium.jdbc.JdbcValueConverters
adaptiveTimeMicrosecondsPrecisionMode, adaptiveTimePrecisionMode, adjuster, bigIntUnsignedMode, binaryMode, decimalMode, defaultOffset, fallbackTimestampWithTimeZone, logger -
Constructor Summary
ConstructorsConstructorDescriptionOracleValueConverters(OracleConnectorConfig config, OracleConnection connection) -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectconvertBinary(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data, CommonConnectorConfig.BinaryHandlingMode mode) protected ObjectconvertBoolean(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) Converts a value object for an expected JDBC type ofTypes.BOOLEAN.protected ObjectconvertDecimal(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertDouble(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertFloat(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertInteger(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertIntervalDaySecond(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertIntervalYearMonth(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertNumeric(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertNumericAsBigInteger(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertNumericAsInteger(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertNumericAsSmallInt(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertNumericAsTinyInt(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) private voidprivate voidprotected ObjectconvertString(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampToEpochMicros(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampToEpochMillis(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampToEpochMillisAsDate(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampToEpochNanos(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampWithLocalZone(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTimestampWithZone(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertTinyInt(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectconvertVariableScale(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) protected ObjectfromOracleTimeClasses(Column column, Object data) private StringgetHexToRawHexString(String hexToRawValue) Get theHEXTORAWfunction argument, removing the function call prefix/suffix if present.private ValueConvertergetNumericConverter(Column column, org.apache.kafka.connect.data.Field fieldDefn) private org.apache.kafka.connect.data.SchemaBuildergetNumericSchema(Column column) byte[]private booleanisHexToRawFunctionCall(String value) Returns whether the provided value is aHEXTORAWfunction, formatHEXTORAW('<hex>').private Instantorg.apache.kafka.connect.data.SchemaBuilderschemaBuilder(Column column) private org.apache.kafka.connect.data.SchemaBuildervariableScaleSchema(Column column) protected BigDecimalwithScaleAdjustedIfNeeded(Column column, BigDecimal data) Methods inherited from class io.debezium.jdbc.JdbcValueConverters
byteOrderOfBitType, convertBigInt, convertBinaryToBase64, convertBinaryToBase64UrlSafe, convertBinaryToBytes, convertBinaryToHex, convertBit, convertBits, convertBits, convertDateToEpochDays, convertDateToEpochDaysAsDate, convertReal, convertRowId, convertSmallInt, convertTime, convertTimeToMicrosPastMidnight, convertTimeToMillisPastMidnight, convertTimeToMillisPastMidnightAsDate, convertTimeToNanosPastMidnight, convertTimeWithZone, convertValue, getTimePrecision, handleUnknownData, normalizeBinaryData, padLittleEndian, toBigDecimal, toByteBuffer, unexpectedBinary
-
Field Details
-
UNAVAILABLE_VALUE
Marker value indicating an unavilable column value. -
EMPTY_BLOB_FUNCTION
- See Also:
-
EMPTY_CLOB_FUNCTION
- See Also:
-
HEXTORAW_FUNCTION_START
- See Also:
-
HEXTORAW_FUNCTION_END
- See Also:
-
INTERVAL_DAY_SECOND_PATTERN
-
GMT_ZONE_ID
-
TIMESTAMP_FORMATTER
-
TIMESTAMP_AM_PM_SHORT_FORMATTER
-
TIMESTAMP_TZ_FORMATTER
-
TO_TIMESTAMP
-
TO_TIMESTAMP_TZ
-
TO_DATE
-
MICROSECONDS_PER_SECOND
-
connection
-
lobEnabled
private final boolean lobEnabled -
intervalHandlingMode
-
-
Constructor Details
-
OracleValueConverters
-
-
Method Details
-
schemaBuilder
- Specified by:
schemaBuilderin interfaceValueConverterProvider- Overrides:
schemaBuilderin classJdbcValueConverters
-
getNumericSchema
-
variableScaleSchema
-
converter
- Specified by:
converterin interfaceValueConverterProvider- Overrides:
converterin classJdbcValueConverters
-
getNumericConverter
private ValueConverter getNumericConverter(Column column, org.apache.kafka.connect.data.Field fieldDefn) -
withScaleAdjustedIfNeeded
- Overrides:
withScaleAdjustedIfNeededin classJdbcValueConverters
-
convertString
protected Object convertString(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertStringin classJdbcValueConverters
-
convertBinary
protected Object convertBinary(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data, CommonConnectorConfig.BinaryHandlingMode mode) - Overrides:
convertBinaryin classJdbcValueConverters
-
convertInteger
protected Object convertInteger(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertIntegerin classJdbcValueConverters
-
convertFloat
protected Object convertFloat(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertFloatin classJdbcValueConverters
-
convertDouble
protected Object convertDouble(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertDoublein classJdbcValueConverters
-
convertDecimal
protected Object convertDecimal(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertDecimalin classJdbcValueConverters
-
convertNumeric
protected Object convertNumeric(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertNumericin classJdbcValueConverters
-
convertNumericAsTinyInt
-
convertNumericAsSmallInt
-
convertNumericAsInteger
-
convertNumericAsBigInteger
-
convertBoolean
protected Object convertBoolean(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) Converts a value object for an expected JDBC type ofTypes.BOOLEAN.- Overrides:
convertBooleanin classJdbcValueConverters- Parameters:
column- the column definition describing thedatavalue; never nullfieldDefn- the field definition; never nulldata- the data object to be converted into aKafka Connect datetype; never null- Returns:
- the converted value, or null if the conversion could not be made and the column allows nulls
- Throws:
IllegalArgumentException- if the value could not be converted but the column does not allow nulls
-
convertTinyInt
protected Object convertTinyInt(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTinyIntin classJdbcValueConverters
-
convertVariableScale
-
fromOracleTimeClasses
-
convertTimestampToEpochMillisAsDate
protected Object convertTimestampToEpochMillisAsDate(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTimestampToEpochMillisAsDatein classJdbcValueConverters
-
convertTimestampToEpochMicros
protected Object convertTimestampToEpochMicros(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTimestampToEpochMicrosin classJdbcValueConverters
-
convertTimestampToEpochMillis
protected Object convertTimestampToEpochMillis(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTimestampToEpochMillisin classJdbcValueConverters
-
convertTimestampToEpochNanos
protected Object convertTimestampToEpochNanos(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTimestampToEpochNanosin classJdbcValueConverters
-
resolveTimestampStringAsInstant
-
convertTimestampWithZone
protected Object convertTimestampWithZone(Column column, org.apache.kafka.connect.data.Field fieldDefn, Object data) - Overrides:
convertTimestampWithZonein classJdbcValueConverters
-
convertTimestampWithLocalZone
-
convertIntervalYearMonth
-
convertOracleIntervalYearMonth
-
convertIntervalDaySecond
-
convertOracleIntervalDaySecond
-
getHexToRawHexString
Get theHEXTORAWfunction argument, removing the function call prefix/suffix if present.- Parameters:
hexToRawValue- the hex-to-raw string, optionally wrapped by the function call, nevernull- Returns:
- the hex-to-raw argument, never
null.
-
isHexToRawFunctionCall
Returns whether the provided value is aHEXTORAWfunction, formatHEXTORAW('<hex>').- Parameters:
value- the value to inspect and validate, may benull- Returns:
- true if the value is a
HEXTORAWfunction call; false otherwise.