Skip to content

Commit af86def

Browse files
committed
Added ClickHouseDialect
0 parents  commit af86def

File tree

397 files changed

+48700
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

397 files changed

+48700
-0
lines changed

.asf.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
github:
2+
enabled_merge_buttons:
3+
squash: true
4+
merge: false
5+
rebase: true
6+
labels:
7+
- flink
8+
- jdbc
9+
- connector
10+
- datastream
11+
- table
12+
- sql
13+
autolink_jira: FLINK
14+
collaborators:
15+
- flinkbot
16+
notifications:
17+
commits: commits@flink.apache.org
18+
issues: issues@flink.apache.org
19+
pullrequests: issues@flink.apache.org
20+
jobs: builds@flink.apache.org
21+
jira_options: link label

.github/boring-cyborg.yml

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
################################################################################
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
################################################################################
18+
19+
labelPRBasedOnFilePath:
20+
component=BuildSystem:
21+
- .github/**/*
22+
- tools/maven/*
23+
24+
component=Documentation:
25+
- docs/**/*
26+
27+
component=JDBC/Core:
28+
- flink-connector-jdbc-core/**/*
29+
30+
component=JDBC/CrateDB:
31+
- flink-connector-jdbc-cratedb/**/*
32+
33+
component=JDBC/DB2:
34+
- flink-connector-jdbc-db2/**/*
35+
36+
component=JDBC/MySql:
37+
- flink-connector-jdbc-mysql/**/*
38+
39+
component=JDBC/OceanBase:
40+
- flink-connector-jdbc-oceanbase/**/*
41+
42+
component=JDBC/Oracle:
43+
- flink-connector-jdbc-oracle/**/*
44+
45+
component=JDBC/Postgres:
46+
- flink-connector-jdbc-postgres/**/*
47+
48+
component=JDBC/Shaded:
49+
- flink-connector-jdbc/**/*
50+
51+
component=JDBC/SqlServer:
52+
- flink-connector-jdbc-sqlserver/**/*
53+
54+
component=JDBC/Trino:
55+
- flink-connector-jdbc-trino/**/*
56+
57+
component=JDBC/ClickHouse:
58+
- flink-connector-jdbc-clickhouse/**/*
59+
60+
###### IssueLink Adder #################################################################################################
61+
# Insert Issue (Jira/Github etc) link in PR description based on the Issue ID in PR title.
62+
insertIssueLinkInPrDescription:
63+
# specify the placeholder for the issue link that should be present in the description
64+
descriptionIssuePlaceholderRegexp: "^Issue link: (.*)$"
65+
matchers:
66+
# you can have several matches - for different types of issues
67+
# only the first matching entry is replaced
68+
jiraIssueMatch:
69+
# specify the regexp of issue id that you can find in the title of the PR
70+
# the match groups can be used to build the issue id (${1}, ${2}, etc.).
71+
titleIssueIdRegexp: \[(FLINK-[0-9]+)\]
72+
# the issue link to be added. ${1}, ${2} ... are replaced with the match groups from the
73+
# title match (remember to use quotes)
74+
descriptionIssueLink: "[${1}](https://issues.apache.org/jira/browse/${1}/)"
75+
docOnlyIssueMatch:
76+
titleIssueIdRegexp: \[hotfix\]
77+
descriptionIssueLink: "`Documentation only change, no JIRA issue`"
78+
79+
###### Title Validator #################################################################################################
80+
# Verifies if commit/PR titles match the regexp specified
81+
verifyTitles:
82+
# Regular expression that should be matched by titles of commits or PR
83+
titleRegexp: ^\[FLINK-[0-9]+\].*$|^\[FLINK-XXXXX\].*$|^\[hotfix].*$
84+
# If set to true, it will always check the PR title (as opposed to the individual commits).
85+
alwaysUsePrTitle: false
86+
# If set to true, it will only check the commit in case there is a single commit.
87+
# In case of multiple commits it will check PR title.
88+
# This reflects the standard behaviour of Github that for `Squash & Merge` GitHub
89+
# uses the PR title rather than commit messages for the squashed commit ¯\_(ツ)_/¯
90+
# For single-commit PRs it takes the squashed commit message from the commit as expected.
91+
#
92+
# If set to false it will check all commit messages. This is useful when you do not squash commits at merge.
93+
validateEitherPrOrSingleCommitTitle: true
94+
# The title the GitHub status should appear from.
95+
statusTitle: "Title Validator"
96+
# A custom message to be displayed when the title passes validation.
97+
successMessage: "Validation successful!"
98+
# A custom message to be displayed when the title fails validation.
99+
# Allows insertion of ${type} (commit/PR), ${title} (the title validated) and ${regex} (the titleRegexp above).
100+
failureMessage: "Wrong ${type} title: ${title}"
101+
102+
# Various Flags to control behaviour of the "Labeler"
103+
labelerFlags:
104+
# If this flag is changed to 'false', labels would only be added when the PR is first created
105+
# and not when existing PR is updated.
106+
# The default is 'true' which means the labels would be added when PR is updated even if they
107+
# were removed by the user
108+
labelOnPRUpdates: true
109+
110+
# Comment to be posted to welcome users when they open their first PR
111+
firstPRWelcomeComment: >
112+
Thanks for opening this pull request! Please check out our contributing guidelines. (https://flink.apache.org/contributing/how-to-contribute.html)
113+
114+
# Comment to be posted to congratulate user on their first merged PR
115+
firstPRMergeComment: >
116+
Awesome work, congrats on your first merged pull request!
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
################################################################################
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
################################################################################
18+
19+
# We need to specify repo related information here since Apache INFRA doesn't differentiate
20+
# between several workflows with the same names while preparing a report for GHA usage
21+
# https://infra-reports.apache.org/#ghactions
22+
name: Flink Connector JDBC CI Backwards Compatibility
23+
on: [push, pull_request]
24+
concurrency:
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: true
27+
jobs:
28+
backwards_compatibility_test:
29+
runs-on: ubuntu-latest
30+
strategy:
31+
matrix:
32+
flink: [2.0-SNAPSHOT, 2.1-SNAPSHOT]
33+
jdk: [17]
34+
35+
env:
36+
MVN_CONNECTION_OPTIONS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120
37+
FLINK_CACHE_DIR: "/tmp/cache/flink"
38+
MVN_BUILD_OUTPUT_FILE: "/tmp/mvn_build_output.out"
39+
MVN_VALIDATION_DIR: "/tmp/flink-validation-deployment"
40+
41+
steps:
42+
- name: Check out repository code
43+
uses: actions/checkout@v4
44+
45+
- name: Set JDK
46+
uses: actions/setup-java@v4
47+
with:
48+
java-version: ${{ matrix.jdk }}
49+
distribution: 'temurin'
50+
cache: 'maven'
51+
52+
- name: Set Maven 3.8.6
53+
uses: stCarolas/setup-maven@v5
54+
with:
55+
maven-version: 3.8.6
56+
57+
- name: "Determine Flink binary url"
58+
run: |
59+
binary_url=""
60+
if [[ "${{ matrix.flink }}" = *-SNAPSHOT ]]; then
61+
binary_url=https://s3.amazonaws.com/flink-nightly/flink-${{ matrix.flink }}-bin-scala_2.12.tgz
62+
cache_binary=false
63+
else
64+
binary_url=https://archive.apache.org/dist/flink/flink-${{ matrix.flink }}/flink-${{ matrix.flink }}-bin-scala_2.12.tgz
65+
cache_binary=true
66+
fi
67+
echo "binary_url=$binary_url" >> ${GITHUB_ENV}
68+
69+
- name: "Print Flink binary url / caching"
70+
run: echo "${{ env.binary_url }} / caching=${{ env.cache_binary }}"
71+
72+
- name: Create cache dirs
73+
run: mkdir -p ${{ env.FLINK_CACHE_DIR }}
74+
75+
- name: Download Flink binary
76+
working-directory: ${{ env.FLINK_CACHE_DIR }}
77+
run: wget -q -c ${{ env.binary_url }} -O - | tar -xz
78+
79+
- name: Install JDBC Libs
80+
run: |
81+
set -o pipefail
82+
83+
mvn clean install -U -B --no-transfer-progress -Dflink.version=${{ matrix.flink }} \
84+
-DskipTests \
85+
-DaltDeploymentRepository=validation_repository::default::file:${{ env.MVN_VALIDATION_DIR }} \
86+
-Dscala-2.12 \
87+
-DdistDir=${{ env.FLINK_CACHE_DIR }}/flink-${{ matrix.flink }} \
88+
${{ env.MVN_CONNECTION_OPTIONS }} \
89+
-Dlog4j.configurationFile=file://$(pwd)/tools/ci/log4j.properties \
90+
| tee ${{ env.MVN_BUILD_OUTPUT_FILE }}
91+
92+
- name: Test backwards compatibility
93+
working-directory: ./flink-connector-jdbc-backward-compatibility
94+
run: |
95+
set -o pipefail
96+
97+
mvn clean test -U -B --no-transfer-progress -Dflink.version=${{ matrix.flink }} \
98+
-DaltDeploymentRepository=validation_repository::default::file:${{ env.MVN_VALIDATION_DIR }} \
99+
-Dscala-2.12 \
100+
-DdistDir=${{ env.FLINK_CACHE_DIR }}/flink-${{ matrix.flink }} \
101+
${{ env.MVN_CONNECTION_OPTIONS }} \
102+
-Dlog4j.configurationFile=file://$(pwd)/tools/ci/log4j.properties \
103+
| tee ${{ env.MVN_BUILD_OUTPUT_FILE }}

.github/workflows/push_pr.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
################################################################################
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
################################################################################
18+
19+
# We need to specify repo related information here since Apache INFRA doesn't differentiate
20+
# between several workflows with the same names while preparing a report for GHA usage
21+
# https://infra-reports.apache.org/#ghactions
22+
name: Flink Connector JDBC CI
23+
on: [push, pull_request]
24+
concurrency:
25+
group: ${{ github.workflow }}-${{ github.ref }}
26+
cancel-in-progress: true
27+
jobs:
28+
compile_and_test:
29+
strategy:
30+
matrix:
31+
flink: [2.0.0]
32+
jdk: [ '17' ]
33+
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
34+
with:
35+
flink_version: ${{ matrix.flink }}
36+
jdk_version: ${{ matrix.jdk }}

.github/workflows/weekly.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
################################################################################
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing, software
13+
# distributed under the License is distributed on an "AS IS" BASIS,
14+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
# See the License for the specific language governing permissions and
16+
# limitations under the License.
17+
################################################################################
18+
19+
# We need to specify repo related information here since Apache INFRA doesn't differentiate
20+
# between several workflows with the same names while preparing a report for GHA usage
21+
# https://infra-reports.apache.org/#ghactions
22+
name: Weekly Flink Connector JDBC
23+
on:
24+
schedule:
25+
- cron: "0 0 * * 0"
26+
workflow_dispatch:
27+
jobs:
28+
compile_and_test:
29+
if: github.repository_owner == 'apache'
30+
strategy:
31+
matrix:
32+
flink_branches: [{
33+
flink: 2.1-SNAPSHOT,
34+
jdk: '17',
35+
branch: main
36+
}, {
37+
flink: 2.0-SNAPSHOT,
38+
jdk: '17',
39+
branch: main
40+
}, {
41+
flink: 2.0.0,
42+
jdk: '17',
43+
branch: main
44+
}, {
45+
flink: 1.19.1,
46+
jdk: '8, 11, 17, 21',
47+
branch: v3.2
48+
}, {
49+
flink: 1.18.0,
50+
jdk: '8, 11, 17',
51+
branch: v3.1
52+
}]
53+
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
54+
with:
55+
flink_version: ${{ matrix.flink_branches.flink }}
56+
connector_branch: ${{ matrix.flink_branches.branch }}
57+
jdk_version: ${{ matrix.flink_branches.jdk || '8, 11' }}
58+
run_dependency_convergence: false

.gitignore

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
.eslintcache
2+
.cache
3+
scalastyle-output.xml
4+
.classpath
5+
.idea/*
6+
!.idea/vcs.xml
7+
.metadata
8+
.settings
9+
.project
10+
.version.properties
11+
filter.properties
12+
logs.zip
13+
.mvn/wrapper/*.jar
14+
target
15+
tmp
16+
*.class
17+
*.iml
18+
*.swp
19+
*.jar
20+
*.zip
21+
*.log
22+
*.pyc
23+
.DS_Store
24+
build-target
25+
atlassian-ide-plugin.xml
26+
out/
27+
/docs/api
28+
/docs/.bundle
29+
/docs/.rubydeps
30+
/docs/ruby2/.bundle
31+
/docs/ruby2/.rubydeps
32+
/docs/.jekyll-metadata
33+
*.ipr
34+
*.iws
35+
tools/flink
36+
tools/flink-*
37+
tools/releasing/release
38+
tools/japicmp-output

.gitmodules

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[submodule "tools/releasing/shared"]
2+
path = tools/releasing/shared
3+
url = git@github.com:apache/flink-connector-shared-utils.git
4+
branch = release_utils

0 commit comments

Comments
 (0)