Class TinyIntOneToBooleanConverter

java.lang.Object
io.debezium.connector.mysql.converters.TinyIntOneToBooleanConverter
All Implemented Interfaces:
io.debezium.spi.converter.CustomConverter<org.apache.kafka.connect.data.SchemaBuilder,io.debezium.spi.converter.RelationalColumn>

public class TinyIntOneToBooleanConverter extends Object implements io.debezium.spi.converter.CustomConverter<org.apache.kafka.connect.data.SchemaBuilder,io.debezium.spi.converter.RelationalColumn>
MySQL reports BOOLEAN values as TINYINT(1) in snapshot phase even as a result of DESCRIBE CREATE TABLE. This custom converter allows user to handle all TINYINT(1) fields as BOOLEAN or provide a set of regexes to match only subset of tables/columns.
Author:
Jiri Pechanec
  • Field Details

    • FALLBACK

      private static final Boolean FALLBACK
    • SELECTOR_PROPERTY

      public static final String SELECTOR_PROPERTY
      See Also:
    • LENGTH_CHECKER

      public static final String LENGTH_CHECKER
      See Also:
    • TINYINT_FAMILY

      private static final List<String> TINYINT_FAMILY
    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • selector

      private Predicate<io.debezium.spi.converter.RelationalColumn> selector
    • lengthChecker

      private boolean lengthChecker
  • Constructor Details

    • TinyIntOneToBooleanConverter

      public TinyIntOneToBooleanConverter()
  • Method Details

    • configure

      public void configure(Properties props)
      Specified by:
      configure in interface io.debezium.spi.converter.CustomConverter<org.apache.kafka.connect.data.SchemaBuilder,io.debezium.spi.converter.RelationalColumn>
    • converterFor

      public void converterFor(io.debezium.spi.converter.RelationalColumn field, io.debezium.spi.converter.CustomConverter.ConverterRegistration<org.apache.kafka.connect.data.SchemaBuilder> registration)
      Specified by:
      converterFor in interface io.debezium.spi.converter.CustomConverter<org.apache.kafka.connect.data.SchemaBuilder,io.debezium.spi.converter.RelationalColumn>