This is an automated email from the ASF dual-hosted git repository. diwu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris-flink-connector.git
The following commit(s) were added to refs/heads/master by this push: new 0ecf4f3 [improve] oracle cdc regex improve (#326) 0ecf4f3 is described below commit 0ecf4f352d598b90b762a8f4d2867b58c9e13940 Author: wudi <676366...@qq.com> AuthorDate: Mon Mar 4 17:15:08 2024 +0800 [improve] oracle cdc regex improve (#326) --- .../main/java/org/apache/doris/flink/tools/cdc/DatabaseSync.java | 5 +---- .../org/apache/doris/flink/tools/cdc/oracle/OracleDatabaseSync.java | 6 ++---- .../java/org/apache/doris/flink/tools/cdc/DatabaseSyncTest.java | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/DatabaseSync.java b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/DatabaseSync.java index 8627a47..cd5ef1a 100644 --- a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/DatabaseSync.java +++ b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/DatabaseSync.java @@ -53,7 +53,6 @@ import java.util.Map; import java.util.Properties; import java.util.Set; import java.util.regex.Pattern; -import java.util.stream.Collectors; public abstract class DatabaseSync { private static final Logger LOG = LoggerFactory.getLogger(DatabaseSync.class); @@ -327,9 +326,7 @@ public abstract class DatabaseSync { protected String getSyncTableList(List<String> syncTables) { if (!singleSink) { - return syncTables.stream() - .map(v -> getTableListPrefix() + "\\." + v) - .collect(Collectors.joining("|")); + return String.format("(%s)\\.(%s)", getTableListPrefix(), String.join("|", syncTables)); } else { // includingTablePattern and ^excludingPattern if (includingTables == null) { diff --git a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleDatabaseSync.java b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleDatabaseSync.java index 8ca66e4..f3a8c8b 100644 --- a/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleDatabaseSync.java +++ b/flink-doris-connector/src/main/java/org/apache/doris/flink/tools/cdc/oracle/OracleDatabaseSync.java @@ -154,10 +154,8 @@ public class OracleDatabaseSync extends DatabaseSync { // When debezium incrementally reads, it will be judged based on regexp_like. // When the regular length exceeds 512, an error will be reported, // like ORA-12733: regular expression too long - if (tableName.length() > 384) { - // max database name length 128 - tableName = - StringUtils.isNullOrWhitespaceOnly(includingTables) ? ".*" : includingTables; + if (tableName.length() > 512) { + tableName = StringUtils.isNullOrWhitespaceOnly(includingTables) ? ".*" : tableName; } String url = config.get(OracleSourceOptions.URL); diff --git a/flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/DatabaseSyncTest.java b/flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/DatabaseSyncTest.java index 23dbff0..1e69c59 100644 --- a/flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/DatabaseSyncTest.java +++ b/flink-doris-connector/src/test/java/org/apache/doris/flink/tools/cdc/DatabaseSyncTest.java @@ -62,7 +62,7 @@ public class DatabaseSyncTest { config.setString("table-name", "tbl.*"); databaseSync.setConfig(config); String syncTableList = databaseSync.getSyncTableList(Arrays.asList("tbl_1", "tbl_2")); - assertEquals("db\\.tbl_1|db\\.tbl_2", syncTableList); + assertEquals("(db)\\.(tbl_1|tbl_2)", syncTableList); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org