[
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)