You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@paimon.apache.org by lz...@apache.org on 2023/12/18 03:24:25 UTC

(incubator-paimon-trino) branch main updated: Adapt trino 435 version (#47)

This is an automated email from the ASF dual-hosted git repository.

lzljs3620320 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-paimon-trino.git


The following commit(s) were added to refs/heads/main by this push:
     new 85b2135  Adapt trino 435 version (#47)
85b2135 is described below

commit 85b2135d99511bb7e4b810635cb6924c085f5757
Author: shidayang <53...@qq.com>
AuthorDate: Mon Dec 18 11:24:20 2023 +0800

    Adapt trino 435 version (#47)
---
 .../org/apache/paimon/trino/TrinoConnector.java    | 48 ++++++++++++++++++++++
 .../org/apache/paimon/trino/TrinoConnector.java    | 48 ++--------------------
 ...TrinoConnector.java => TrinoConnectorBase.java} | 10 ++---
 3 files changed, 56 insertions(+), 50 deletions(-)

diff --git a/paimon-trino-422/src/main/java/org/apache/paimon/trino/TrinoConnector.java b/paimon-trino-422/src/main/java/org/apache/paimon/trino/TrinoConnector.java
new file mode 100644
index 0000000..0f35f46
--- /dev/null
+++ b/paimon-trino-422/src/main/java/org/apache/paimon/trino/TrinoConnector.java
@@ -0,0 +1,48 @@
+/*
+ * 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.paimon.trino;
+
+import io.trino.spi.connector.Connector;
+import io.trino.spi.connector.ConnectorMetadata;
+import io.trino.spi.connector.ConnectorSession;
+import io.trino.spi.connector.ConnectorTransactionHandle;
+import io.trino.spi.transaction.IsolationLevel;
+
+/** Trino {@link Connector}. */
+public class TrinoConnector extends TrinoConnectorBase {
+
+    public TrinoConnector(
+            TrinoMetadataBase trinoMetadata,
+            TrinoSplitManagerBase trinoSplitManager,
+            TrinoPageSourceProvider trinoPageSourceProvider) {
+        super(trinoMetadata, trinoSplitManager, trinoPageSourceProvider);
+    }
+
+    @Override
+    public ConnectorTransactionHandle beginTransaction(
+            IsolationLevel isolationLevel, boolean readOnly, boolean autoCommit) {
+        return beginTransactionBase(isolationLevel, readOnly);
+    }
+
+    @Override
+    public ConnectorMetadata getMetadata(
+            ConnectorSession session, ConnectorTransactionHandle transactionHandle) {
+        return getMetadataBase(transactionHandle);
+    }
+}
diff --git a/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java b/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java
index 92386e2..eeda512 100644
--- a/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java
+++ b/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java
@@ -20,66 +20,26 @@ package org.apache.paimon.trino;
 
 import io.trino.spi.connector.Connector;
 import io.trino.spi.connector.ConnectorTransactionHandle;
-import io.trino.spi.session.PropertyMetadata;
 import io.trino.spi.transaction.IsolationLevel;
 
-import java.util.List;
-
-import static io.trino.spi.transaction.IsolationLevel.READ_COMMITTED;
-import static io.trino.spi.transaction.IsolationLevel.checkConnectorSupports;
-import static java.util.Objects.requireNonNull;
-import static org.apache.paimon.shade.guava30.com.google.common.collect.ImmutableList.toImmutableList;
-
 /** Trino {@link Connector}. */
-public class TrinoConnector implements Connector {
-    private final TrinoMetadataBase trinoMetadata;
-    private final TrinoSplitManagerBase trinoSplitManager;
-    private final TrinoPageSourceProvider trinoPageSourceProvider;
-    private final List<PropertyMetadata<?>> tableProperties;
-    private final List<PropertyMetadata<?>> sessionProperties;
+public class TrinoConnector extends TrinoConnectorBase {
 
     public TrinoConnector(
             TrinoMetadataBase trinoMetadata,
             TrinoSplitManagerBase trinoSplitManager,
             TrinoPageSourceProvider trinoPageSourceProvider) {
-        this.trinoMetadata = requireNonNull(trinoMetadata, "jmxMetadata is null");
-        this.trinoSplitManager = requireNonNull(trinoSplitManager, "jmxSplitManager is null");
-        this.trinoPageSourceProvider =
-                requireNonNull(trinoPageSourceProvider, "jmxRecordSetProvider is null");
-        tableProperties =
-                new TrinoTableOptions().getTableProperties().stream().collect(toImmutableList());
-        sessionProperties = new TrinoSessionProperties().getSessionProperties();
+        super(trinoMetadata, trinoSplitManager, trinoPageSourceProvider);
     }
 
     @Override
     public ConnectorTransactionHandle beginTransaction(
             IsolationLevel isolationLevel, boolean readOnly) {
-        checkConnectorSupports(READ_COMMITTED, isolationLevel);
-        return TrinoTransactionHandle.INSTANCE;
+        return beginTransactionBase(isolationLevel, readOnly);
     }
 
     @Override
     public TrinoMetadataBase getMetadata(ConnectorTransactionHandle transactionHandle) {
-        return trinoMetadata;
-    }
-
-    @Override
-    public TrinoSplitManagerBase getSplitManager() {
-        return trinoSplitManager;
-    }
-
-    @Override
-    public TrinoPageSourceProvider getPageSourceProvider() {
-        return trinoPageSourceProvider;
-    }
-
-    @Override
-    public List<PropertyMetadata<?>> getSessionProperties() {
-        return sessionProperties;
-    }
-
-    @Override
-    public List<PropertyMetadata<?>> getTableProperties() {
-        return tableProperties;
+        return getMetadataBase(transactionHandle);
     }
 }
diff --git a/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java b/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnectorBase.java
similarity index 92%
copy from paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java
copy to paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnectorBase.java
index 92386e2..7572e95 100644
--- a/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnector.java
+++ b/paimon-trino-common/src/main/java/org/apache/paimon/trino/TrinoConnectorBase.java
@@ -31,14 +31,14 @@ import static java.util.Objects.requireNonNull;
 import static org.apache.paimon.shade.guava30.com.google.common.collect.ImmutableList.toImmutableList;
 
 /** Trino {@link Connector}. */
-public class TrinoConnector implements Connector {
+public abstract class TrinoConnectorBase implements Connector {
     private final TrinoMetadataBase trinoMetadata;
     private final TrinoSplitManagerBase trinoSplitManager;
     private final TrinoPageSourceProvider trinoPageSourceProvider;
     private final List<PropertyMetadata<?>> tableProperties;
     private final List<PropertyMetadata<?>> sessionProperties;
 
-    public TrinoConnector(
+    public TrinoConnectorBase(
             TrinoMetadataBase trinoMetadata,
             TrinoSplitManagerBase trinoSplitManager,
             TrinoPageSourceProvider trinoPageSourceProvider) {
@@ -51,15 +51,13 @@ public class TrinoConnector implements Connector {
         sessionProperties = new TrinoSessionProperties().getSessionProperties();
     }
 
-    @Override
-    public ConnectorTransactionHandle beginTransaction(
+    protected ConnectorTransactionHandle beginTransactionBase(
             IsolationLevel isolationLevel, boolean readOnly) {
         checkConnectorSupports(READ_COMMITTED, isolationLevel);
         return TrinoTransactionHandle.INSTANCE;
     }
 
-    @Override
-    public TrinoMetadataBase getMetadata(ConnectorTransactionHandle transactionHandle) {
+    protected TrinoMetadataBase getMetadataBase(ConnectorTransactionHandle transactionHandle) {
         return trinoMetadata;
     }