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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]