DBZ-1962 Remove TABLE_WHITELIST and TABLE_BLACKLIST in favor of definitions in RelationalDatabaseConnectorConfig

This commit is contained in:
Jos Huiting 2020-04-10 18:06:58 +02:00 committed by Gunnar Morling
parent 8ba21a98ef
commit a0f65830de
3 changed files with 6 additions and 35 deletions

View File

@ -16,8 +16,8 @@
import io.debezium.config.Configuration; import io.debezium.config.Configuration;
import io.debezium.relational.Selectors; import io.debezium.relational.Selectors;
import io.debezium.relational.TableId; import io.debezium.relational.TableId;
import io.debezium.relational.Tables.ColumnNameFilterFactory;
import io.debezium.relational.Tables.ColumnNameFilter; import io.debezium.relational.Tables.ColumnNameFilter;
import io.debezium.relational.Tables.ColumnNameFilterFactory;
import io.debezium.util.Collect; import io.debezium.util.Collect;
/** /**

View File

@ -63,13 +63,13 @@ public Filters(PostgresConnectorConfig config) {
.excludeSchemas(schemaBlacklist) .excludeSchemas(schemaBlacklist)
.build()); .build());
String columnBlacklist = config.columnBlacklist(); String columnWhitelist = config.columnWhitelist();
if (columnBlacklist != null) { if (columnWhitelist != null) {
// Define the filter that excludes blacklisted columns, truncated columns, and masked columns ... this.columnFilter = ColumnNameFilterFactory.createWhitelistFilter(config.columnWhitelist());
this.columnFilter = ColumnNameFilterFactory.createBlacklistFilter(config.columnBlacklist());
} }
else { else {
this.columnFilter = ColumnNameFilterFactory.createWhitelistFilter(config.columnWhitelist()); // Define the filter that excludes blacklisted columns, truncated columns, and masked columns ...
this.columnFilter = ColumnNameFilterFactory.createBlacklistFilter(config.columnBlacklist());
} }
} }

View File

@ -556,8 +556,6 @@ public static SchemaRefreshMode parse(String value) {
protected static final int DEFAULT_MAX_RETRIES = 6; protected static final int DEFAULT_MAX_RETRIES = 6;
protected static final Duration DEFAULT_RETRY_DELAY = Duration.ofSeconds(10); protected static final Duration DEFAULT_RETRY_DELAY = Duration.ofSeconds(10);
private static final String TABLE_WHITELIST_NAME = "table.whitelist";
public static final Field PLUGIN_NAME = Field.create("plugin.name") public static final Field PLUGIN_NAME = Field.create("plugin.name")
.withDisplayName("Plugin") .withDisplayName("Plugin")
.withEnum(LogicalDecoder.class, LogicalDecoder.DECODERBUFS) .withEnum(LogicalDecoder.class, LogicalDecoder.DECODERBUFS)
@ -717,33 +715,6 @@ public static SchemaRefreshMode parse(String value) {
.withDescription( .withDescription(
"A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments"); "A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in development environments");
/**
* A 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 {@code <schemaName>.<tableName>} or
* {@code <databaseName>.<schemaName>.<tableName>}. May not be used with {@link #TABLE_BLACKLIST}, and superseded by schema
* inclusions/exclusions.
*/
public static final Field TABLE_WHITELIST = Field.create(TABLE_WHITELIST_NAME)
.withDisplayName("Tables")
.withType(Type.LIST)
.withWidth(Width.LONG)
.withImportance(Importance.HIGH)
.withValidation(Field::isListOfRegex)
.withDescription("The tables for which changes are to be captured");
/**
* A 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 {@code <schemaName>.<tableName>} or
* {@code <databaseName>.<schemaName>.<tableName>}. May not be used with {@link #TABLE_WHITELIST}.
*/
public static final Field TABLE_BLACKLIST = Field.create("table.blacklist")
.withDisplayName("Exclude Tables")
.withType(Type.STRING)
.withWidth(Width.LONG)
.withImportance(Importance.MEDIUM)
.withValidation(Field::isListOfRegex, PostgresConnectorConfig::validateTableBlacklist)
.withInvisibleRecommender();
// TODO author=Horia Chiorean date=25/10/2016 description=PG 9.x logical decoding does not support schema changes // TODO author=Horia Chiorean date=25/10/2016 description=PG 9.x logical decoding does not support schema changes
public static final Field INCLUDE_SCHEMA_CHANGES = Field.create("include.schema.changes") public static final Field INCLUDE_SCHEMA_CHANGES = Field.create("include.schema.changes")
.withDisplayName("Include database schema changes") .withDisplayName("Include database schema changes")