From d96c30ef3fec916981e00bc70faa48d2fe290d37 Mon Sep 17 00:00:00 2001 From: Sergey Ivanov Date: Wed, 31 Jan 2024 22:38:26 +0300 Subject: [PATCH] DBZ-7437: ReselectColumnsPostProcessor filter not use exclude predicate. --- COPYRIGHT.txt | 1 + .../reselect/ReselectColumnsPostProcessor.java | 17 +++++++++++++---- jenkins-jobs/scripts/config/Aliases.txt | 1 + 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/COPYRIGHT.txt b/COPYRIGHT.txt index d4086c72a..59e7c619c 100644 --- a/COPYRIGHT.txt +++ b/COPYRIGHT.txt @@ -582,3 +582,4 @@ Peter Hamer Artem Shubovych leoloel Clifford Cheefoon +Fr0z3Nn \ No newline at end of file diff --git a/debezium-core/src/main/java/io/debezium/processors/reselect/ReselectColumnsPostProcessor.java b/debezium-core/src/main/java/io/debezium/processors/reselect/ReselectColumnsPostProcessor.java index a8a483082..df38cf6ca 100644 --- a/debezium-core/src/main/java/io/debezium/processors/reselect/ReselectColumnsPostProcessor.java +++ b/debezium-core/src/main/java/io/debezium/processors/reselect/ReselectColumnsPostProcessor.java @@ -252,7 +252,9 @@ public ReselectColumnsPredicateBuilder includeColumns(String columnNames) { if (columnNames == null || columnNames.trim().isEmpty()) { reselectColumnInclusions = null; } - reselectColumnInclusions = Predicates.includes(columnNames, Pattern.CASE_INSENSITIVE); + else { + reselectColumnInclusions = Predicates.includes(columnNames, Pattern.CASE_INSENSITIVE); + } return this; } @@ -260,13 +262,20 @@ public ReselectColumnsPredicateBuilder excludeColumns(String columnNames) { if (columnNames == null || columnNames.trim().isEmpty()) { reselectColumnExclusions = null; } - reselectColumnExclusions = Predicates.excludes(columnNames, Pattern.CASE_INSENSITIVE); + else { + reselectColumnExclusions = Predicates.excludes(columnNames, Pattern.CASE_INSENSITIVE); + } return this; } public Predicate build() { - Predicate filter = reselectColumnInclusions != null ? reselectColumnInclusions : reselectColumnExclusions; - return filter != null ? filter : (x) -> true; + if (reselectColumnInclusions != null) { + return reselectColumnInclusions; + } + if (reselectColumnExclusions != null) { + return reselectColumnExclusions; + } + return (x) -> true; } } diff --git a/jenkins-jobs/scripts/config/Aliases.txt b/jenkins-jobs/scripts/config/Aliases.txt index 322cb56b9..e0a03ac6e 100644 --- a/jenkins-jobs/scripts/config/Aliases.txt +++ b/jenkins-jobs/scripts/config/Aliases.txt @@ -252,3 +252,4 @@ shybovycha,Artem Shubovych Liaoyuxing,leoloel iankko,Jan Lieskovsky CliffordCheefoon,Clifford Cheefoon +Fr0z3Nn,Ivanov Sergey Vasilevich \ No newline at end of file