[ 
https://issues.apache.org/jira/browse/FLINK-40152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18097503#comment-18097503
 ] 

Xin Chen edited comment on FLINK-40152 at 7/20/26 8:06 AM:
-----------------------------------------------------------

[~ouyangwulin]  Thanks for reply.  

At least in the Flink CDC 3.6.0 source connectors' PostgreSQL code, I didn't 
see any changes here; the problem still exists. Address:

 

https://github.com/apache/flink-cdc/blob/master/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/org/apache/flink/cdc/connectors/postgres/source/PostgresDialect.java

 

[https://github.com/apache/flink-cdc/blob/master/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/org/apache/flink/cdc/connectors/postgres/source/utils/TableDiscoveryUtils.java]


was (Author: JIRAUSER298666):
[~ouyangwulin]  Thanks for reply.  

At least in the Flink CDC 3.6.0 source connectors' PostgreSQL code, I didn't 
see any changes here; the problem still exists. Address:

https://github.com/apache/flink-cdc/blob/master/flink-cdc-connect/flink-cdc-source-connectors/flink-connector-postgres-cdc/src/main/java/org/apache/flink/cdc/connectors/postgres/source/utils/TableDiscoveryUtils.java

> PostgreSQL CDC connector captures case-variant tables when only one is 
> specified
> --------------------------------------------------------------------------------
>
>                 Key: FLINK-40152
>                 URL: https://issues.apache.org/jira/browse/FLINK-40152
>             Project: Flink
>          Issue Type: Bug
>          Components: Flink CDC
>    Affects Versions: cdc-3.5.0, cdc-3.6.0
>            Reporter: Xin Chen
>            Priority: Major
>
> == Problem ==
> When PostgreSQL has two tables with the same name but different cases (e.g., 
> `mytable` and `MyTable`), specifying only one table in `table-name` causes 
> Flink CDC to capture BOTH tables.
> == Root Cause ==
> Debezium's `table.include.list` uses `Pattern.CASE_INSENSITIVE` for regex 
> matching by default (see `io.debezium.util.Strings#includes()`). This causes 
> `public.mytable` to also match `public.MyTable`.
> The issue is in `TableDiscoveryUtils.listTables()`:
> {code:java}
> Set<TableId> capturedTables =
>     allTableIds.stream()
>         .filter(t -> tableFilters.dataCollectionFilter().isIncluded(t))
>         .collect(Collectors.toSet()); {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to