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>