Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,10 @@ private Versions() {}
* Using plugins built for a different version of Trino may fail at runtime, especially if plugin author
* chooses not to maintain compatibility with older SPI versions, as happens for plugins maintained together with
* the Trino project.
*
* @implNote This method is designed only for plugins distributed with Trino
*/
public static void checkSpiVersion(ConnectorContext context, ConnectorFactory connectorFactory)
public static void checkStrictSpiVersionMatch(ConnectorContext context, ConnectorFactory connectorFactory)
{
String spiVersion = context.getSpiVersion();
String compileTimeSpiVersion = SpiVersionHolder.SPI_COMPILE_TIME_VERSION;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class AccumuloConnectorFactory
Expand All @@ -43,7 +43,7 @@ public Connector create(String catalogName, Map<String, String> config, Connecto
requireNonNull(catalogName, "catalogName is null");
requireNonNull(config, "config is null");
requireNonNull(context, "context is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new JsonModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@

import static io.airlift.configuration.ConditionalModule.conditionalModule;
import static io.airlift.configuration.ConfigurationAwareModule.combine;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class AtopConnectorFactory
Expand All @@ -54,7 +54,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context)
{
requireNonNull(requiredConfig, "requiredConfig is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) {
Bootstrap app = new Bootstrap(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.isNullOrEmpty;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class JdbcConnectorFactory
Expand All @@ -55,7 +55,7 @@ public Connector create(String catalogName, Map<String, String> requiredConfig,
{
requireNonNull(requiredConfig, "requiredConfig is null");
requireNonNull(module, "module is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
binder -> binder.bind(TypeManager.class).toInstance(context.getTypeManager()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class BigQueryConnectorFactory
Expand All @@ -41,7 +41,7 @@ public Connector create(String catalogName, Map<String, String> config, Connecto
{
requireNonNull(catalogName, "catalogName is null");
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new JsonModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import static com.google.common.util.concurrent.MoreExecutors.listeningDecorator;
import static io.airlift.concurrent.Threads.daemonThreadsNamed;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;

public class BlackHoleConnectorFactory
Expand All @@ -37,7 +37,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

ListeningScheduledExecutorService executorService = listeningDecorator(newSingleThreadScheduledExecutor(daemonThreadsNamed("blackhole")));
return new BlackHoleConnector(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class CassandraConnectorFactory
Expand All @@ -40,7 +40,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new MBeanModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import java.util.Optional;

import static com.google.common.base.Throwables.throwIfUnchecked;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class DeltaLakeConnectorFactory
Expand All @@ -47,7 +47,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

ClassLoader classLoader = context.duplicatePluginClassLoader();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class ElasticsearchConnectorFactory
Expand All @@ -47,7 +47,7 @@ public Connector create(String catalogName, Map<String, String> config, Connecto
{
requireNonNull(catalogName, "catalogName is null");
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new MBeanModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class ExampleConnectorFactory
Expand All @@ -39,7 +39,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context)
{
requireNonNull(requiredConfig, "requiredConfig is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

// A plugin is not required to use Guice; it is just very convenient
Bootstrap app = new Bootstrap(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class SheetsConnectorFactory
Expand All @@ -39,7 +39,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new JsonModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import java.util.Map;

import static com.google.common.base.Throwables.throwIfUnchecked;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class HiveConnectorFactory
Expand All @@ -50,7 +50,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

ClassLoader classLoader = context.duplicatePluginClassLoader();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import java.util.Optional;

import static com.google.common.base.Throwables.throwIfUnchecked;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;

public class HudiConnectorFactory
implements ConnectorFactory
Expand All @@ -39,7 +39,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

ClassLoader classLoader = context.duplicatePluginClassLoader();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import java.util.Optional;

import static com.google.common.base.Throwables.throwIfUnchecked;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class IcebergConnectorFactory
Expand All @@ -51,7 +51,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

ClassLoader classLoader = context.duplicatePluginClassLoader();
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import java.util.Map;

import static io.airlift.configuration.ConfigBinder.configBinder;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;

public class JmxConnectorFactory
implements ConnectorFactory
Expand All @@ -39,7 +39,7 @@ public String getName()
@Override
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new MBeanServerModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class KafkaConnectorFactory
Expand All @@ -51,7 +51,7 @@ public Connector create(String catalogName, Map<String, String> config, Connecto
{
requireNonNull(catalogName, "catalogName is null");
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new CatalogNameModule(catalogName),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
import java.util.function.Supplier;

import static com.google.common.base.Throwables.throwIfUnchecked;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class KinesisConnectorFactory
Expand All @@ -46,7 +46,7 @@ public Connector create(String catalogName, Map<String, String> config, Connecto
{
requireNonNull(catalogName, "catalogName is null");
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

try {
Bootstrap app = new Bootstrap(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class KuduConnectorFactory
Expand All @@ -42,7 +42,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new JsonModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class LocalFileConnectorFactory
Expand All @@ -38,7 +38,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
binder -> binder.bind(NodeManager.class).toInstance(context.getNodeManager()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class MemoryConnectorFactory
Expand All @@ -38,7 +38,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context)
{
requireNonNull(requiredConfig, "requiredConfig is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

// A plugin is not required to use Guice; it is just very convenient
Bootstrap app = new Bootstrap(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Strings.isNullOrEmpty;
import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class MongoConnectorFactory
Expand All @@ -49,7 +49,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> config, ConnectorContext context)
{
requireNonNull(config, "config is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

Bootstrap app = new Bootstrap(
new JsonModule(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

import java.util.Map;

import static io.trino.plugin.base.Versions.checkSpiVersion;
import static io.trino.plugin.base.Versions.checkStrictSpiVersionMatch;
import static java.util.Objects.requireNonNull;

public class PhoenixConnectorFactory
Expand All @@ -49,7 +49,7 @@ public String getName()
public Connector create(String catalogName, Map<String, String> requiredConfig, ConnectorContext context)
{
requireNonNull(requiredConfig, "requiredConfig is null");
checkSpiVersion(context, this);
checkStrictSpiVersionMatch(context, this);

try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) {
Bootstrap app = new Bootstrap(
Expand Down
Loading