-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Oracle] Fix Oracle CDC fetch two different db name for the same table #2088
Conversation
@e-mhui Thanks for the contribution. Besides these, I think maybe we should use database name in upper case at the beginning. For example, in the constructor of the Source. |
@ruanhang1993 Thanks you reply, it has rebased the mater branch. The error still exist in 2.4 and master branch. pls review it again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. @e-mhui Please rebase master branch and let's pass the CI.
Thanks, it has been done. |
@ruanhang1993 Hi, pls review it. |
f6d5398
to
bc42f10
Compare
bc42f10
to
54ebdfd
Compare
…ot phase to fix fetching two different db name for the same table at the snapshot phase and incremental phase(apache#2088)
…ot phase to fix fetching two different db name for the same table at the snapshot phase and incremental phase(apache#2088)
…ot phase to fix fetching two different db name for the same table at the snapshot phase and incremental phase(apache#2088)
…ot phase to fix fetching two different db name for the same table at the snapshot phase and incremental phase(apache#2088)
Fix Oracle CDC fetch two different db name for the same table
Motivation
If the database name configured for Oracle CDC in Flink SQL is lowercase, such as the following example (
'database-name' = 'xe'
),the following problems will occur:
TEST_03
),the snapshot phase will use the lowercase database name (xe.FLINKUSER.TEST_03
), and the incremental phase will use the uppercase database name (XE.FLINKUSER.TEST_03
).TEST_03
), after being captured in the snapshot phase, it will be captured again in the incremental phase because their database names are inconsistent.In
OracleConnectorConfig
, the database name in Flink SQL is converted to uppercase, but the database name used in the snapshot phase is directly taken from Flink SQL. Therefore, when constructing thetableId
, the database name in Flink SQL also needs to be converted to uppercase.Modifications
When constructing the
tableId
, the database name in Flink SQL needs to be converted to uppercase.