This is an automated email from the ASF dual-hosted git repository.

MartijnVisser pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-connector-jdbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 30f8ea4c [FLINK-40781][tests] Run the ArchUnit tests in each module
30f8ea4c is described below

commit 30f8ea4cfc383cdd000e3bc18e19bcfafc8d0a8b
Author: Martijn Visser <[email protected]>
AuthorDate: Wed Sep 23 14:07:09 2026 +0200

    [FLINK-40781][tests] Run the ArchUnit tests in each module
    
    In the separate architecture module the other modules arrived as jars,
    which DoNotIncludeArchives skips, so under CI's deploy the rules checked
    nothing. Each module now runs both tests on its own classes, like the other
    connectors. The stores are frozen on Flink 2.1.3 with JDK 17, and the unused
    store in flink-connector-jdbc-core is removed.
    
    Generated-by: Claude Code (Claude Opus 5.5)
---
 .../archunit-violations/stored.rules               |  10 --
 flink-connector-jdbc-architecture/pom.xml          | 129 ---------------------
 .../0f49bdf0-f71d-4016-937f-171c578bfc0c           |   0
 .../4bca2274-65a9-4a61-81ef-767d58233ea0           |   1 -
 .../80f8d98f-49ff-4828-807c-19d062920896           |   1 +
 .../b3d44e5f-ef58-43dc-b47e-8b2a332f9539           |   3 +
 .../bfd1a6a5-6e7f-457c-a227-063dc4b7247b           | 126 ++++++++++----------
 .../c11f1061-9ae9-4c62-8b94-95c3f25330dd           |   0
 .../c9f812a6-cbc4-4b18-b2d4-e40b1f3ca565           |   0
 .../d45c3af5-52c6-45fd-9926-75e75e77473a           |   4 -
 .../d8e56a37-c208-481f-a9e1-bdd8a9ee204a           |   0
 .../f069578c-b0e5-4242-8ccb-7a6c979a6af4           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   5 +-
 .../architecture/TestCodeArchitectureTest.java     |   3 +-
 .../src/test/resources/archunit.properties         |   0
 .../18b1a08b-7c35-4865-a4b3-7b74e0c73058           |   0
 .../2ad4f931-910a-4bd0-82f5-13319c91e921           |   0
 .../3096c7be-bdbe-4bad-bff5-966a7e4ec242           |   0
 .../44e004ae-28cc-498a-bb55-12173d0691be           |   0
 .../4a9750c4-2aeb-4de8-988f-6c5f29d2db2a           |   1 +
 .../5bc1376f-e29a-4b2a-a0ee-14026ac9b883           |   0
 .../60b10a23-00dd-44ba-81e5-1cca57d1605a           |   0
 .../7692e71d-642e-48ba-b5b6-0058a26b9c45           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../2e8030c5-95d2-47bf-b887-27d14220d20d           |   0
 .../65f1adfa-04de-43fa-a4a0-dbeb41bfe613           |   0
 .../6e676c1c-fed1-4b76-b9a9-684e8d70360a           |   0
 .../83b836ef-93e7-4e72-abfd-8228f862d484           |   0
 .../8c250c12-cab7-4acc-8ab0-87970fe805a6           |   0
 .../a3a69a16-9ee1-4129-ac23-1c63716a0292           |   0
 .../b3c1c4ef-6fff-4ed6-93f6-59271c7580f5           |   0
 .../f3f0ecef-89a0-42e5-a536-b1d8268631d8           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../041248bb-a0d3-4c9a-bd8f-f62f4cb2c0a4           |   0
 .../2de0619c-9181-4b73-8572-d822f35407a4           |   1 +
 .../40e9d392-d2aa-416d-b4d6-49b07801597c           |   0
 .../460ec9b3-bff5-423a-9e21-f46d4a7d993f           |   0
 .../4892a5e5-2f8a-4ff7-9d9f-4592e589e945           |   0
 .../6709acf2-cd7e-459a-86a7-2e2660c10e83           |   0
 .../6f25c97c-4592-4418-b527-49e0f7613bb9           |   0
 .../7e349b0b-2ede-4b54-98a8-790e148fe403           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../5e59c274-e3f2-4da6-8d78-01204a740d78           |   0
 .../7b3d43d1-a221-419d-a254-c290475a695f           |   0
 .../c3206180-fd03-4ab2-b4b5-ec8dbb1de62d           |   0
 .../dd9af22d-1495-42b4-b54d-3ca5a2414420           |   0
 .../e1758469-b99c-473f-a1bd-7c0d6c32168c           |   0
 .../f0a2c1bd-77f7-4bf8-8c09-6c2300ce1cee           |   0
 .../f1c4fff7-6cf7-429f-ad9a-484f47bb290c           |   0
 .../fec4491e-7f37-4cca-a571-fbe4a0dfd02f           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../06cdf39b-6a96-49c4-9bd0-24e3edf12857           |   0
 .../17881caa-64d9-4b51-a3c1-d205f92cbcd3           |   0
 .../49ee6041-00ff-47d3-afca-e76241c061a2           |   0
 .../52164878-5b9b-465b-8153-4eb055f7c1f4           |   0
 .../54112a23-a85d-44c4-b434-988ad7de3a6c           |   0
 .../59f14908-77a2-48bd-93da-631f297b2016           |   0
 .../9c76a6c3-c9be-4846-bed4-6e0bef64ba64           |   0
 .../f7813520-5b1a-4487-8fa6-8df95e5a7a18           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../1097d976-f36d-4edc-b248-328cae41fcd4           |   0
 .../5d34e07e-4a17-4115-8a8c-0e6f598b4627           |   2 +
 .../6d1fc2c8-104a-46ce-9c59-97c5405a7aec           |   0
 .../700df704-932a-4712-9363-e6b21d148ecb           |   0
 .../915248fb-8c8c-41c6-abaa-35ccd141abc9           |   0
 .../b7c02617-1c8e-4a91-81f6-ea778760c9e5           |   0
 .../bf75a388-4509-4b48-916b-4ab41ce5c2e1           |   0
 .../d0ca7a87-12df-4663-b26c-ddd405fc9883           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../3c63f9b0-ba49-48c1-b904-059ef367ebe1           |   0
 .../3f12d9a8-29da-4e5f-80be-0722ec9e7b1e           |   0
 .../45c748ed-969f-43fb-bf60-919386edb6ed           |   0
 .../7fe59295-a069-4f8d-a576-6b1fcd10c9f7           |   0
 .../8d9f0120-d451-4fa8-bd92-8e1b192b5d97           |   0
 .../cbd0e661-33c7-4976-8698-1e6d3b85139b           |   0
 .../e4e90da5-167a-4f0b-a84f-eba2c9d16c4f           |   0
 .../faf3e37e-64e3-464c-8c1f-c1aa14fa3e48           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 .../0a6af016-86e2-4267-8e0f-a78b2b2d561b           |   0
 .../201971cc-99ff-4b2a-9ea4-4d08a3790fdf           |   0
 .../5702d8bb-bbca-4d7e-be22-66abca492624           |   0
 .../777af8e7-d1c6-4e94-83ac-aade40ca30ba           |   0
 .../b4324fe2-2ce6-4897-8253-8d3d7120ceaa           |   0
 .../daab840c-4138-4c96-bc4e-7ec9ae9e2809           |   0
 .../eb2972d6-5302-479d-822d-133c7685c383           |   0
 .../f23a12c9-2a90-4360-ab32-f79f0a1b2946           |   0
 .../archunit-violations/stored.rules               |  10 ++
 .../ProductionCodeArchitectureTest.java            |   7 +-
 .../architecture/TestCodeArchitectureTest.java     |   5 +-
 .../src/test/resources/archunit.properties         |   0
 pom.xml                                            |  37 +++++-
 113 files changed, 241 insertions(+), 268 deletions(-)

diff --git a/flink-connector-jdbc-architecture/archunit-violations/stored.rules 
b/flink-connector-jdbc-architecture/archunit-violations/stored.rules
deleted file mode 100644
index fc98024b..00000000
--- a/flink-connector-jdbc-architecture/archunit-violations/stored.rules
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-#Wed Oct 23 14:35:32 CEST 2024
-Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=e391ec0f-7ba6-4b7e-8125-cbd364cbedd9
-ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=f09f3e26-9371-41f4-86a1-cd59b0fe624c
-Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=3547d327-0923-4fa7-8319-b18102cc22d0
-Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=10da9e19-442f-49fb-b340-a2e401062d33
-Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=7d5a32d5-922b-4760-825b-c30427dc987e
-Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=47967139-2deb-41b4-91c3-b19e56e5fc76
-Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=b97067ac-f37f-4793-8578-bdbe6d2abf5b
-Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=afc13e03-aa50-408b-b87e-aa491cf0b8cb
diff --git a/flink-connector-jdbc-architecture/pom.xml 
b/flink-connector-jdbc-architecture/pom.xml
deleted file mode 100644
index d59b55af..00000000
--- a/flink-connector-jdbc-architecture/pom.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0";
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.flink</groupId>
-        <artifactId>flink-connector-jdbc-parent</artifactId>
-        <version>4.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>flink-connector-jdbc-architecture</artifactId>
-    <name>Flink : Connectors : JDBC : Architecture</name>
-
-    <packaging>jar</packaging>
-
-    <dependencies>
-        <!-- Flink ArchUnit -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-architecture-tests-base</artifactId>
-            <version>${flink.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-architecture-tests-test</artifactId>
-            <version>${flink.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-architecture-tests-production</artifactId>
-            <version>${flink.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- Flink Jdbc Modules To Test -->
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-core</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-cratedb</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-db2</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-mysql</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-oceanbase</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-oracle</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-postgres</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-sqlserver</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.flink</groupId>
-            <artifactId>flink-connector-jdbc-trino</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-core/archunit-violations/0f49bdf0-f71d-4016-937f-171c578bfc0c
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-core/archunit-violations/0f49bdf0-f71d-4016-937f-171c578bfc0c
diff --git 
a/flink-connector-jdbc-core/archunit-violations/4bca2274-65a9-4a61-81ef-767d58233ea0
 
b/flink-connector-jdbc-core/archunit-violations/4bca2274-65a9-4a61-81ef-767d58233ea0
deleted file mode 100644
index 3f29182c..00000000
--- 
a/flink-connector-jdbc-core/archunit-violations/4bca2274-65a9-4a61-81ef-767d58233ea0
+++ /dev/null
@@ -1 +0,0 @@
-Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getLineageVertex()>
 calls method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.SqlTemplateSplitEnumerator.getSqlTemplate()>
 in (JdbcSource.java:215)
diff --git 
a/flink-connector-jdbc-core/archunit-violations/80f8d98f-49ff-4828-807c-19d062920896
 
b/flink-connector-jdbc-core/archunit-violations/80f8d98f-49ff-4828-807c-19d062920896
new file mode 100644
index 00000000..a3b9e0f6
--- /dev/null
+++ 
b/flink-connector-jdbc-core/archunit-violations/80f8d98f-49ff-4828-807c-19d062920896
@@ -0,0 +1 @@
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.JdbcSqlSplitterEnumerator.lineageQueries()>
 calls method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.SqlTemplateSplitEnumerator.getSqlTemplate()>
 in (JdbcSqlSplitterEnumerator.java:126)
diff --git 
a/flink-connector-jdbc-core/archunit-violations/b3d44e5f-ef58-43dc-b47e-8b2a332f9539
 
b/flink-connector-jdbc-core/archunit-violations/b3d44e5f-ef58-43dc-b47e-8b2a332f9539
new file mode 100644
index 00000000..5731657b
--- /dev/null
+++ 
b/flink-connector-jdbc-core/archunit-violations/b3d44e5f-ef58-43dc-b47e-8b2a332f9539
@@ -0,0 +1,3 @@
+org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterEnumerator.of(java.lang.String,
 
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterNumericParameters):
 Argument leaf type 
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterNumericParameters
 does not satisfy: reside outside of package 'org.apache.flink..' or reside in 
any package ['..shaded..'] or annotated with @Public [...]
+org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SlideTimingSplitterEnumerator.builder():
 Returned leaf type 
org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SlideTimingSplitterEnumerator$SlideTimingSplitterEnumeratorBuilder
 does not satisfy: reside outside of package 'org.apache.flink..' or reside in 
any package ['..shaded..'] or annotated with @Public or annotated with 
@PublicEvolving or annotated with @Deprecated
+org.apache.flink.connector.jdbc.lineage.JdbcLocation$Builder.build(): Returned 
leaf type org.apache.flink.connector.jdbc.lineage.JdbcLocation does not 
satisfy: reside outside of package 'org.apache.flink..' or reside in any 
package ['..shaded..'] or annotated with @Public or annotated with 
@PublicEvolving or annotated with @Deprecated
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/afc13e03-aa50-408b-b87e-aa491cf0b8cb
 
b/flink-connector-jdbc-core/archunit-violations/bfd1a6a5-6e7f-457c-a227-063dc4b7247b
similarity index 73%
rename from 
flink-connector-jdbc-architecture/archunit-violations/afc13e03-aa50-408b-b87e-aa491cf0b8cb
rename to 
flink-connector-jdbc-core/archunit-violations/bfd1a6a5-6e7f-457c-a227-063dc4b7247b
index 9b8648ce..bc5a70f9 100644
--- 
a/flink-connector-jdbc-architecture/archunit-violations/afc13e03-aa50-408b-b87e-aa491cf0b8cb
+++ 
b/flink-connector-jdbc-core/archunit-violations/bfd1a6a5-6e7f-457c-a227-063dc4b7247b
@@ -1,50 +1,54 @@
 Class 
<org.apache.flink.connector.jdbc.core.database.catalog.AbstractJdbcCatalog> 
extends class <org.apache.flink.table.catalog.AbstractCatalog> in 
(AbstractJdbcCatalog.java:0)
 Class 
<org.apache.flink.connector.jdbc.core.table.source.JdbcFilterPushdownPreparedStatementVisitor>
 extends class <org.apache.flink.table.expressions.ExpressionDefaultVisitor> in 
(JdbcFilterPushdownPreparedStatementVisitor.java:0)
-Class <org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction> 
extends class <org.apache.flink.streaming.api.checkpoint.CheckpointedFunction> 
in (GenericJdbcSinkFunction.java:0)
-Class <org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction> 
extends class <org.apache.flink.streaming.api.functions.sink.RichSinkFunction> 
in (GenericJdbcSinkFunction.java:0)
-Constructor 
<org.apache.flink.connector.jdbc.core.database.catalog.AbstractJdbcCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.util.Properties)> 
calls constructor 
<org.apache.flink.table.catalog.AbstractCatalog.<init>(java.lang.String, 
java.lang.String)> in (AbstractJdbcCatalog.java:123)
+Class <org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction> 
extends class 
<org.apache.flink.streaming.api.functions.sink.legacy.RichSinkFunction> in 
(GenericJdbcSinkFunction.java:0)
+Constructor 
<org.apache.flink.connector.jdbc.core.database.catalog.AbstractJdbcCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.util.Properties)> 
calls constructor 
<org.apache.flink.table.catalog.AbstractCatalog.<init>(java.lang.String, 
java.lang.String)> in (AbstractJdbcCatalog.java:133)
+Constructor 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriter.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.JdbcExactlyOnceOptions, 
org.apache.flink.connector.jdbc.datasource.statements.JdbcQueryStatement, 
org.apache.flink.connector.jdbc.internal.JdbcOutputSerializer, 
org.apache.flink.connector.base.DeliveryGuarantee, java.util.Collection, or 
[...]
+Constructor 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriter.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.JdbcExactlyOnceOptions, 
org.apache.flink.connector.jdbc.datasource.statements.JdbcQueryStatement, 
org.apache.flink.connector.jdbc.internal.JdbcOutputSerializer, 
org.apache.flink.connector.base.DeliveryGuarantee, java.util.Collection, or 
[...]
+Constructor 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriter.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.JdbcExactlyOnceOptions, 
org.apache.flink.connector.jdbc.datasource.statements.JdbcQueryStatement, 
org.apache.flink.connector.jdbc.internal.JdbcOutputSerializer, 
org.apache.flink.connector.base.DeliveryGuarantee, java.util.Collection, or 
[...]
+Constructor 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriter.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.JdbcExactlyOnceOptions, 
org.apache.flink.connector.jdbc.datasource.statements.JdbcQueryStatement, 
org.apache.flink.connector.jdbc.internal.JdbcOutputSerializer, 
org.apache.flink.connector.base.DeliveryGuarantee, java.util.Collection, or 
[...]
+Constructor 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriter.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.JdbcExactlyOnceOptions, 
org.apache.flink.connector.jdbc.datasource.statements.JdbcQueryStatement, 
org.apache.flink.connector.jdbc.internal.JdbcOutputSerializer, 
org.apache.flink.connector.base.DeliveryGuarantee, java.util.Collection, or 
[...]
 Constructor 
<org.apache.flink.connector.jdbc.core.table.source.JdbcFilterPushdownPreparedStatementVisitor.<init>(java.util.function.Function)>
 calls constructor 
<org.apache.flink.table.expressions.ExpressionDefaultVisitor.<init>()> in 
(JdbcFilterPushdownPreparedStatementVisitor.java:52)
 Constructor 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataLookupFunction.<init>(org.apache.flink.connector.jdbc.internal.options.InternalJdbcConnectionOptions,
 int, [Ljava.lang.String;, [Lorg.apache.flink.table.types.DataType;, 
[Ljava.lang.String;, org.apache.flink.table.types.logical.RowType, 
java.util.List, [Ljava.io.Serializable;)> has parameter of type 
<[Lorg.apache.flink.table.types.DataType;> in (JdbcRowDataLookupFunction.java:0)
-Constructor 
<org.apache.flink.connector.jdbc.cratedb.database.catalog.CrateDBCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (CrateDBCatalog.java:0)
-Constructor 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.<init>(org.apache.flink.connector.jdbc.internal.JdbcOutputFormat)>
 calls constructor 
<org.apache.flink.streaming.api.functions.sink.RichSinkFunction.<init>()> in 
(GenericJdbcSinkFunction.java:43)
+Constructor 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.<init>(org.apache.flink.connector.jdbc.internal.JdbcOutputFormat)>
 calls constructor 
<org.apache.flink.streaming.api.functions.sink.legacy.RichSinkFunction.<init>()>
 in (GenericJdbcSinkFunction.java:45)
 Constructor 
<org.apache.flink.connector.jdbc.internal.TableJdbcUpsertOutputFormat.<init>(org.apache.flink.connector.jdbc.datasource.connections.JdbcConnectionProvider,
 org.apache.flink.connector.jdbc.JdbcExecutionOptions, 
org.apache.flink.connector.jdbc.internal.JdbcOutputFormat$StatementExecutorFactory,
 
org.apache.flink.connector.jdbc.internal.JdbcOutputFormat$StatementExecutorFactory)>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(TableJdbcUpsertOutputFormat.java:0)
-Constructor 
<org.apache.flink.connector.jdbc.mysql.database.catalog.MySqlCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (MySqlCatalog.java:0)
-Constructor 
<org.apache.flink.connector.jdbc.postgres.database.catalog.PostgresCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (PostgresCatalog.java:0)
 Field 
<org.apache.flink.connector.jdbc.core.database.dialect.AbstractDialectConverter.fieldTypes>
 has type <[Lorg.apache.flink.table.types.logical.LogicalType;> in 
(AbstractDialectConverter.java:0)
 Field 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.fieldDataTypes>
 has type <[Lorg.apache.flink.table.types.DataType;> in 
(JdbcOutputFormatBuilder.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.database.catalog.AbstractJdbcCatalog.getDatabase(java.lang.String)>
 calls constructor 
<org.apache.flink.table.catalog.CatalogDatabaseImpl.<init>(java.util.Map, 
java.lang.String)> in (AbstractJdbcCatalog.java:258)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.deserialize(int,
 [B)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(JdbcCommitableSerializer.java:34)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitable)>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(JdbcCommitableSerializer.java:27)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitable)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(JdbcCommitableSerializer.java:29)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserialize(int,
 [B)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(JdbcWriterStateSerializer.java:48)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B, int, 
int)> in (JdbcWriterStateSerializer.java:62)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B, int, 
int)> in (JdbcWriterStateSerializer.java:70)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readByte()> 
in (JdbcWriterStateSerializer.java:60)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readByte()> 
in (JdbcWriterStateSerializer.java:68)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(JdbcWriterStateSerializer.java:57)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(JdbcWriterStateSerializer.java:65)
+Method 
<org.apache.flink.connector.jdbc.core.database.catalog.AbstractJdbcCatalog.getDatabase(java.lang.String)>
 calls constructor 
<org.apache.flink.table.catalog.CatalogDatabaseImpl.<init>(java.util.Map, 
java.lang.String)> in (AbstractJdbcCatalog.java:264)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.deserialize(int,
 [B)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(JdbcCommitableSerializer.java:51)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitable)>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(JdbcCommitableSerializer.java:44)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitableSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.committer.JdbcCommitable)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(JdbcCommitableSerializer.java:46)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserialize(int,
 [B)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(JdbcWriterStateSerializer.java:65)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B, int, 
int)> in (JdbcWriterStateSerializer.java:79)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B, int, 
int)> in (JdbcWriterStateSerializer.java:87)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readByte()> 
in (JdbcWriterStateSerializer.java:77)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readByte()> 
in (JdbcWriterStateSerializer.java:85)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(JdbcWriterStateSerializer.java:74)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(JdbcWriterStateSerializer.java:82)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.deserializeV2(org.apache.flink.core.memory.DataInputDeserializer)>
 has parameter of type <org.apache.flink.core.memory.DataInputDeserializer> in 
(JdbcWriterStateSerializer.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(JdbcWriterStateSerializer.java:29)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(JdbcWriterStateSerializer.java:42)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (JdbcWriterStateSerializer.java:34)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (JdbcWriterStateSerializer.java:40)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeByte(int)> in 
(JdbcWriterStateSerializer.java:33)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeByte(int)> in 
(JdbcWriterStateSerializer.java:39)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (JdbcWriterStateSerializer.java:30)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (JdbcWriterStateSerializer.java:36)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(JdbcWriterStateSerializer.java:46)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(JdbcWriterStateSerializer.java:59)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (JdbcWriterStateSerializer.java:51)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (JdbcWriterStateSerializer.java:57)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeByte(int)> in 
(JdbcWriterStateSerializer.java:50)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeByte(int)> in 
(JdbcWriterStateSerializer.java:56)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (JdbcWriterStateSerializer.java:47)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterStateSerializer.serialize(org.apache.flink.connector.jdbc.core.datastream.sink.writer.JdbcWriterState)>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (JdbcWriterStateSerializer.java:53)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.equals(java.lang.Object)>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getConfiguration()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getConnectionProvider()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getResultExtractor()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getSqlSplitEnumeratorProvider()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getSplitterEnumerator()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.getTypeInformation()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.SqlTemplateSplitEnumerator.getParameterValuesProvider()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(SqlTemplateSplitEnumerator.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.SqlTemplateSplitEnumerator.getSqlTemplate()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(SqlTemplateSplitEnumerator.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource.splitReaderSupplier(org.apache.flink.api.connector.source.SourceReaderContext)>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSource.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.PreparedSplitterEnumerator.getSqlParameters()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(PreparedSplitterEnumerator.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SlideTimingSplitterEnumerator.getSqlParameters()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(SlideTimingSplitterEnumerator.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.datastream.source.enumerator.splitter.SqlSplitterEnumerator.getSqlParameters()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(SqlSplitterEnumerator.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.reader.JdbcSourceSplitReader.getConnection()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSourceSplitReader.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.reader.JdbcSourceSplitReader.getResultSet()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSourceSplitReader.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.reader.JdbcSourceSplitReader.getSplits()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSourceSplitReader.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.datastream.source.reader.JdbcSourceSplitReader.getStatement()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcSourceSplitReader.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.JdbcDynamicTableFactory.checkAllOrNone(org.apache.flink.configuration.ReadableConfig,
 [Lorg.apache.flink.configuration.ConfigOption;)> has parameter of type 
<[Lorg.apache.flink.configuration.ConfigOption;> in 
(JdbcDynamicTableFactory.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcDynamicTableSink.getSinkRuntimeProvider(org.apache.flink.table.connector.sink.DynamicTableSink$Context)>
 calls method 
<org.apache.flink.table.connector.sink.SinkFunctionProvider.of(org.apache.flink.streaming.api.functions.sink.SinkFunction,
 java.lang.Integer)> in (JdbcDynamicTableSink.java:84)
+Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcDynamicTableSink.getSinkRuntimeProvider(org.apache.flink.table.connector.sink.DynamicTableSink$Context)>
 calls method 
<org.apache.flink.table.connector.sink.legacy.SinkFunctionProvider.of(org.apache.flink.streaming.api.functions.sink.legacy.SinkFunction,
 java.lang.Integer)> in (JdbcDynamicTableSink.java:84)
 Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.createBufferReduceExecutor(org.apache.flink.connector.jdbc.internal.options.JdbcDmlOptions,
 [Lorg.apache.flink.table.types.logical.LogicalType;)> has parameter of type 
<[Lorg.apache.flink.table.types.logical.LogicalType;> in 
(JdbcOutputFormatBuilder.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.createDeleteExecutor(org.apache.flink.connector.jdbc.core.database.dialect.JdbcDialect,
 java.lang.String, [Ljava.lang.String;, 
[Lorg.apache.flink.table.types.logical.LogicalType;)> has parameter of type 
<[Lorg.apache.flink.table.types.logical.LogicalType;> in 
(JdbcOutputFormatBuilder.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.createInsertOrUpdateExecutor(org.apache.flink.connector.jdbc.core.database.dialect.JdbcDialect,
 java.lang.String, [Ljava.lang.String;, 
[Lorg.apache.flink.table.types.logical.LogicalType;, [I, [Ljava.lang.String;, 
[Lorg.apache.flink.table.types.logical.LogicalType;)> has parameter of type 
<[Lorg.apache.flink.table.types.logical.LogicalType;> in 
(JdbcOutputFormatBuilder.java:0)
@@ -55,40 +59,38 @@ Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.
 Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.getPrimaryKey(org.apache.flink.table.data.RowData,
 [Lorg.apache.flink.table.data.RowData$FieldGetter;)> has parameter of type 
<[Lorg.apache.flink.table.data.RowData$FieldGetter;> in 
(JdbcOutputFormatBuilder.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.sink.JdbcOutputFormatBuilder.setFieldDataTypes([Lorg.apache.flink.table.types.DataType;)>
 has parameter of type <[Lorg.apache.flink.table.types.DataType;> in 
(JdbcOutputFormatBuilder.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataInputFormat.createInputSplits(int)>
 has return type <[Lorg.apache.flink.core.io.InputSplit;> in 
(JdbcRowDataInputFormat.java:0)
-Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataInputFormat.getInputSplitAssigner([Lorg.apache.flink.core.io.InputSplit;)>
 calls constructor 
<org.apache.flink.api.common.io.DefaultInputSplitAssigner.<init>([Lorg.apache.flink.core.io.InputSplit;)>
 in (JdbcRowDataInputFormat.java:287)
+Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataInputFormat.getInputSplitAssigner([Lorg.apache.flink.core.io.InputSplit;)>
 calls constructor 
<org.apache.flink.api.common.io.DefaultInputSplitAssigner.<init>([Lorg.apache.flink.core.io.InputSplit;)>
 in (JdbcRowDataInputFormat.java:295)
 Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataInputFormat.getInputSplitAssigner([Lorg.apache.flink.core.io.InputSplit;)>
 has parameter of type <[Lorg.apache.flink.core.io.InputSplit;> in 
(JdbcRowDataInputFormat.java:0)
 Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataLookupFunction.getDbConnection()>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcRowDataLookupFunction.java:0)
+Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataLookupFunction.getLineageVertex()>
 calls method 
<org.apache.flink.table.types.utils.LegacyTypeInfoDataTypeConverter.toLegacyTypeInfo(org.apache.flink.table.types.DataType)>
 in (JdbcRowDataLookupFunction.java:242)
+Method 
<org.apache.flink.connector.jdbc.core.table.source.JdbcRowDataLookupFunction.getLineageVertex()>
 calls method 
<org.apache.flink.table.types.utils.TypeConversions.fromLogicalToDataType(org.apache.flink.table.types.logical.LogicalType)>
 in (JdbcRowDataLookupFunction.java:243)
 Method 
<org.apache.flink.connector.jdbc.datasource.connections.xa.SimpleXaConnectionProvider.from(javax.sql.XADataSource)>
 is annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(SimpleXaConnectionProvider.java:0)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:96)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:101)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:98)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:99)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readLong()> 
in (TransactionId.java:100)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:83)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:87)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:85)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:88)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readLong()> in 
(TransactionId.java:89)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:172)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:175)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:173)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeLong(long)> in 
(TransactionId.java:174)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:158)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:161)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (TransactionId.java:159)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:160)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.readJobId(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B)> in 
(TransactionId.java:110)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:113)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:115)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:116)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:118)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.deserialize([B)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.readLong()> 
in (TransactionId.java:117)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:100)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls constructor 
<org.apache.flink.core.memory.DataInputDeserializer.<init>([B)> in 
(TransactionId.java:104)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:102)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readInt()> in 
(TransactionId.java:105)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.fromXid(int,
 [B, [B, boolean)> calls method 
<org.apache.flink.core.memory.DataInputDeserializer.readLong()> in 
(TransactionId.java:106)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:189)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:192)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:190)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getBranchQualifier()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeLong(long)> in 
(TransactionId.java:191)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:175)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:178)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (TransactionId.java:176)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.getGlobalTransactionId()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:177)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.readJobId(org.apache.flink.core.memory.DataInputDeserializer)>
 calls method <org.apache.flink.core.memory.DataInputDeserializer.read([B)> in 
(TransactionId.java:127)
 Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.readJobId(org.apache.flink.core.memory.DataInputDeserializer)>
 has parameter of type <org.apache.flink.core.memory.DataInputDeserializer> in 
(TransactionId.java:0)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:183)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:189)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (TransactionId.java:184)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:185)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:186)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:188)
-Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeLong(long)> in 
(TransactionId.java:187)
-Method 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.initializeState(org.apache.flink.runtime.state.FunctionInitializationContext)>
 has parameter of type 
<org.apache.flink.runtime.state.FunctionInitializationContext> in 
(GenericJdbcSinkFunction.java:0)
-Method 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.invoke(java.lang.Object,
 org.apache.flink.streaming.api.functions.sink.SinkFunction$Context)> has 
parameter of type 
<org.apache.flink.streaming.api.functions.sink.SinkFunction$Context> in 
(GenericJdbcSinkFunction.java:0)
-Method 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.open(org.apache.flink.configuration.Configuration)>
 calls method 
<org.apache.flink.streaming.api.functions.sink.RichSinkFunction.open(org.apache.flink.configuration.Configuration)>
 in (GenericJdbcSinkFunction.java:49)
-Method 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.snapshotState(org.apache.flink.runtime.state.FunctionSnapshotContext)>
 has parameter of type <org.apache.flink.runtime.state.FunctionSnapshotContext> 
in (GenericJdbcSinkFunction.java:0)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls constructor 
<org.apache.flink.core.memory.DataOutputSerializer.<init>(int)> in 
(TransactionId.java:200)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.getSharedBuffer()> in 
(TransactionId.java:206)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.write([B, int, 
int)> in (TransactionId.java:201)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:202)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:203)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method <org.apache.flink.core.memory.DataOutputSerializer.writeInt(int)> 
in (TransactionId.java:205)
+Method 
<org.apache.flink.connector.jdbc.datasource.transactions.xa.domain.TransactionId.serialize()>
 calls method 
<org.apache.flink.core.memory.DataOutputSerializer.writeLong(long)> in 
(TransactionId.java:204)
+Method 
<org.apache.flink.connector.jdbc.internal.GenericJdbcSinkFunction.open(org.apache.flink.api.common.functions.OpenContext)>
 calls method 
<org.apache.flink.streaming.api.functions.sink.legacy.RichSinkFunction.open(org.apache.flink.api.common.functions.OpenContext)>
 in (GenericJdbcSinkFunction.java:51)
 Method 
<org.apache.flink.connector.jdbc.internal.JdbcOutputFormat.getConnection()> is 
annotated with <org.apache.flink.annotation.VisibleForTesting> in 
(JdbcOutputFormat.java:0)
-Method 
<org.apache.flink.connector.jdbc.postgres.database.dialect.PostgresDialectConverter.createPostgresArrayConverter(org.apache.flink.table.types.logical.ArrayType)>
 calls method 
<org.apache.flink.table.types.logical.utils.LogicalTypeUtils.toInternalConversionClass(org.apache.flink.table.types.logical.LogicalType)>
 in (PostgresDialectConverter.java:77)
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/3547d327-0923-4fa7-8319-b18102cc22d0
 
b/flink-connector-jdbc-core/archunit-violations/c11f1061-9ae9-4c62-8b94-95c3f25330dd
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/3547d327-0923-4fa7-8319-b18102cc22d0
rename to 
flink-connector-jdbc-core/archunit-violations/c11f1061-9ae9-4c62-8b94-95c3f25330dd
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/7d5a32d5-922b-4760-825b-c30427dc987e
 
b/flink-connector-jdbc-core/archunit-violations/c9f812a6-cbc4-4b18-b2d4-e40b1f3ca565
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/7d5a32d5-922b-4760-825b-c30427dc987e
rename to 
flink-connector-jdbc-core/archunit-violations/c9f812a6-cbc4-4b18-b2d4-e40b1f3ca565
diff --git 
a/flink-connector-jdbc-core/archunit-violations/d45c3af5-52c6-45fd-9926-75e75e77473a
 
b/flink-connector-jdbc-core/archunit-violations/d45c3af5-52c6-45fd-9926-75e75e77473a
deleted file mode 100644
index c248851c..00000000
--- 
a/flink-connector-jdbc-core/archunit-violations/d45c3af5-52c6-45fd-9926-75e75e77473a
+++ /dev/null
@@ -1,4 +0,0 @@
-org.apache.flink.connector.jdbc.lineage.DefaultJdbcExtractor.extract(java.lang.String,
 java.util.Properties): Returned leaf type 
org.apache.flink.connector.jdbc.lineage.JdbcLocation does not satisfy: reside 
outside of package 'org.apache.flink..' or reside in any package ['..shaded..'] 
or annotated with @Public or annotated with @PublicEvolving or annotated with 
@Deprecated
-org.apache.flink.connector.jdbc.lineage.JdbcLocation$Builder.build(): Returned 
leaf type org.apache.flink.connector.jdbc.lineage.JdbcLocation does not 
satisfy: reside outside of package 'org.apache.flink..' or reside in any 
package ['..shaded..'] or annotated with @Public or annotated with 
@PublicEvolving or annotated with @Deprecated
-org.apache.flink.connector.jdbc.lineage.JdbcLocationExtractor.extract(java.lang.String,
 java.util.Properties): Returned leaf type 
org.apache.flink.connector.jdbc.lineage.JdbcLocation does not satisfy: reside 
outside of package 'org.apache.flink..' or reside in any package ['..shaded..'] 
or annotated with @Public or annotated with @PublicEvolving or annotated with 
@Deprecated
-org.apache.flink.connector.jdbc.lineage.OverrideJdbcLocationExtractor.extract(java.lang.String,
 java.util.Properties): Returned leaf type 
org.apache.flink.connector.jdbc.lineage.JdbcLocation does not satisfy: reside 
outside of package 'org.apache.flink..' or reside in any package ['..shaded..'] 
or annotated with @Public or annotated with @PublicEvolving or annotated with 
@Deprecated
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/b97067ac-f37f-4793-8578-bdbe6d2abf5b
 
b/flink-connector-jdbc-core/archunit-violations/d8e56a37-c208-481f-a9e1-bdd8a9ee204a
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/b97067ac-f37f-4793-8578-bdbe6d2abf5b
rename to 
flink-connector-jdbc-core/archunit-violations/d8e56a37-c208-481f-a9e1-bdd8a9ee204a
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/e391ec0f-7ba6-4b7e-8125-cbd364cbedd9
 
b/flink-connector-jdbc-core/archunit-violations/f069578c-b0e5-4242-8ccb-7a6c979a6af4
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/e391ec0f-7ba6-4b7e-8125-cbd364cbedd9
rename to 
flink-connector-jdbc-core/archunit-violations/f069578c-b0e5-4242-8ccb-7a6c979a6af4
diff --git a/flink-connector-jdbc-core/archunit-violations/stored.rules 
b/flink-connector-jdbc-core/archunit-violations/stored.rules
new file mode 100644
index 00000000..92b1282a
--- /dev/null
+++ b/flink-connector-jdbc-core/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:03 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=f069578c-b0e5-4242-8ccb-7a6c979a6af4
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=0f49bdf0-f71d-4016-937f-171c578bfc0c
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=80f8d98f-49ff-4828-807c-19d062920896
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=d8e56a37-c208-481f-a9e1-bdd8a9ee204a
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=c9f812a6-cbc4-4b18-b2d4-e40b1f3ca565
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=b3d44e5f-ef58-43dc-b47e-8b2a332f9539
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=c11f1061-9ae9-4c62-8b94-95c3f25330dd
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=bfd1a6a5-6e7f-457c-a227-063dc4b7247b
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 90%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..77356e64 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,7 +25,7 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
         packages = "org.apache.flink.connector.jdbc",
         importOptions = {
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 92%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..a2c75db8 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-core/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-core/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-core/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/f09f3e26-9371-41f4-86a1-cd59b0fe624c
 
b/flink-connector-jdbc-cratedb/archunit-violations/18b1a08b-7c35-4865-a4b3-7b74e0c73058
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/f09f3e26-9371-41f4-86a1-cd59b0fe624c
rename to 
flink-connector-jdbc-cratedb/archunit-violations/18b1a08b-7c35-4865-a4b3-7b74e0c73058
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/2ad4f931-910a-4bd0-82f5-13319c91e921
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/2ad4f931-910a-4bd0-82f5-13319c91e921
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/3096c7be-bdbe-4bad-bff5-966a7e4ec242
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/3096c7be-bdbe-4bad-bff5-966a7e4ec242
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/44e004ae-28cc-498a-bb55-12173d0691be
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/44e004ae-28cc-498a-bb55-12173d0691be
diff --git 
a/flink-connector-jdbc-cratedb/archunit-violations/4a9750c4-2aeb-4de8-988f-6c5f29d2db2a
 
b/flink-connector-jdbc-cratedb/archunit-violations/4a9750c4-2aeb-4de8-988f-6c5f29d2db2a
new file mode 100644
index 00000000..98b79e13
--- /dev/null
+++ 
b/flink-connector-jdbc-cratedb/archunit-violations/4a9750c4-2aeb-4de8-988f-6c5f29d2db2a
@@ -0,0 +1 @@
+Constructor 
<org.apache.flink.connector.jdbc.cratedb.database.catalog.CrateDBCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (CrateDBCatalog.java:0)
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/5bc1376f-e29a-4b2a-a0ee-14026ac9b883
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/5bc1376f-e29a-4b2a-a0ee-14026ac9b883
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/60b10a23-00dd-44ba-81e5-1cca57d1605a
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/60b10a23-00dd-44ba-81e5-1cca57d1605a
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-cratedb/archunit-violations/7692e71d-642e-48ba-b5b6-0058a26b9c45
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-cratedb/archunit-violations/7692e71d-642e-48ba-b5b6-0058a26b9c45
diff --git a/flink-connector-jdbc-cratedb/archunit-violations/stored.rules 
b/flink-connector-jdbc-cratedb/archunit-violations/stored.rules
new file mode 100644
index 00000000..6576e449
--- /dev/null
+++ b/flink-connector-jdbc-cratedb/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:07 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=7692e71d-642e-48ba-b5b6-0058a26b9c45
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=60b10a23-00dd-44ba-81e5-1cca57d1605a
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=2ad4f931-910a-4bd0-82f5-13319c91e921
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=18b1a08b-7c35-4865-a4b3-7b74e0c73058
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=44e004ae-28cc-498a-bb55-12173d0691be
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=3096c7be-bdbe-4bad-bff5-966a7e4ec242
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=5bc1376f-e29a-4b2a-a0ee-14026ac9b883
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=4a9750c4-2aeb-4de8-988f-6c5f29d2db2a
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..57a0f9cd 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.cratedb",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..26503de3 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-cratedb/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.cratedb",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-cratedb/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-cratedb/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/2e8030c5-95d2-47bf-b887-27d14220d20d
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/2e8030c5-95d2-47bf-b887-27d14220d20d
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/65f1adfa-04de-43fa-a4a0-dbeb41bfe613
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/65f1adfa-04de-43fa-a4a0-dbeb41bfe613
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/6e676c1c-fed1-4b76-b9a9-684e8d70360a
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/6e676c1c-fed1-4b76-b9a9-684e8d70360a
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/83b836ef-93e7-4e72-abfd-8228f862d484
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/83b836ef-93e7-4e72-abfd-8228f862d484
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/8c250c12-cab7-4acc-8ab0-87970fe805a6
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/8c250c12-cab7-4acc-8ab0-87970fe805a6
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/a3a69a16-9ee1-4129-ac23-1c63716a0292
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/a3a69a16-9ee1-4129-ac23-1c63716a0292
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/b3c1c4ef-6fff-4ed6-93f6-59271c7580f5
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/b3c1c4ef-6fff-4ed6-93f6-59271c7580f5
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-db2/archunit-violations/f3f0ecef-89a0-42e5-a536-b1d8268631d8
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-db2/archunit-violations/f3f0ecef-89a0-42e5-a536-b1d8268631d8
diff --git a/flink-connector-jdbc-db2/archunit-violations/stored.rules 
b/flink-connector-jdbc-db2/archunit-violations/stored.rules
new file mode 100644
index 00000000..35e75a11
--- /dev/null
+++ b/flink-connector-jdbc-db2/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:09 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=b3c1c4ef-6fff-4ed6-93f6-59271c7580f5
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=f3f0ecef-89a0-42e5-a536-b1d8268631d8
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=a3a69a16-9ee1-4129-ac23-1c63716a0292
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=83b836ef-93e7-4e72-abfd-8228f862d484
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=8c250c12-cab7-4acc-8ab0-87970fe805a6
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=6e676c1c-fed1-4b76-b9a9-684e8d70360a
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=2e8030c5-95d2-47bf-b887-27d14220d20d
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=65f1adfa-04de-43fa-a4a0-dbeb41bfe613
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..8b5d9df9 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.db2",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..66522470 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-db2/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.db2",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-db2/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-db2/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/041248bb-a0d3-4c9a-bd8f-f62f4cb2c0a4
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/041248bb-a0d3-4c9a-bd8f-f62f4cb2c0a4
diff --git 
a/flink-connector-jdbc-mysql/archunit-violations/2de0619c-9181-4b73-8572-d822f35407a4
 
b/flink-connector-jdbc-mysql/archunit-violations/2de0619c-9181-4b73-8572-d822f35407a4
new file mode 100644
index 00000000..257387ac
--- /dev/null
+++ 
b/flink-connector-jdbc-mysql/archunit-violations/2de0619c-9181-4b73-8572-d822f35407a4
@@ -0,0 +1 @@
+Constructor 
<org.apache.flink.connector.jdbc.mysql.database.catalog.MySqlCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (MySqlCatalog.java:0)
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/40e9d392-d2aa-416d-b4d6-49b07801597c
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/40e9d392-d2aa-416d-b4d6-49b07801597c
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/460ec9b3-bff5-423a-9e21-f46d4a7d993f
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/460ec9b3-bff5-423a-9e21-f46d4a7d993f
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/4892a5e5-2f8a-4ff7-9d9f-4592e589e945
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/4892a5e5-2f8a-4ff7-9d9f-4592e589e945
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/6709acf2-cd7e-459a-86a7-2e2660c10e83
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/6709acf2-cd7e-459a-86a7-2e2660c10e83
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/6f25c97c-4592-4418-b527-49e0f7613bb9
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/6f25c97c-4592-4418-b527-49e0f7613bb9
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-mysql/archunit-violations/7e349b0b-2ede-4b54-98a8-790e148fe403
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-mysql/archunit-violations/7e349b0b-2ede-4b54-98a8-790e148fe403
diff --git a/flink-connector-jdbc-mysql/archunit-violations/stored.rules 
b/flink-connector-jdbc-mysql/archunit-violations/stored.rules
new file mode 100644
index 00000000..35cd6d21
--- /dev/null
+++ b/flink-connector-jdbc-mysql/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:11 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=6709acf2-cd7e-459a-86a7-2e2660c10e83
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=4892a5e5-2f8a-4ff7-9d9f-4592e589e945
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=460ec9b3-bff5-423a-9e21-f46d4a7d993f
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=40e9d392-d2aa-416d-b4d6-49b07801597c
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=041248bb-a0d3-4c9a-bd8f-f62f4cb2c0a4
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=7e349b0b-2ede-4b54-98a8-790e148fe403
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=6f25c97c-4592-4418-b527-49e0f7613bb9
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=2de0619c-9181-4b73-8572-d822f35407a4
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..f59b8d80 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.mysql",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..89bd5fdc 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-mysql/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.mysql",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-mysql/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-mysql/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/5e59c274-e3f2-4da6-8d78-01204a740d78
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/5e59c274-e3f2-4da6-8d78-01204a740d78
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/7b3d43d1-a221-419d-a254-c290475a695f
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/7b3d43d1-a221-419d-a254-c290475a695f
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/c3206180-fd03-4ab2-b4b5-ec8dbb1de62d
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/c3206180-fd03-4ab2-b4b5-ec8dbb1de62d
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/dd9af22d-1495-42b4-b54d-3ca5a2414420
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/dd9af22d-1495-42b4-b54d-3ca5a2414420
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/e1758469-b99c-473f-a1bd-7c0d6c32168c
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/e1758469-b99c-473f-a1bd-7c0d6c32168c
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/f0a2c1bd-77f7-4bf8-8c09-6c2300ce1cee
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/f0a2c1bd-77f7-4bf8-8c09-6c2300ce1cee
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/f1c4fff7-6cf7-429f-ad9a-484f47bb290c
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/f1c4fff7-6cf7-429f-ad9a-484f47bb290c
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oceanbase/archunit-violations/fec4491e-7f37-4cca-a571-fbe4a0dfd02f
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oceanbase/archunit-violations/fec4491e-7f37-4cca-a571-fbe4a0dfd02f
diff --git a/flink-connector-jdbc-oceanbase/archunit-violations/stored.rules 
b/flink-connector-jdbc-oceanbase/archunit-violations/stored.rules
new file mode 100644
index 00000000..61b1d590
--- /dev/null
+++ b/flink-connector-jdbc-oceanbase/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:15 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=f0a2c1bd-77f7-4bf8-8c09-6c2300ce1cee
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=fec4491e-7f37-4cca-a571-fbe4a0dfd02f
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=c3206180-fd03-4ab2-b4b5-ec8dbb1de62d
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=7b3d43d1-a221-419d-a254-c290475a695f
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=5e59c274-e3f2-4da6-8d78-01204a740d78
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=e1758469-b99c-473f-a1bd-7c0d6c32168c
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=f1c4fff7-6cf7-429f-ad9a-484f47bb290c
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=dd9af22d-1495-42b4-b54d-3ca5a2414420
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..168cd7bf 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.oceanbase",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..eab3c147 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-oceanbase/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.oceanbase",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-oceanbase/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-oceanbase/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/06cdf39b-6a96-49c4-9bd0-24e3edf12857
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/06cdf39b-6a96-49c4-9bd0-24e3edf12857
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/17881caa-64d9-4b51-a3c1-d205f92cbcd3
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/17881caa-64d9-4b51-a3c1-d205f92cbcd3
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/49ee6041-00ff-47d3-afca-e76241c061a2
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/49ee6041-00ff-47d3-afca-e76241c061a2
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/52164878-5b9b-465b-8153-4eb055f7c1f4
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/52164878-5b9b-465b-8153-4eb055f7c1f4
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/54112a23-a85d-44c4-b434-988ad7de3a6c
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/54112a23-a85d-44c4-b434-988ad7de3a6c
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/59f14908-77a2-48bd-93da-631f297b2016
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/59f14908-77a2-48bd-93da-631f297b2016
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/9c76a6c3-c9be-4846-bed4-6e0bef64ba64
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/9c76a6c3-c9be-4846-bed4-6e0bef64ba64
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-oracle/archunit-violations/f7813520-5b1a-4487-8fa6-8df95e5a7a18
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-oracle/archunit-violations/f7813520-5b1a-4487-8fa6-8df95e5a7a18
diff --git a/flink-connector-jdbc-oracle/archunit-violations/stored.rules 
b/flink-connector-jdbc-oracle/archunit-violations/stored.rules
new file mode 100644
index 00000000..d8daeff5
--- /dev/null
+++ b/flink-connector-jdbc-oracle/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:13 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=52164878-5b9b-465b-8153-4eb055f7c1f4
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=49ee6041-00ff-47d3-afca-e76241c061a2
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=9c76a6c3-c9be-4846-bed4-6e0bef64ba64
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=17881caa-64d9-4b51-a3c1-d205f92cbcd3
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=59f14908-77a2-48bd-93da-631f297b2016
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=54112a23-a85d-44c4-b434-988ad7de3a6c
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=f7813520-5b1a-4487-8fa6-8df95e5a7a18
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=06cdf39b-6a96-49c4-9bd0-24e3edf12857
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..e54e9bb8 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.oracle",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..d02be687 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-oracle/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.oracle",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-oracle/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-oracle/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/1097d976-f36d-4edc-b248-328cae41fcd4
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/1097d976-f36d-4edc-b248-328cae41fcd4
diff --git 
a/flink-connector-jdbc-postgres/archunit-violations/5d34e07e-4a17-4115-8a8c-0e6f598b4627
 
b/flink-connector-jdbc-postgres/archunit-violations/5d34e07e-4a17-4115-8a8c-0e6f598b4627
new file mode 100644
index 00000000..5c66940f
--- /dev/null
+++ 
b/flink-connector-jdbc-postgres/archunit-violations/5d34e07e-4a17-4115-8a8c-0e6f598b4627
@@ -0,0 +1,2 @@
+Constructor 
<org.apache.flink.connector.jdbc.postgres.database.catalog.PostgresCatalog.<init>(java.lang.ClassLoader,
 java.lang.String, java.lang.String, java.lang.String, java.lang.String, 
java.lang.String)> is annotated with 
<org.apache.flink.annotation.VisibleForTesting> in (PostgresCatalog.java:0)
+Method 
<org.apache.flink.connector.jdbc.postgres.database.dialect.PostgresDialectConverter.createPostgresArrayConverter(org.apache.flink.table.types.logical.ArrayType)>
 calls method 
<org.apache.flink.table.types.logical.utils.LogicalTypeUtils.toInternalConversionClass(org.apache.flink.table.types.logical.LogicalType)>
 in (PostgresDialectConverter.java:77)
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/6d1fc2c8-104a-46ce-9c59-97c5405a7aec
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/6d1fc2c8-104a-46ce-9c59-97c5405a7aec
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/700df704-932a-4712-9363-e6b21d148ecb
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/700df704-932a-4712-9363-e6b21d148ecb
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/915248fb-8c8c-41c6-abaa-35ccd141abc9
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/915248fb-8c8c-41c6-abaa-35ccd141abc9
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/47967139-2deb-41b4-91c3-b19e56e5fc76
 
b/flink-connector-jdbc-postgres/archunit-violations/b7c02617-1c8e-4a91-81f6-ea778760c9e5
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/47967139-2deb-41b4-91c3-b19e56e5fc76
rename to 
flink-connector-jdbc-postgres/archunit-violations/b7c02617-1c8e-4a91-81f6-ea778760c9e5
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/bf75a388-4509-4b48-916b-4ab41ce5c2e1
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/bf75a388-4509-4b48-916b-4ab41ce5c2e1
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-postgres/archunit-violations/d0ca7a87-12df-4663-b26c-ddd405fc9883
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-postgres/archunit-violations/d0ca7a87-12df-4663-b26c-ddd405fc9883
diff --git a/flink-connector-jdbc-postgres/archunit-violations/stored.rules 
b/flink-connector-jdbc-postgres/archunit-violations/stored.rules
new file mode 100644
index 00000000..c08ba2f4
--- /dev/null
+++ b/flink-connector-jdbc-postgres/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:05 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=1097d976-f36d-4edc-b248-328cae41fcd4
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=700df704-932a-4712-9363-e6b21d148ecb
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=bf75a388-4509-4b48-916b-4ab41ce5c2e1
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=d0ca7a87-12df-4663-b26c-ddd405fc9883
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=6d1fc2c8-104a-46ce-9c59-97c5405a7aec
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=b7c02617-1c8e-4a91-81f6-ea778760c9e5
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=915248fb-8c8c-41c6-abaa-35ccd141abc9
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=5d34e07e-4a17-4115-8a8c-0e6f598b4627
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..62a59989 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.postgres",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..9a132793 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-postgres/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.postgres",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-postgres/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-postgres/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/3c63f9b0-ba49-48c1-b904-059ef367ebe1
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/3c63f9b0-ba49-48c1-b904-059ef367ebe1
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/3f12d9a8-29da-4e5f-80be-0722ec9e7b1e
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/3f12d9a8-29da-4e5f-80be-0722ec9e7b1e
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/45c748ed-969f-43fb-bf60-919386edb6ed
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/45c748ed-969f-43fb-bf60-919386edb6ed
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/7fe59295-a069-4f8d-a576-6b1fcd10c9f7
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/7fe59295-a069-4f8d-a576-6b1fcd10c9f7
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/8d9f0120-d451-4fa8-bd92-8e1b192b5d97
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/8d9f0120-d451-4fa8-bd92-8e1b192b5d97
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/cbd0e661-33c7-4976-8698-1e6d3b85139b
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/cbd0e661-33c7-4976-8698-1e6d3b85139b
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/e4e90da5-167a-4f0b-a84f-eba2c9d16c4f
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/e4e90da5-167a-4f0b-a84f-eba2c9d16c4f
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-sqlserver/archunit-violations/faf3e37e-64e3-464c-8c1f-c1aa14fa3e48
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-sqlserver/archunit-violations/faf3e37e-64e3-464c-8c1f-c1aa14fa3e48
diff --git a/flink-connector-jdbc-sqlserver/archunit-violations/stored.rules 
b/flink-connector-jdbc-sqlserver/archunit-violations/stored.rules
new file mode 100644
index 00000000..bb97c649
--- /dev/null
+++ b/flink-connector-jdbc-sqlserver/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:17 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=3c63f9b0-ba49-48c1-b904-059ef367ebe1
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=cbd0e661-33c7-4976-8698-1e6d3b85139b
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=45c748ed-969f-43fb-bf60-919386edb6ed
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=7fe59295-a069-4f8d-a576-6b1fcd10c9f7
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=e4e90da5-167a-4f0b-a84f-eba2c9d16c4f
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=3f12d9a8-29da-4e5f-80be-0722ec9e7b1e
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=faf3e37e-64e3-464c-8c1f-c1aa14fa3e48
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=8d9f0120-d451-4fa8-bd92-8e1b192b5d97
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
copy to 
flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..6c64df1c 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.sqlserver",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
copy from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
copy to 
flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..d4eae5cb 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-sqlserver/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.sqlserver",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-sqlserver/src/test/resources/archunit.properties
similarity index 100%
copy from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
copy to flink-connector-jdbc-sqlserver/src/test/resources/archunit.properties
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/0a6af016-86e2-4267-8e0f-a78b2b2d561b
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/0a6af016-86e2-4267-8e0f-a78b2b2d561b
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/201971cc-99ff-4b2a-9ea4-4d08a3790fdf
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/201971cc-99ff-4b2a-9ea4-4d08a3790fdf
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/5702d8bb-bbca-4d7e-be22-66abca492624
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/5702d8bb-bbca-4d7e-be22-66abca492624
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/777af8e7-d1c6-4e94-83ac-aade40ca30ba
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/777af8e7-d1c6-4e94-83ac-aade40ca30ba
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/b4324fe2-2ce6-4897-8253-8d3d7120ceaa
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/b4324fe2-2ce6-4897-8253-8d3d7120ceaa
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/daab840c-4138-4c96-bc4e-7ec9ae9e2809
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/daab840c-4138-4c96-bc4e-7ec9ae9e2809
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/eb2972d6-5302-479d-822d-133c7685c383
similarity index 100%
copy from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
copy to 
flink-connector-jdbc-trino/archunit-violations/eb2972d6-5302-479d-822d-133c7685c383
diff --git 
a/flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
 
b/flink-connector-jdbc-trino/archunit-violations/f23a12c9-2a90-4360-ab32-f79f0a1b2946
similarity index 100%
rename from 
flink-connector-jdbc-architecture/archunit-violations/10da9e19-442f-49fb-b340-a2e401062d33
rename to 
flink-connector-jdbc-trino/archunit-violations/f23a12c9-2a90-4360-ab32-f79f0a1b2946
diff --git a/flink-connector-jdbc-trino/archunit-violations/stored.rules 
b/flink-connector-jdbc-trino/archunit-violations/stored.rules
new file mode 100644
index 00000000..21e095ea
--- /dev/null
+++ b/flink-connector-jdbc-trino/archunit-violations/stored.rules
@@ -0,0 +1,10 @@
+#
+#Wed Sep 23 14:00:19 CEST 2026
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @Public\ must\ be\ 
annotated\ with\ @Public.=0a6af016-86e2-4267-8e0f-a78b2b2d561b
+ITCASE\ tests\ should\ use\ a\ MiniCluster\ resource\ or\ 
extension=daab840c-4138-4c96-bc4e-7ec9ae9e2809
+Production\ code\ must\ not\ call\ methods\ annotated\ with\ 
@VisibleForTesting=f23a12c9-2a90-4360-ab32-f79f0a1b2946
+Options\ for\ connectors\ and\ formats\ should\ reside\ in\ a\ consistent\ 
package\ and\ be\ public\ API.=201971cc-99ff-4b2a-9ea4-4d08a3790fdf
+Tests\ inheriting\ from\ AbstractTestBase\ should\ have\ name\ ending\ with\ 
ITCase=777af8e7-d1c6-4e94-83ac-aade40ca30ba
+Return\ and\ argument\ types\ of\ methods\ annotated\ with\ @PublicEvolving\ 
must\ be\ annotated\ with\ 
@Public(Evolving).=eb2972d6-5302-479d-822d-133c7685c383
+Classes\ in\ API\ packages\ should\ have\ at\ least\ one\ API\ visibility\ 
annotation.=5702d8bb-bbca-4d7e-be22-66abca492624
+Connector\ production\ code\ must\ depend\ only\ on\ public\ API\ when\ 
outside\ of\ connector\ packages=b4324fe2-2ce6-4897-8253-8d3d7120ceaa
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
 
b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
similarity index 87%
rename from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
rename to 
flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
index d72fb527..90960561 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/ProductionCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/ProductionCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.ProductionCodeArchitectureBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -26,9 +25,9 @@ import com.tngtech.archunit.junit.AnalyzeClasses;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.junit.ArchTests;
 
-/** production code for Architecture tests. */
+/** Production code architecture tests. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.trino",
         importOptions = {
             ImportOption.DoNotIncludeTests.class,
             ImportOption.DoNotIncludeArchives.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
 
b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
similarity index 89%
rename from 
flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
rename to 
flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
index a011bce5..b476bbd1 100644
--- 
a/flink-connector-jdbc-architecture/src/test/java/org/apache/flink/connector/jdbc/architecture/TestCodeArchitectureTest.java
+++ 
b/flink-connector-jdbc-trino/src/test/java/org/apache/flink/architecture/TestCodeArchitectureTest.java
@@ -16,9 +16,8 @@
  * limitations under the License.
  */
 
-package org.apache.flink.connector.jdbc.architecture;
+package org.apache.flink.architecture;
 
-import org.apache.flink.architecture.TestCodeArchitectureTestBase;
 import org.apache.flink.architecture.common.ImportOptions;
 
 import com.tngtech.archunit.core.importer.ImportOption;
@@ -28,7 +27,7 @@ import com.tngtech.archunit.junit.ArchTests;
 
 /** Architecture tests for test code. */
 @AnalyzeClasses(
-        packages = "org.apache.flink.connector.jdbc",
+        packages = "org.apache.flink.connector.jdbc.trino",
         importOptions = {
             ImportOption.OnlyIncludeTests.class,
             ImportOptions.ExcludeScalaImportOption.class,
diff --git 
a/flink-connector-jdbc-architecture/src/test/resources/archunit.properties 
b/flink-connector-jdbc-trino/src/test/resources/archunit.properties
similarity index 100%
rename from 
flink-connector-jdbc-architecture/src/test/resources/archunit.properties
rename to flink-connector-jdbc-trino/src/test/resources/archunit.properties
diff --git a/pom.xml b/pom.xml
index 5194d44e..0174e279 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,7 +43,6 @@ under the License.
     </scm>
 
     <modules>
-        <module>flink-connector-jdbc-architecture</module>
         <module>flink-connector-jdbc-core</module>
         <module>flink-connector-jdbc-cratedb</module>
         <module>flink-connector-jdbc-db2</module>
@@ -154,6 +153,19 @@ under the License.
             <scope>test</scope>
         </dependency>
 
+        <!-- ArchUnit test dependencies -->
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-architecture-tests-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.flink</groupId>
+            <artifactId>flink-architecture-tests-production</artifactId>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
     <!-- This section defines the module versions that are used if nothing 
else is specified. -->
@@ -190,6 +202,29 @@ under the License.
                 <scope>test</scope>
             </dependency>
 
+            <!-- Flink ArchUnit -->
+
+            <dependency>
+                <groupId>org.apache.flink</groupId>
+                <artifactId>flink-architecture-tests-base</artifactId>
+                <version>${flink.version}</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.flink</groupId>
+                <artifactId>flink-architecture-tests-test</artifactId>
+                <version>${flink.version}</version>
+                <scope>test</scope>
+            </dependency>
+
+            <dependency>
+                <groupId>org.apache.flink</groupId>
+                <artifactId>flink-architecture-tests-production</artifactId>
+                <version>${flink.version}</version>
+                <scope>test</scope>
+            </dependency>
+
             <!-- This manages the 'javax.annotation' annotations (JSR305) -->
             <dependency>
                 <groupId>com.google.code.findbugs</groupId>

Reply via email to