diff --git a/debezium-connector-mongodb/src/test/java/io/debezium/connector/mongodb/MongoDbConnectorTest.java b/debezium-connector-mongodb/src/test/java/io/debezium/connector/mongodb/MongoDbConnectorTest.java index c21769573..c52703603 100644 --- a/debezium-connector-mongodb/src/test/java/io/debezium/connector/mongodb/MongoDbConnectorTest.java +++ b/debezium-connector-mongodb/src/test/java/io/debezium/connector/mongodb/MongoDbConnectorTest.java @@ -38,7 +38,7 @@ protected static void assertConfigDefIsValid(Connector connector, io.debezium.co assertThat(key.importance).isEqualTo(expected.importance()); assertThat(key.documentation).isEqualTo(expected.description()); assertThat(key.type).isEqualTo(expected.type()); - if (expected.type() == Type.CLASS) { + if (expected.type() == Type.CLASS && expected.defaultValue() != null) { assertThat(((Class) key.defaultValue).getName()).isEqualTo((String) expected.defaultValue()); } else if (expected.type() == ConfigDef.Type.LIST && key.defaultValue != null) { diff --git a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java index 64e694747..462923f62 100755 --- a/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java +++ b/debezium-connector-postgres/src/main/java/io/debezium/connector/postgresql/PostgresConnectorConfig.java @@ -33,7 +33,9 @@ import io.debezium.connector.postgresql.connection.ReplicationConnection; import io.debezium.connector.postgresql.connection.pgoutput.PgOutputMessageDecoder; import io.debezium.connector.postgresql.connection.pgproto.PgProtoMessageDecoder; +import io.debezium.connector.postgresql.pipeline.txmetadata.PostgresTransactionStructMaker; import io.debezium.jdbc.JdbcConfiguration; +import io.debezium.pipeline.txmetadata.TransactionStructMaker; import io.debezium.relational.ColumnFilterMode; import io.debezium.relational.RelationalDatabaseConnectorConfig; import io.debezium.relational.TableId; @@ -962,6 +964,9 @@ public static AutoCreateMode parse(String value, String defaultValue) { public static final Field SOURCE_INFO_STRUCT_MAKER = CommonConnectorConfig.SOURCE_INFO_STRUCT_MAKER .withDefault(PostgresSourceInfoStructMaker.class.getName()); + public static final Field TRANSACTION_STRUCT_MAKER = CommonConnectorConfig.TRANSACTION_STRUCT_MAKER + .withDefault(PostgresTransactionStructMaker.class.getName()); + private final LogicalDecodingMessageFilter logicalDecodingMessageFilter; private final HStoreHandlingMode hStoreHandlingMode; private final IntervalHandlingMode intervalHandlingMode; @@ -1114,6 +1119,11 @@ protected SourceInfoStructMaker getSourceInfoStruc return getSourceInfoStructMaker(SOURCE_INFO_STRUCT_MAKER, Module.name(), Module.version(), this); } + @Override + public TransactionStructMaker getTransactionStructMaker() { + return getTransactionStructMaker(TRANSACTION_STRUCT_MAKER); + } + private static final ConfigDefinition CONFIG_DEFINITION = RelationalDatabaseConnectorConfig.CONFIG_DEFINITION.edit() .name("Postgres") .excluding(CommonConnectorConfig.SKIPPED_OPERATIONS) diff --git a/debezium-core/src/main/java/io/debezium/config/CommonConnectorConfig.java b/debezium-core/src/main/java/io/debezium/config/CommonConnectorConfig.java index c7c44e594..9a3e31b86 100644 --- a/debezium-core/src/main/java/io/debezium/config/CommonConnectorConfig.java +++ b/debezium-core/src/main/java/io/debezium/config/CommonConnectorConfig.java @@ -722,9 +722,10 @@ public static SnapshotQueryMode parse(String value, String defaultValue) { public static final Field PROVIDE_ORDERED_TRANSACTION_METADATA = Field.create("provide.ordered.transaction.metadata") .withDisplayName("Provide ordered transaction meatadata") .withType(Type.BOOLEAN) - .withDefault(false) + .withGroup(Field.createGroupEntry(Field.Group.CONNECTOR_ADVANCED, 19)) .withWidth(Width.SHORT) - .withImportance(ConfigDef.Importance.LOW) + .withDefault(Boolean.FALSE) + .withImportance(Importance.LOW) .withDescription( "Whether to provide order metadata on transactions");