Package io.debezium.relational
Class RelationalDatabaseConnectorConfig
java.lang.Object
io.debezium.config.CommonConnectorConfig
io.debezium.relational.RelationalDatabaseConnectorConfig
- Direct Known Subclasses:
HistorizedRelationalDatabaseConnectorConfig
Configuration options shared across the relational CDC connectors.
- Author:
- Gunnar Morling
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe set of predefined DecimalHandlingMode options or aliases.static enumThe set of predefined DecimalHandlingMode options or aliases.Nested classes/interfaces inherited from class io.debezium.config.CommonConnectorConfig
CommonConnectorConfig.BinaryHandlingMode, CommonConnectorConfig.EventConvertingFailureHandlingMode, CommonConnectorConfig.EventProcessingFailureHandlingMode, CommonConnectorConfig.FieldNameAdjustmentMode, CommonConnectorConfig.GuardrailCollectionsLimitAction, CommonConnectorConfig.SchemaNameAdjustmentMode, CommonConnectorConfig.SnapshotQueryMode, CommonConnectorConfig.Version, CommonConnectorConfig.WatermarkStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match fully-qualified names of columns to be excluded from monitoring and change messages.static final io.debezium.config.FieldA comma-separated list of regular expressions that match fully-qualified names of columns to be excluded from monitoring and change messages.static final Stringprivate final Tables.ColumnNameFilterprivate final booleanprotected static final io.debezium.config.ConfigDefinitionstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match database names to be excluded from monitoring.protected static final Stringstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match database names to be monitored.protected static final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final longstatic final Stringprivate final FieldNameSelector.FieldNamer<Column> private final Stringstatic final io.debezium.config.Fieldstatic final Patternstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprivate final JdbcConfigurationprivate final Key.KeyMapperprivate static final org.slf4j.Loggerstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match schema names to be excluded from monitoring.protected static final Stringstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match schema names to be monitored.protected static final Stringstatic final io.debezium.config.FieldThe fully-qualified class name of the storage implementation for schema metadata.static final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring.protected static final Stringstatic final io.debezium.config.Fieldstatic final io.debezium.config.FieldA comma-separated list of regular expressions that match the fully-qualified names of tables to be monitored.protected static final Stringstatic final io.debezium.config.Fieldprivate final RelationalTableFiltersprivate final Selectors.TableIdToStringMapperprivate final TemporalPrecisionModestatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.FieldFields inherited from class io.debezium.config.CommonConnectorConfig
ADVANCED_METRICS_ENABLE, beanRegistry, BINARY_HANDLING_MODE, CONNECTION_VALIDATION_TIMEOUT_MS, CONNECTOR_CLASS, CUSTOM_CONVERTERS, CUSTOM_METRIC_TAGS, CUSTOM_POST_PROCESSORS, CUSTOM_RETRIABLE_EXCEPTION, CUSTOM_SANITIZE_PATTERN, DATABASE_CONFIG_PREFIX, DEFAULT_CONNECTION_VALIDATION_TIMEOUT_MS, DEFAULT_EXECUTOR_SHUTDOWN_TIMEOUT, DEFAULT_MAX_BATCH_SIZE, DEFAULT_MAX_QUEUE_SIZE, DEFAULT_MAX_QUEUE_SIZE_IN_BYTES, DEFAULT_MAX_RETRIES, DEFAULT_POLL_INTERVAL_MILLIS, DEFAULT_QUERY_FETCH_SIZE, DEFAULT_QUEUE_PROVIDER_TYPE, DEFAULT_RETRIABLE_RESTART_WAIT, DRIVER_CONFIG_PREFIX, ERRORS_MAX_RETRIES, EVENT_CONVERTING_FAILURE_HANDLING_MODE, EVENT_PROCESSING_FAILURE_HANDLING_MODE, EXECUTOR_SHUTDOWN_TIMEOUT_MS, EXTENDED_HEADERS_ENABLED, FIELD_NAME_ADJUSTMENT_MODE, GUARDRAIL_COLLECTIONS_LIMIT_ACTION, GUARDRAIL_COLLECTIONS_MAX, guardrailCollectionsLimitAction, guardrailCollectionsMax, INCREMENTAL_SNAPSHOT_ALLOW_SCHEMA_CHANGES, INCREMENTAL_SNAPSHOT_CHUNK_SIZE, INCREMENTAL_SNAPSHOT_WATERMARKING_STRATEGY, isAdvancedMetricsEnabled, isLogPositionCheckEnabled, isStatisticsMetricsEnabled, LEGACY_SNAPSHOT_MAX_THREADS, LOG_POSITION_CHECK_ENABLED, logicalName, MAX_BATCH_SIZE, MAX_QUEUE_SIZE, MAX_QUEUE_SIZE_IN_BYTES, MAX_RETRIES_ON_ERROR, MULTI_PARTITION_MODE, NOTIFICATION_CONFIGURATION_FIELD_PREFIX_STRING, NOTIFICATION_ENABLED_CHANNELS, OPEN_LINEAGE_INTEGRATION_CONFIG_FILE_PATH, OPEN_LINEAGE_INTEGRATION_DATASET_KAFKA_BOOTSTRAP_SERVER, OPEN_LINEAGE_INTEGRATION_ENABLED, OPEN_LINEAGE_INTEGRATION_JOB_DESCRIPTION, OPEN_LINEAGE_INTEGRATION_JOB_NAMESPACE, OPEN_LINEAGE_INTEGRATION_JOB_OWNERS, OPEN_LINEAGE_INTEGRATION_JOB_TAGS, POLL_INTERVAL_MS, PROVIDE_TRANSACTION_METADATA, QUERY_FETCH_SIZE, QUEUE_PROVIDER_TYPE, RETRIABLE_RESTART_WAIT, SCHEMA_NAME_ADJUSTMENT_MODE, serviceRegistry, SIGNAL_DATA_COLLECTION, SIGNAL_ENABLED_CHANNELS, SIGNAL_POLL_INTERVAL_MS, SKIP_MESSAGES_WITHOUT_CHANGE, SKIPPED_OPERATIONS, SNAPSHOT_DELAY_MS, SNAPSHOT_FETCH_SIZE, SNAPSHOT_LOCKING_MODE_CUSTOM_NAME, SNAPSHOT_LOCKING_MODE_PROPERTY_NAME, SNAPSHOT_MAX_THREADS, SNAPSHOT_MAX_THREADS_MULTIPLIER, SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_DATA, SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_DATA_ERROR, SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_ON_SCHEMA_ERROR, SNAPSHOT_MODE_CONFIGURATION_BASED_SNAPSHOT_SCHEMA, SNAPSHOT_MODE_CONFIGURATION_BASED_START_STREAM, SNAPSHOT_MODE_CUSTOM_NAME, SNAPSHOT_MODE_PROPERTY_NAME, SNAPSHOT_MODE_TABLES, SNAPSHOT_QUERY_MODE, SNAPSHOT_QUERY_MODE_CUSTOM_NAME, snapshotLockingModeCustomName, snapshotModeConfigurationBasedSnapshotData, snapshotModeConfigurationBasedSnapshotOnDataError, snapshotModeConfigurationBasedSnapshotOnSchemaError, snapshotModeConfigurationBasedSnapshotSchema, snapshotModeConfigurationBasedStream, snapshotQueryMode, snapshotQueryModeCustomName, SOURCE_INFO_STRUCT_MAKER, STATISTICS_METRICS_ENABLED, STREAMING_DELAY_MS, TOMBSTONES_ON_DELETE, TOPIC_NAME_PATTERN, TOPIC_NAMING_STRATEGY, TOPIC_PREFIX, TRANSACTION_METADATA_FACTORY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRelationalDatabaseConnectorConfig(io.debezium.config.Configuration config, Tables.TableFilter systemTablesFilter, Selectors.TableIdToStringMapper tableIdMapper, int defaultSnapshotFetchSize, ColumnFilterMode columnFilterMode, boolean useCatalogBeforeSchema) -
Method Summary
Modifier and TypeMethodDescriptioncreateSchemaStorage(boolean tableIdCaseInsensitive) Creates and configures a schema storage instance.createTableStorage(boolean tableIdCaseInsensitive) Creates and configures a table storage instance.Returns the Decimal mode Enum fordecimal.handling.modeconfiguration.Returns a "raw" configuration object exposing all the database driver related settings, without the "database." prefix.Returns any SELECT overrides, if present.Returns the temporal precision mode Enum fortime.precision.modeconfiguration.byte[]booleanbooleanbooleanprivate static intvalidateColumnExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateDatabaseExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field includeField, io.debezium.config.Field excludeField, io.debezium.config.Field.ValidationOutput problems) Validates that include and exclude lists are not both specified for the same filter type.private static intvalidateHostname(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateMessageKeyColumnsField(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateSchemaExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) private static intvalidateTableExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) Methods inherited from class io.debezium.config.CommonConnectorConfig
binaryHandlingMode, createCustomMetricTags, createHeartbeat, customRetriableException, fieldNameAdjuster, getBeanRegistry, getConfig, getConnectionValidationTimeout, getConnectorName, getContextName, getCustomMetricTags, getDataCollectionsToBeSnapshotted, getEnabledChannels, getEnabledNotificationChannels, getEventConvertingFailureHandlingMode, getEventProcessingFailureHandlingMode, getExecutorShutdownTimeout, getGuardrailCollectionsLimitAction, getGuardrailCollectionsMax, getHeartbeatInterval, getHeartbeatTopicsPrefix, getIncrementalSnapshotChunkSize, getIncrementalSnapshotWatermarkingStrategy, getLogicalName, getMaxBatchSize, getMaxQueueSize, getMaxQueueSizeInBytes, getMaxRetriesOnError, getMaxSnapshotMaxThreadsMultiplier, getNotificationTopic, getPollInterval, getQueryFetchSize, getQueueProviderType, getServiceRegistry, getSignalingDataCollectionIds, getSignalingDataCollectionTableIds, getSignalPollInterval, getSkippedOperations, getSnapshotDelay, getSnapshotFetchSize, getSnapshotLockingMode, getSnapshotMaxThreads, getSnapshotMaxThreadsMultiplier, getSnapshotMaxThreadsTableMultiplierAsInteger, getSnapshotMode, getSnapshotModeCustomName, getSourceInfoStructMaker, getSourceInfoStructMaker, getSourceInfoStructMaker, getStreamingDelay, getTaskId, getTopicNamingStrategy, getTopicNamingStrategy, getTransactionMetadataFactory, getTransactionMetadataFactory, isAdvancedMetricsEnabled, isEmitTombstoneOnDelete, isExtendedHeadersEnabled, isIncrementalSnapshotSchemaChangesEnabled, isLegacySnapshotMaxThreads, isLogPositionCheckEnabled, isSignalDataCollection, isStatisticsMetricsEnabled, parseSignallingMessage, schemaNameAdjuster, setHeartbeatInterval, shouldProvideTransactionMetadata, skipMessagesWithoutChange, snapshotLockingModeCustomName, snapshotModeConfigurationBasedSnapshotData, snapshotModeConfigurationBasedSnapshotOnDataError, snapshotModeConfigurationBasedSnapshotOnSchemaError, snapshotModeConfigurationBasedSnapshotSchema, snapshotModeConfigurationBasedStream, snapshotQueryMode, snapshotQueryModeCustomName, supportsOperationFiltering, supportsSchemaChangesDuringIncrementalSnapshot, validate, validateAndRecord, validateGuardrailLimits, validateGuardrailLimits, validateSkippedOperation, validateTopicName
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
SCHEMA_INCLUDE_LIST_NAME
- See Also:
-
SCHEMA_EXCLUDE_LIST_NAME
- See Also:
-
DATABASE_INCLUDE_LIST_NAME
- See Also:
-
DATABASE_EXCLUDE_LIST_NAME
- See Also:
-
TABLE_EXCLUDE_LIST_NAME
- See Also:
-
TABLE_INCLUDE_LIST_NAME
- See Also:
-
COLUMN_INCLUDE_LIST_ALREADY_SPECIFIED_ERROR_MSG
- See Also:
-
DEFAULT_SNAPSHOT_LOCK_TIMEOUT_MILLIS
public static final long DEFAULT_SNAPSHOT_LOCK_TIMEOUT_MILLIS -
DEFAULT_UNAVAILABLE_VALUE_PLACEHOLDER
- See Also:
-
HOSTNAME_PATTERN
-
HOSTNAME
public static final io.debezium.config.Field HOSTNAME -
PORT
public static final io.debezium.config.Field PORT -
USER
public static final io.debezium.config.Field USER -
PASSWORD
public static final io.debezium.config.Field PASSWORD -
DATABASE_NAME
public static final io.debezium.config.Field DATABASE_NAME -
QUERY_TIMEOUT_MS
public static final io.debezium.config.Field QUERY_TIMEOUT_MS -
TABLE_INCLUDE_LIST
public static final io.debezium.config.Field TABLE_INCLUDE_LISTA comma-separated list of regular expressions that match the fully-qualified names of tables to be monitored. Fully-qualified names for tables are of the form<databaseName>.<tableName>or<databaseName>.<schemaName>.<tableName>. Must not be used withTABLE_EXCLUDE_LIST, and superseded by database inclusions/exclusions. -
TABLE_EXCLUDE_LIST
public static final io.debezium.config.Field TABLE_EXCLUDE_LISTA comma-separated list of regular expressions that match the fully-qualified names of tables to be excluded from monitoring. Fully-qualified names for tables are of the form<databaseName>.<tableName>or<databaseName>.<schemaName>.<tableName>. Must not be used withTABLE_INCLUDE_LIST. -
TABLE_IGNORE_BUILTIN
public static final io.debezium.config.Field TABLE_IGNORE_BUILTIN -
COLUMN_EXCLUDE_LIST
public static final io.debezium.config.Field COLUMN_EXCLUDE_LISTA comma-separated list of regular expressions that match fully-qualified names of columns to be excluded from monitoring and change messages. The exact form of fully qualified names for columns might vary between connector types. For instance, they could be of the form<databaseName>.<tableName>.<columnName>or<schemaName>.<tableName>.<columnName>or<databaseName>.<schemaName>.<tableName>.<columnName>. -
COLUMN_INCLUDE_LIST
public static final io.debezium.config.Field COLUMN_INCLUDE_LISTA comma-separated list of regular expressions that match fully-qualified names of columns to be excluded from monitoring and change messages. The exact form of fully qualified names for columns might vary between connector types. For instance, they could be of the form<databaseName>.<tableName>.<columnName>or<schemaName>.<tableName>.<columnName>or<databaseName>.<schemaName>.<tableName>.<columnName>. -
MSG_KEY_COLUMNS
public static final io.debezium.config.Field MSG_KEY_COLUMNS -
DECIMAL_HANDLING_MODE
public static final io.debezium.config.Field DECIMAL_HANDLING_MODE -
SNAPSHOT_SELECT_STATEMENT_OVERRIDES_BY_TABLE
public static final io.debezium.config.Field SNAPSHOT_SELECT_STATEMENT_OVERRIDES_BY_TABLE -
SCHEMA_INCLUDE_LIST
public static final io.debezium.config.Field SCHEMA_INCLUDE_LISTA comma-separated list of regular expressions that match schema names to be monitored. Must not be used withSCHEMA_EXCLUDE_LIST. -
SCHEMA_EXCLUDE_LIST
public static final io.debezium.config.Field SCHEMA_EXCLUDE_LISTA comma-separated list of regular expressions that match schema names to be excluded from monitoring. Must not be used withSCHEMA_INCLUDE_LIST. -
DATABASE_INCLUDE_LIST
public static final io.debezium.config.Field DATABASE_INCLUDE_LISTA comma-separated list of regular expressions that match database names to be monitored. Must not be used withDATABASE_EXCLUDE_LIST. -
DATABASE_EXCLUDE_LIST
public static final io.debezium.config.Field DATABASE_EXCLUDE_LISTA comma-separated list of regular expressions that match database names to be excluded from monitoring. Must not be used withDATABASE_INCLUDE_LIST. -
TIME_PRECISION_MODE
public static final io.debezium.config.Field TIME_PRECISION_MODE -
SNAPSHOT_LOCK_TIMEOUT_MS
public static final io.debezium.config.Field SNAPSHOT_LOCK_TIMEOUT_MS -
INCLUDE_SCHEMA_CHANGES
public static final io.debezium.config.Field INCLUDE_SCHEMA_CHANGES -
INCLUDE_SCHEMA_COMMENTS
public static final io.debezium.config.Field INCLUDE_SCHEMA_COMMENTS -
MASK_COLUMN_WITH_HASH
public static final io.debezium.config.Field MASK_COLUMN_WITH_HASH -
MASK_COLUMN
public static final io.debezium.config.Field MASK_COLUMN -
TRUNCATE_COLUMN
public static final io.debezium.config.Field TRUNCATE_COLUMN -
PROPAGATE_COLUMN_SOURCE_TYPE
public static final io.debezium.config.Field PROPAGATE_COLUMN_SOURCE_TYPE -
PROPAGATE_DATATYPE_SOURCE_TYPE
public static final io.debezium.config.Field PROPAGATE_DATATYPE_SOURCE_TYPE -
SNAPSHOT_FULL_COLUMN_SCAN_FORCE
public static final io.debezium.config.Field SNAPSHOT_FULL_COLUMN_SCAN_FORCE -
UNAVAILABLE_VALUE_PLACEHOLDER
public static final io.debezium.config.Field UNAVAILABLE_VALUE_PLACEHOLDER -
SNAPSHOT_TABLES_ORDER_BY_ROW_COUNT
public static final io.debezium.config.Field SNAPSHOT_TABLES_ORDER_BY_ROW_COUNT -
SCHEMA_STORAGE_CLASS
public static final io.debezium.config.Field SCHEMA_STORAGE_CLASSThe fully-qualified class name of the storage implementation for schema metadata. Due to the serialization currently only in-memory storage implementations are supported, and the default isConcurrentMapTableMappingStorage. -
TABLE_STORAGE_CLASS
public static final io.debezium.config.Field TABLE_STORAGE_CLASS -
CONFIG_DEFINITION
protected static final io.debezium.config.ConfigDefinition CONFIG_DEFINITION -
tableFilters
-
columnFilter
-
columnsFiltered
private final boolean columnsFiltered -
temporalPrecisionMode
-
keyMapper
-
tableIdMapper
-
jdbcConfig
-
heartbeatActionQuery
-
fieldNamer
-
snapshotOrderByRowCount
-
-
Constructor Details
-
RelationalDatabaseConnectorConfig
protected RelationalDatabaseConnectorConfig(io.debezium.config.Configuration config, Tables.TableFilter systemTablesFilter, Selectors.TableIdToStringMapper tableIdMapper, int defaultSnapshotFetchSize, ColumnFilterMode columnFilterMode, boolean useCatalogBeforeSchema)
-
-
Method Details
-
getTableFilters
-
getDecimalMode
Returns the Decimal mode Enum fordecimal.handling.modeconfiguration. This defaults topreciseif nothing is provided. -
getTemporalPrecisionMode
Returns the temporal precision mode Enum fortime.precision.modeconfiguration. This defaults toadaptiveif nothing is provided. -
getKeyMapper
-
getJdbcConfig
Returns a "raw" configuration object exposing all the database driver related settings, without the "database." prefix. Typically used for passing through driver settings. -
getHeartbeatActionQuery
-
snapshotLockTimeout
-
schemaExcludeList
-
schemaIncludeList
-
tableExcludeList
-
tableIncludeList
-
getColumnFilter
-
isColumnsFiltered
public boolean isColumnsFiltered() -
isFullColumnScanRequired
-
snapshotOrderByRowCount
-
validateExcludeList
private static int validateExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field includeField, io.debezium.config.Field excludeField, io.debezium.config.Field.ValidationOutput problems) Validates that include and exclude lists are not both specified for the same filter type.- Parameters:
config- the configurationincludeField- the include list fieldexcludeField- the exclude list fieldproblems- the validation output- Returns:
- 1 if both lists are specified, 0 otherwise
-
validateColumnExcludeList
private static int validateColumnExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
isSchemaChangesHistoryEnabled
public boolean isSchemaChangesHistoryEnabled()- Overrides:
isSchemaChangesHistoryEnabledin classCommonConnectorConfig- Returns:
- true if the connector should emit messages about schema changes into a public facing topic.
-
isSchemaCommentsHistoryEnabled
public boolean isSchemaCommentsHistoryEnabled()- Overrides:
isSchemaCommentsHistoryEnabledin classCommonConnectorConfig- Returns:
- true if the connector should emit messages which include table and column comments.
-
getTableIdMapper
-
validateTableExcludeList
private static int validateTableExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
getSnapshotSelectOverridesByTable
Returns any SELECT overrides, if present. -
validateSchemaExcludeList
private static int validateSchemaExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
validateDatabaseExcludeList
private static int validateDatabaseExcludeList(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
validateMessageKeyColumnsField
private static int validateMessageKeyColumnsField(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
validateHostname
private static int validateHostname(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
getFieldNamer
-
createSchemaStorage
Creates and configures a schema storage instance.- Parameters:
tableIdCaseInsensitive- whether table identifiers should be treated case-insensitively- Returns:
- the configured schema storage instance
-
createTableStorage
Creates and configures a table storage instance.- Parameters:
tableIdCaseInsensitive- whether table identifiers should be treated case-insensitively- Returns:
- the configured table storage instance
-