Skip to content

Commit f90da25

Browse files
borislitvakboris-snyk
authored andcommitted
feat: snowflake source
2 parents e3dd841 + cd48c4a commit f90da25

File tree

142 files changed

+9270
-260
lines changed

Some content is hidden

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

142 files changed

+9270
-260
lines changed

.github/workflows/push_pr.yml

+3-4
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,12 @@ jobs:
2525
compile_and_test:
2626
strategy:
2727
matrix:
28-
flink: [ 1.16-SNAPSHOT, 1.17-SNAPSHOT ]
29-
jdk: [ '8, 11' ]
28+
flink: [ 1.19-SNAPSHOT, 1.20-SNAPSHOT ]
29+
jdk: [ '8, 11, 17, 21' ]
3030
include:
3131
- flink: 1.18-SNAPSHOT
3232
jdk: '8, 11, 17'
33-
- flink: 1.19-SNAPSHOT
34-
jdk: '8, 11, 17, 21'
33+
3534
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
3635
with:
3736
flink_version: ${{ matrix.flink }}

.github/workflows/weekly.yml

+7-11
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,6 @@ jobs:
2727
strategy:
2828
matrix:
2929
flink_branches: [{
30-
flink: 1.16-SNAPSHOT,
31-
branch: main
32-
}, {
33-
flink: 1.17-SNAPSHOT,
34-
branch: main
35-
}, {
3630
flink: 1.18-SNAPSHOT,
3731
jdk: '8, 11, 17',
3832
branch: main
@@ -41,15 +35,17 @@ jobs:
4135
jdk: '8, 11, 17, 21',
4236
branch: main
4337
}, {
44-
flink: 1.16.2,
45-
branch: v3.1
46-
}, {
47-
flink: 1.17.1,
48-
branch: v3.1
38+
flink: 1.20-SNAPSHOT,
39+
jdk: '8, 11, 17, 21',
40+
branch: main
4941
}, {
5042
flink: 1.18.0,
5143
jdk: '8, 11, 17',
5244
branch: v3.1
45+
}, {
46+
flink: 1.19.0,
47+
jdk: '8, 11, 17, 21',
48+
branch: v3.1
5349
}]
5450
uses: apache/flink-connector-shared-utils/.github/workflows/ci.yml@ci_utils
5551
with:

docs/content.zh/docs/connectors/table/jdbc.md

+73-10
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ JDBC 连接器不是二进制发行版的一部分,请查阅[这里]({{< ref "
5858
| CrateDB | `io.crate` | `crate-jdbc` | [下载](https://repo1.maven.org/maven2/io/crate/crate-jdbc/) |
5959
| Db2 | `com.ibm.db2.jcc` | `db2jcc` | [下载](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows) |
6060
| Trino | `io.trino` | `trino-jdbc` | [下载](https://repo1.maven.org/maven2/io/trino/trino-jdbc/) |
61-
61+
| OceanBase | `com.oceanbase` | `oceanbase-client` | [下载](https://repo1.maven.org/maven2/com/oceanbase/oceanbase-client/) |
6262

6363
当前,JDBC 连接器和驱动不在 Flink 二进制发布包中,请参阅[这里]({{< ref "docs/dev/configuration/overview" >}})了解在集群上执行时如何连接它们。
6464

@@ -141,6 +141,13 @@ ON myTopic.key = MyUserTable.id;
141141
<td>String</td>
142142
<td>用于连接到此 URL 的 JDBC 驱动类名,如果不设置,将自动从 URL 中推导。</td>
143143
</tr>
144+
<tr>
145+
<td><h5>compatible-mode</h5></td>
146+
<td>可选</td>
147+
<td style="word-wrap: break-word;">(none)</td>
148+
<td>String</td>
149+
<td>数据库的兼容模式。</td>
150+
</tr>
144151
<tr>
145152
<td><h5>username</h5></td>
146153
<td>可选</td>
@@ -654,7 +661,7 @@ SELECT * FROM `custom_schema.test_table2`;
654661

655662
数据类型映射
656663
----------------
657-
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。
664+
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server、OceanBase 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。
658665

659666
<table class="table table-bordered">
660667
<thead>
@@ -666,6 +673,8 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
666673
<th class="text-left"><a href="https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver16">SQL Server type</a></th>
667674
<th class="text-left"><a href="https://www.ibm.com/docs/en/db2-for-zos/12?topic=columns-data-types">Db2</a></th>
668675
<th class="text-left"><a href="https://trino.io/docs/current/language/types.html">Trino type</a></th>
676+
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222199">OceanBase MySQL mode type</a></th>
677+
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222012">OceanBase Oracle mode type</a></th>
669678
<th class="text-left"><a href="{{< ref "docs/dev/table/types" >}}">Flink SQL type</a></th>
670679
</tr>
671680
</thead>
@@ -679,6 +688,8 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
679688
<td></td>
680689
<td><code>TINYINT</code></td>
681690
<td><code>TINYINT</code></td>
691+
<td></td>
692+
<td><code>TINYINT</code></td>
682693
</tr>
683694
<tr>
684695
<td>
@@ -696,6 +707,11 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
696707
<td><code>SMALLINT</code></td>
697708
<td><code>SMALLINT</code></td>
698709
<td><code>SMALLINT</code></td>
710+
<td>
711+
<code>SMALLINT</code><br>
712+
<code>TINYINT UNSIGNED</code></td>
713+
<td></td>
714+
<td><code>SMALLINT</code></td>
699715
</tr>
700716
<tr>
701717
<td>
@@ -711,6 +727,12 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
711727
<code>INT</code></td>
712728
<td><code>INT</code></td>
713729
<td><code>INTEGER</code></td>
730+
<td><code>INTEGER</code></td>
731+
<td>
732+
<code>INT</code><br>
733+
<code>MEDIUMINT</code><br>
734+
<code>SMALLINT UNSIGNED</code></td>
735+
<td></td>
714736
<td><code>INT</code></td>
715737
</tr>
716738
<tr>
@@ -727,24 +749,23 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
727749
<td><code>BIGINT</code></td>
728750
<td></td>
729751
<td><code>BIGINT</code></td>
752+
<td>
753+
<code>BIGINT</code><br>
754+
<code>INT UNSIGNED</code></td>
755+
<td></td>
730756
<td><code>BIGINT</code></td>
731757
</tr>
732758
<tr>
733759
<td><code>BIGINT UNSIGNED</code></td>
734760
<td></td>
735761
<td></td>
736762
<td></td>
763+
<td></td>
737764
<td></td>
738765
<td></td>
739-
<td><code>DECIMAL(20, 0)</code></td>
740-
</tr>
741-
<tr>
742-
<td><code>BIGINT</code></td>
743-
<td></td>
744-
<td><code>BIGINT</code></td>
766+
<td><code>BIGINT UNSIGNED</code></td>
745767
<td></td>
746-
<td><code>BIGINT</code></td>
747-
<td><code>BIGINT</code></td>
768+
<td><code>DECIMAL(20, 0)</code></td>
748769
</tr>
749770
<tr>
750771
<td><code>FLOAT</code></td>
@@ -760,6 +781,9 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
760781
<td><code>REAL</code></td>
761782
<td><code>FLOAT</code></td>
762783
<td><code>FLOAT</code></td>
784+
<td>
785+
<code>BINARY_FLOAT</code></td>
786+
<td><code>FLOAT</code></td>
763787
</tr>
764788
<tr>
765789
<td>
@@ -775,6 +799,9 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
775799
<td><code>FLOAT</code></td>
776800
<td><code>DOUBLE</code></td>
777801
<td><code>DOUBLE</code></td>
802+
<td><code>DOUBLE</code></td>
803+
<td><code>BINARY_DOUBLE</code></td>
804+
<td><code>DOUBLE</code></td>
778805
</tr>
779806
<tr>
780807
<td>
@@ -796,6 +823,12 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
796823
<code>DECIMAL(p, s)</code>
797824
</td>
798825
<td><code>DECIMAL(p, s)</code></td>
826+
<td>
827+
<code>NUMERIC(p, s)</code><br>
828+
<code>DECIMAL(p, s)</code></td>
829+
<td>
830+
<code>FLOAT(s)</code><br>
831+
<code>NUMBER(p, s)</code></td>
799832
<td><code>DECIMAL(p, s)</code></td>
800833
</tr>
801834
<tr>
@@ -807,6 +840,11 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
807840
<td><code>BOOLEAN</code></td>
808841
<td><code>BIT</code></td>
809842
<td><code>BOOLEAN</code></td>
843+
<td></td>
844+
<td>
845+
<code>BOOLEAN</code><br>
846+
<code>TINYINT(1)</code></td>
847+
<td></td>
810848
<td><code>BOOLEAN</code></td>
811849
</tr>
812850
<tr>
@@ -817,6 +855,9 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
817855
<td><code>DATE</code></td>
818856
<td><code>DATE</code></td>
819857
<td><code>DATE</code></td>
858+
<td><code>DATE</code></td>
859+
<td><code>DATE</code></td>
860+
<td><code>DATE</code></td>
820861
</tr>
821862
<tr>
822863
<td><code>TIME [(p)]</code></td>
@@ -826,6 +867,8 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
826867
<td><code>TIME(0)</code></td>
827868
<td><code>TIME</code></td>
828869
<td><code>TIME_WITHOUT_TIME_ZONE</code></td>
870+
<td><code>TIME [(p)]</code></td>
871+
<td><code>DATE</code></td>
829872
<td><code>TIME [(p)] [WITHOUT TIMEZONE]</code></td>
830873
</tr>
831874
<tr>
@@ -839,6 +882,8 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
839882
</td>
840883
<td><code>TIMESTAMP [(p)]</code></td>
841884
<td><code>TIMESTAMP_WITHOUT_TIME_ZONE</code></td>
885+
<td><code>DATETIME [(p)]</code></td>
886+
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
842887
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
843888
</tr>
844889
<tr>
@@ -878,6 +923,15 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
878923
<code>CHAR</code>
879924
<code>VARCHAR</code>
880925
</td>
926+
<td>
927+
<code>CHAR(n)</code><br>
928+
<code>VARCHAR(n)</code><br>
929+
<code>TEXT</code></td>
930+
<td>
931+
<code>CHAR(n)</code><br>
932+
<code>NCHAR(n)</code><br>
933+
<code>VARCHAR2(n)</code><br>
934+
<code>CLOB</code></td>
881935
<td><code>STRING</code></td>
882936
</tr>
883937
<tr>
@@ -896,6 +950,13 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
896950
</td>
897951
<td></td>
898952
<td><code>VARBINARY</code></td>
953+
<td>
954+
<code>BINARY</code><br>
955+
<code>VARBINARY</code><br>
956+
<code>BLOB</code></td>
957+
<td>
958+
<code>RAW(s)</code><br>
959+
<code>BLOB</code></td>
899960
<td><code>BYTES</code></td>
900961
</tr>
901962
<tr>
@@ -906,6 +967,8 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
906967
<td></td>
907968
<td></td>
908969
<td><code>ARRAY</code></td>
970+
<td></td>
971+
<td></td>
909972
<td><code>ARRAY</code></td>
910973
</tr>
911974
</tbody>

0 commit comments

Comments
 (0)