This is an automated email from the ASF dual-hosted git repository.
martijnvisser pushed a commit to branch release-1.16
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.16 by this push:
new a342e7f048c Revert "[FLINK-19869][connectors/jdbc] Add support for
postgres UUID type"
a342e7f048c is described below
commit a342e7f048c3cf06eba600626866d69fe7ef015a
Author: Martijn Visser <[email protected]>
AuthorDate: Mon Sep 12 15:51:40 2022 +0200
Revert "[FLINK-19869][connectors/jdbc] Add support for postgres UUID type"
This reverts commit 6aeb91ef0b4abcde0c3e9f561f1e8b849976ec50.
---
.../jdbc/converter/AbstractJdbcRowConverter.java | 2 +-
.../internal/converter/PostgresRowConverter.java | 23 ------
.../converter/PostgresRowConverterTest.java | 92 ----------------------
3 files changed, 1 insertion(+), 116 deletions(-)
diff --git
a/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/converter/AbstractJdbcRowConverter.java
b/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/converter/AbstractJdbcRowConverter.java
index 32dc016ec27..1a19d127b10 100644
---
a/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/converter/AbstractJdbcRowConverter.java
+++
b/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/converter/AbstractJdbcRowConverter.java
@@ -173,7 +173,7 @@ public abstract class AbstractJdbcRowConverter implements
JdbcRowConverter {
: TimestampData.fromTimestamp((Timestamp) val);
case CHAR:
case VARCHAR:
- return val -> StringData.fromString(val.toString());
+ return val -> StringData.fromString((String) val);
case BINARY:
case VARBINARY:
return val -> val;
diff --git
a/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverter.java
b/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverter.java
index c498f81036a..265476ac1be 100644
---
a/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverter.java
+++
b/flink-connectors/flink-connector-jdbc/src/main/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverter.java
@@ -29,8 +29,6 @@ import
org.apache.flink.table.types.logical.utils.LogicalTypeUtils;
import org.postgresql.jdbc.PgArray;
import java.lang.reflect.Array;
-import java.util.UUID;
-import java.util.regex.Pattern;
/**
* Runtime converter that responsible to convert between JDBC object and Flink
internal object for
@@ -39,8 +37,6 @@ import java.util.regex.Pattern;
public class PostgresRowConverter extends AbstractJdbcRowConverter {
private static final long serialVersionUID = 1L;
- private static final Pattern UUID_REGEX_PATTERN =
-
Pattern.compile("^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$");
@Override
public String converterName() {
@@ -63,25 +59,6 @@ public class PostgresRowConverter extends
AbstractJdbcRowConverter {
}
}
- @Override
- protected JdbcSerializationConverter createExternalConverter(LogicalType
type) {
- switch (type.getTypeRoot()) {
- case CHAR:
- case VARCHAR:
- return (val, index, statement) -> {
- String valString = val.getString(index).toString();
-
- if (UUID_REGEX_PATTERN.matcher(valString).matches()) {
- statement.setObject(index, UUID.fromString(valString));
- } else {
- statement.setString(index, valString);
- }
- };
- }
-
- return super.createExternalConverter(type);
- }
-
@Override
protected JdbcSerializationConverter
createNullableExternalConverter(LogicalType type) {
LogicalTypeRoot root = type.getTypeRoot();
diff --git
a/flink-connectors/flink-connector-jdbc/src/test/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverterTest.java
b/flink-connectors/flink-connector-jdbc/src/test/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverterTest.java
deleted file mode 100644
index a1b21377c1c..00000000000
---
a/flink-connectors/flink-connector-jdbc/src/test/java/org/apache/flink/connector/jdbc/internal/converter/PostgresRowConverterTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.flink.connector.jdbc.internal.converter;
-
-import org.apache.flink.connector.jdbc.converter.JdbcRowConverter;
-import org.apache.flink.connector.jdbc.statement.FieldNamedPreparedStatement;
-import org.apache.flink.table.data.GenericRowData;
-import org.apache.flink.table.data.RowData;
-import org.apache.flink.table.data.StringData;
-import org.apache.flink.table.types.logical.RowType;
-import org.apache.flink.table.types.logical.VarCharType;
-
-import org.junit.Test;
-import org.mockito.Mockito;
-
-import java.sql.ResultSet;
-import java.util.UUID;
-
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.verify;
-
-/** Test for {@link PostgresRowConverter}. */
-public class PostgresRowConverterTest {
- @Test
- public void testInternalConverterHandlesUUIDs() throws Exception {
- // arrange
- RowType rowType = RowType.of(new VarCharType(), new VarCharType());
- JdbcRowConverter rowConverter =
- new PostgresRowConverter(rowType) {
-
- private static final long serialVersionUID = 1L;
-
- @Override
- public String converterName() {
- return "test";
- }
- };
-
- UUID uuid = UUID.randomUUID();
- String notUUID = "not-a-uuid";
-
- ResultSet resultSet = Mockito.mock(ResultSet.class);
- Mockito.when(resultSet.getObject(1)).thenReturn(uuid);
- Mockito.when(resultSet.getObject(2)).thenReturn(notUUID);
-
- // act
- RowData res = rowConverter.toInternal(resultSet);
-
- // assert
- assertThat(res.getString(0).toString()).isEqualTo(uuid.toString());
- assertThat(res.getString(1).toString()).isEqualTo(notUUID);
- }
-
- @Test
- public void testExternalConverterHandlesUUIDs() throws Exception {
- // arrange
- RowType rowType = RowType.of(new VarCharType(), new VarCharType());
- JdbcRowConverter rowConverter = new PostgresRowConverter(rowType);
-
- UUID uuid = UUID.randomUUID();
- String notUUID = "not-a-uuid";
-
- RowData rowData =
- GenericRowData.of(
- StringData.fromString(uuid.toString()),
StringData.fromString(notUUID));
-
- FieldNamedPreparedStatement ps =
Mockito.mock(FieldNamedPreparedStatement.class);
-
- // act
- rowConverter.toExternal(rowData, ps);
-
- // assert
- verify(ps).setObject(0, uuid);
- verify(ps).setString(1, notUUID);
- }
-}