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 6f3efe0a [fix](oracle-cdc) fix oracle regular expresion too long(#505)
6f3efe0a is described below

commit 6f3efe0aa802e9f3468509814610693d674fd4ac
Author: wudi <676366...@qq.com>
AuthorDate: Fri Nov 1 11:22:51 2024 +0800

    [fix](oracle-cdc) fix oracle regular expresion too long(#505)
---
 .../doris/flink/tools/cdc/oracle/OracleDatabaseSync.java  | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

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 9b684454..1a6a4187 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
@@ -164,11 +164,16 @@ public class OracleDatabaseSync extends DatabaseSync {
         Preconditions.checkNotNull(databaseName, "database-name in oracle is 
required");
         Preconditions.checkNotNull(schemaName, "schema-name in oracle is 
required");
         String tableName = config.get(OracleSourceOptions.TABLE_NAME);
-        // 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() > 512) {
-            tableName = StringUtils.isNullOrWhitespaceOnly(includingTables) ? 
".*" : tableName;
+        // When debezium incrementally reads (refer 
LogMinerQueryBuilder.listOfPatternsToSql),
+        // 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() > 450) {
+            // REGEXP_LIKE('^SCHEMA.(TBL1|TBL2)$')
+            if (StringUtils.isNullOrWhitespaceOnly(excludingTables)
+                    && (StringUtils.isNullOrWhitespaceOnly(includingTables)
+                            || ".*".equals(includingTables))) {
+                tableName = ".*";
+            }
         }
 
         String url = config.get(OracleSourceOptions.URL);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to