From 5ac93ac20e0ddc08c74fbd558f7c80dd0e6ede6c Mon Sep 17 00:00:00 2001 From: Juan Fiallo Date: Thu, 14 Oct 2021 10:31:27 -0400 Subject: [PATCH] DBZ-3517 Making database.user optional for SQL Server. SQL Server doesn't require username/password when using Kerberos authentication, which can be configured using pass-through database properties. Changing the database.user config to be optional for SQL Server Connector to reflect that. --- .../connector/sqlserver/SqlServerConnectorConfig.java | 3 +++ debezium-core/src/main/java/io/debezium/config/Field.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnectorConfig.java b/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnectorConfig.java index 1efb8315b..0b1dc5364 100644 --- a/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnectorConfig.java +++ b/debezium-connector-sqlserver/src/main/java/io/debezium/connector/sqlserver/SqlServerConnectorConfig.java @@ -212,6 +212,9 @@ public static SnapshotIsolationMode parse(String value, String defaultValue) { } } + public static final Field USER = RelationalDatabaseConnectorConfig.USER + .optional(); + public static final Field PORT = RelationalDatabaseConnectorConfig.PORT .withDefault(DEFAULT_PORT); diff --git a/debezium-core/src/main/java/io/debezium/config/Field.java b/debezium-core/src/main/java/io/debezium/config/Field.java index 1de48c579..1d018077b 100644 --- a/debezium-core/src/main/java/io/debezium/config/Field.java +++ b/debezium-core/src/main/java/io/debezium/config/Field.java @@ -755,6 +755,11 @@ public Field required() { .withValidation(Field::isRequired); } + public Field optional() { + return new Field(name(), displayName(), type(), width(), description(), importance, dependents, + defaultValueGenerator, validator, recommender, false, group, allowedValues); + } + public Field withGroup(GroupEntry group) { return new Field(name(), displayName(), type(), width(), description(), importance, dependents, defaultValueGenerator, validator, recommender, isRequired, group, allowedValues);