This is an automated email from the ASF dual-hosted git repository.
wanghailin pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 3522eb157c [Feature][Connector-V2][PostgresSql] add JDBC source
support string type as partition key (#6079)
3522eb157c is described below
commit 3522eb157c701d68a2cbe8944fba39d974c3b3e3
Author: ZhilinLi <[email protected]>
AuthorDate: Tue Dec 26 10:15:29 2023 +0800
[Feature][Connector-V2][PostgresSql] add JDBC source support string type as
partition key (#6079)
---
.../seatunnel/jdbc/internal/dialect/psql/PostgresDialect.java | 5 +++++
.../src/test/resources/jdbc_postgres_source_and_sink.conf | 2 ++
2 files changed, 7 insertions(+)
diff --git
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/psql/PostgresDialect.java
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/psql/PostgresDialect.java
index 36075a307e..9a4076fe2a 100644
---
a/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/psql/PostgresDialect.java
+++
b/seatunnel-connectors-v2/connector-jdbc/src/main/java/org/apache/seatunnel/connectors/seatunnel/jdbc/internal/dialect/psql/PostgresDialect.java
@@ -64,6 +64,11 @@ public class PostgresDialect implements JdbcDialect {
return new PostgresTypeMapper();
}
+ @Override
+ public String hashModForField(String fieldName, int mod) {
+ return "(ABS(HASHTEXT(" + quoteIdentifier(fieldName) + ")) % " + mod +
")";
+ }
+
@Override
public Optional<String> getUpsertStatement(
String database, String tableName, String[] fieldNames, String[]
uniqueKeyFields) {
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/resources/jdbc_postgres_source_and_sink.conf
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/resources/jdbc_postgres_source_and_sink.conf
index 982af8efb2..5b00078006 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/resources/jdbc_postgres_source_and_sink.conf
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-jdbc-e2e/connector-jdbc-e2e-part-3/src/test/resources/jdbc_postgres_source_and_sink.conf
@@ -29,6 +29,8 @@ source{
query ="""select gid, text_col, varchar_col, char_col, boolean_col,
smallint_col, integer_col, bigint_col, decimal_col, numeric_col, real_col,
double_precision_col,
smallserial_col, serial_col, bigserial_col, date_col,
timestamp_col, bpchar_col, age, name, point, linestring, polygon_colums,
multipoint,
multilinestring, multipolygon, geometrycollection,
geog, json_col, jsonb_col,xml_col from pg_e2e_source_table"""
+ partition_column = "varchar_col"
+ partition_num = 2
}
}