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;
}