diff --git a/core/trino-main/src/main/java/io/trino/connector/informationschema/InformationSchemaMetadata.java b/core/trino-main/src/main/java/io/trino/connector/informationschema/InformationSchemaMetadata.java index 200724af43c2..399433835d2e 100644 --- a/core/trino-main/src/main/java/io/trino/connector/informationschema/InformationSchemaMetadata.java +++ b/core/trino-main/src/main/java/io/trino/connector/informationschema/InformationSchemaMetadata.java @@ -184,7 +184,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { InformationSchemaTableHandle table = (InformationSchemaTableHandle) handle; diff --git a/core/trino-main/src/main/java/io/trino/connector/system/SystemTablesMetadata.java b/core/trino-main/src/main/java/io/trino/connector/system/SystemTablesMetadata.java index 617660b51fba..27be854e1f98 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/SystemTablesMetadata.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/SystemTablesMetadata.java @@ -166,7 +166,7 @@ public Optional> return Optional.of(new ConstraintApplicationResult<>(table, constraint.getSummary(), false)); } - private Constraint effectiveConstraint(TupleDomain oldDomain, Constraint newConstraint, TupleDomain effectiveDomain) + private Constraint effectiveConstraint(TupleDomain oldDomain, Constraint newConstraint, TupleDomain effectiveDomain) { if (effectiveDomain.isNone() || newConstraint.predicate().isEmpty()) { return new Constraint(effectiveDomain); diff --git a/core/trino-main/src/main/java/io/trino/connector/system/jdbc/ColumnJdbcTable.java b/core/trino-main/src/main/java/io/trino/connector/system/jdbc/ColumnJdbcTable.java index d4bc2c8e77be..780442a24e95 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/jdbc/ColumnJdbcTable.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/jdbc/ColumnJdbcTable.java @@ -146,7 +146,7 @@ public ConnectorTableMetadata getTableMetadata() } @Override - public TupleDomain applyFilter(ConnectorSession connectorSession, Constraint constraint) + public TupleDomain applyFilter(ConnectorSession connectorSession, Constraint constraint) { TupleDomain tupleDomain = constraint.getSummary(); if (tupleDomain.isNone() || constraint.predicate().isEmpty()) { diff --git a/core/trino-main/src/main/java/io/trino/connector/system/jdbc/JdbcTable.java b/core/trino-main/src/main/java/io/trino/connector/system/jdbc/JdbcTable.java index 6e414e79e640..56ae0bc54d50 100644 --- a/core/trino-main/src/main/java/io/trino/connector/system/jdbc/JdbcTable.java +++ b/core/trino-main/src/main/java/io/trino/connector/system/jdbc/JdbcTable.java @@ -38,7 +38,7 @@ public final Distribution getDistribution() * and without column handles it's currently not possible to express Constraint or ConstraintApplicationResult. * TODO provide equivalent API in the SystemTable interface */ - public TupleDomain applyFilter(ConnectorSession session, Constraint constraint) + public TupleDomain applyFilter(ConnectorSession session, Constraint constraint) { return constraint.getSummary(); } diff --git a/core/trino-main/src/main/java/io/trino/split/SplitManager.java b/core/trino-main/src/main/java/io/trino/split/SplitManager.java index b6bc7a9c1544..227e130b84fc 100644 --- a/core/trino-main/src/main/java/io/trino/split/SplitManager.java +++ b/core/trino-main/src/main/java/io/trino/split/SplitManager.java @@ -23,6 +23,7 @@ import io.trino.metadata.TableFunctionHandle; import io.trino.metadata.TableHandle; import io.trino.spi.connector.CatalogHandle; +import io.trino.spi.connector.ColumnHandle; import io.trino.spi.connector.ConnectorSession; import io.trino.spi.connector.ConnectorSplitManager; import io.trino.spi.connector.ConnectorSplitSource; @@ -54,7 +55,7 @@ public SplitSource getSplits( Span parentSpan, TableHandle table, DynamicFilter dynamicFilter, - Constraint constraint) + Constraint constraint) { CatalogHandle catalogHandle = table.getCatalogHandle(); ConnectorSplitManager splitManager = splitManagerProvider.getService(catalogHandle); diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/SplitSourceFactory.java b/core/trino-main/src/main/java/io/trino/sql/planner/SplitSourceFactory.java index d4d7f1caa17f..74943903deec 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/SplitSourceFactory.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/SplitSourceFactory.java @@ -176,10 +176,10 @@ private SplitSource createSplitSource(TableHandle table, Map constraint = filterPredicate .map(predicate -> filterConjuncts(plannerContext.getMetadata(), predicate, expression -> !DynamicFilters.isDynamicFilter(expression))) .map(predicate -> new LayoutConstraintEvaluator(plannerContext, typeAnalyzer, session, typeProvider, assignments, predicate)) - .map(evaluator -> new Constraint(TupleDomain.all(), evaluator::isCandidate, evaluator.getArguments())) // we are interested only in functional predicate here, so we set the summary to ALL. + .map(evaluator -> new Constraint<>(TupleDomain.all(), evaluator::isCandidate, evaluator.getArguments())) // we are interested only in functional predicate here, so we set the summary to ALL. .orElse(alwaysTrue()); // get dataSource for table diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/iterative/rule/PushPredicateIntoTableScan.java b/core/trino-main/src/main/java/io/trino/sql/planner/iterative/rule/PushPredicateIntoTableScan.java index 4fa5e63269fb..b6e3bc51e896 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/iterative/rule/PushPredicateIntoTableScan.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/iterative/rule/PushPredicateIntoTableScan.java @@ -192,7 +192,7 @@ public static Optional pushFilterIntoTableScan( Map assignments = ImmutableBiMap.copyOf(node.getAssignments()).inverse(); - Constraint constraint; + Constraint constraint; // use evaluator only when there is some predicate which could not be translated into tuple domain if (pruneWithPredicateExpression && !TRUE_LITERAL.equals(decomposedPredicate.getRemainingExpression())) { LayoutConstraintEvaluator evaluator = new LayoutConstraintEvaluator( @@ -207,12 +207,12 @@ public static Optional pushFilterIntoTableScan( // Simplify the tuple domain to avoid creating an expression with too many nodes, // which would be expensive to evaluate in the call to isCandidate below. domainTranslator.toPredicate(session, newDomain.simplify().transformKeys(assignments::get)))); - constraint = new Constraint(newDomain, expressionTranslation.connectorExpression(), connectorExpressionAssignments, evaluator::isCandidate, evaluator.getArguments()); + constraint = new Constraint<>(newDomain, expressionTranslation.connectorExpression(), connectorExpressionAssignments, evaluator::isCandidate, evaluator.getArguments()); } else { // Currently, invoking the expression interpreter is very expensive. // TODO invoke the interpreter unconditionally when the interpreter becomes cheap enough. - constraint = new Constraint(newDomain, expressionTranslation.connectorExpression(), connectorExpressionAssignments); + constraint = new Constraint<>(newDomain, expressionTranslation.connectorExpression(), connectorExpressionAssignments); } // check if new domain is wider than domain already provided by table scan diff --git a/core/trino-main/src/main/java/io/trino/tracing/TracingConnectorMetadata.java b/core/trino-main/src/main/java/io/trino/tracing/TracingConnectorMetadata.java index 1da84ef6f0e3..09b81186a35d 100644 --- a/core/trino-main/src/main/java/io/trino/tracing/TracingConnectorMetadata.java +++ b/core/trino-main/src/main/java/io/trino/tracing/TracingConnectorMetadata.java @@ -1044,7 +1044,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { Span span = startSpan("applyFilter", handle); try (var ignored = scopedSpan(span)) { diff --git a/core/trino-main/src/test/java/io/trino/connector/MockConnector.java b/core/trino-main/src/test/java/io/trino/connector/MockConnector.java index a20774c76484..75dce8f81bcb 100644 --- a/core/trino-main/src/test/java/io/trino/connector/MockConnector.java +++ b/core/trino-main/src/test/java/io/trino/connector/MockConnector.java @@ -448,7 +448,7 @@ public Optional> applyTopN( } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { return applyFilter.apply(session, handle, constraint); } diff --git a/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java b/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java index 059aab1aed9e..405739edbc56 100644 --- a/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java +++ b/core/trino-main/src/test/java/io/trino/connector/MockConnectorFactory.java @@ -342,7 +342,7 @@ Optional> apply( @FunctionalInterface public interface ApplyFilter { - Optional> apply(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint); + Optional> apply(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint); } @FunctionalInterface diff --git a/core/trino-main/src/test/java/io/trino/metadata/TestInformationSchemaMetadata.java b/core/trino-main/src/test/java/io/trino/metadata/TestInformationSchemaMetadata.java index 52440937c484..0ddcd537e140 100644 --- a/core/trino-main/src/test/java/io/trino/metadata/TestInformationSchemaMetadata.java +++ b/core/trino-main/src/test/java/io/trino/metadata/TestInformationSchemaMetadata.java @@ -115,7 +115,7 @@ public void testInformationSchemaPredicatePushdown() ImmutableMap.Builder domains = ImmutableMap.builder(); domains.put(new InformationSchemaColumnHandle("table_schema"), Domain.singleValue(VARCHAR, Slices.utf8Slice("test_schema"))); domains.put(new InformationSchemaColumnHandle("table_name"), Domain.singleValue(VARCHAR, Slices.utf8Slice("test_view"))); - Constraint constraint = new Constraint(TupleDomain.withColumnDomains(domains.buildOrThrow())); + Constraint constraint = new Constraint<>(TupleDomain.withColumnDomains(domains.buildOrThrow())); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); @@ -132,7 +132,7 @@ public void testInformationSchemaPredicatePushdown() public void testInformationSchemaPredicatePushdownWithConstraintPredicate() { TransactionId transactionId = transactionManager.beginTransaction(false); - Constraint constraint = new Constraint(TupleDomain.all(), TestInformationSchemaMetadata::testConstraint, testConstraintColumns()); + Constraint constraint = new Constraint<>(TupleDomain.all(), TestInformationSchemaMetadata::testConstraint, testConstraintColumns()); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); @@ -154,7 +154,7 @@ public void testInformationSchemaPredicatePushdownWithoutSchemaPredicate() // predicate without schema predicates should cause schemas to be enumerated when table predicates are present ImmutableMap.Builder domains = ImmutableMap.builder(); domains.put(new InformationSchemaColumnHandle("table_name"), Domain.singleValue(VARCHAR, Slices.utf8Slice("test_view"))); - Constraint constraint = new Constraint(TupleDomain.withColumnDomains(domains.buildOrThrow())); + Constraint constraint = new Constraint<>(TupleDomain.withColumnDomains(domains.buildOrThrow())); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); @@ -178,7 +178,7 @@ public void testInformationSchemaPredicatePushdownWithoutTablePredicate() // predicate without table name predicates should not cause table level prefixes to be evaluated ImmutableMap.Builder domains = ImmutableMap.builder(); domains.put(new InformationSchemaColumnHandle("table_schema"), Domain.singleValue(VARCHAR, Slices.utf8Slice("test_schema"))); - Constraint constraint = new Constraint(TupleDomain.withColumnDomains(domains.buildOrThrow())); + Constraint constraint = new Constraint<>(TupleDomain.withColumnDomains(domains.buildOrThrow())); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); @@ -197,7 +197,7 @@ public void testInformationSchemaPredicatePushdownWithConstraintPredicateOnViews TransactionId transactionId = transactionManager.beginTransaction(false); // predicate on non columns enumerating table should not cause tables to be enumerated - Constraint constraint = new Constraint(TupleDomain.all(), TestInformationSchemaMetadata::testConstraint, testConstraintColumns()); + Constraint constraint = new Constraint<>(TupleDomain.all(), TestInformationSchemaMetadata::testConstraint, testConstraintColumns()); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); InformationSchemaTableHandle tableHandle = (InformationSchemaTableHandle) @@ -217,7 +217,7 @@ public void testInformationSchemaPredicatePushdownOnCatalogWiseTables() // Predicate pushdown shouldn't work for catalog-wise tables because the table prefixes for them are always // ImmutableSet.of(new QualifiedTablePrefix(catalogName)); - Constraint constraint = new Constraint(TupleDomain.all()); + Constraint constraint = new Constraint<>(TupleDomain.all()); ConnectorSession session = createNewSession(transactionId); ConnectorMetadata metadata = new InformationSchemaMetadata("test_catalog", this.metadata, MAX_PREFIXES_COUNT); InformationSchemaTableHandle tableHandle = (InformationSchemaTableHandle) @@ -237,7 +237,7 @@ public void testInformationSchemaPredicatePushdownForEmptyNames() ConnectorTableHandle tableHandle = metadata.getTableHandle(session, new SchemaTableName("information_schema", "tables")); // Empty schema name - InformationSchemaTableHandle filtered = metadata.applyFilter(session, tableHandle, new Constraint(TupleDomain.withColumnDomains( + InformationSchemaTableHandle filtered = metadata.applyFilter(session, tableHandle, new Constraint<>(TupleDomain.withColumnDomains( ImmutableMap.of(tableSchemaColumn, Domain.singleValue(VARCHAR, Slices.utf8Slice("")))))) .map(ConstraintApplicationResult::getHandle) .map(InformationSchemaTableHandle.class::cast) @@ -247,7 +247,7 @@ public void testInformationSchemaPredicatePushdownForEmptyNames() assertEquals(filtered.getPrefixes(), ImmutableSet.of(new QualifiedTablePrefix("test_catalog", ""))); // Empty table name - filtered = metadata.applyFilter(session, tableHandle, new Constraint(TupleDomain.withColumnDomains( + filtered = metadata.applyFilter(session, tableHandle, new Constraint<>(TupleDomain.withColumnDomains( ImmutableMap.of(tableNameColumn, Domain.singleValue(VARCHAR, Slices.utf8Slice("")))))) .map(ConstraintApplicationResult::getHandle) .map(InformationSchemaTableHandle.class::cast) diff --git a/core/trino-spi/pom.xml b/core/trino-spi/pom.xml index 33ed7486d692..53f47ec754c7 100644 --- a/core/trino-spi/pom.xml +++ b/core/trino-spi/pom.xml @@ -289,6 +289,146 @@ G This is needed to make ConstraintApplicationResult not depend on ColumnHandle + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(===io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>===) + parameter void io.trino.spi.connector.Constraint<T>::<init>(===io.trino.spi.predicate.TupleDomain<T>===) + 0 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(===io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>===, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(===io.trino.spi.predicate.TupleDomain<T>===, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, T>) + 0 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, io.trino.spi.expression.ConnectorExpression, ===java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>===) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, io.trino.spi.expression.ConnectorExpression, ===java.util.Map<java.lang.String, T>===) + 2 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(===io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>===, java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>, java.util.Set<io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(===io.trino.spi.predicate.TupleDomain<T>===, java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>, java.util.Set<T>) + 0 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, ===java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>===, java.util.Set<io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, ===java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>===, java.util.Set<T>) + 1 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>, ===java.util.Set<io.trino.spi.connector.ColumnHandle>===) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>, ===java.util.Set<T>===) + 2 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(===io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>===, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>, java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>, java.util.Set<io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(===io.trino.spi.predicate.TupleDomain<T>===, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, T>, java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>, java.util.Set<T>) + 0 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, io.trino.spi.expression.ConnectorExpression, ===java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>===, java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>, java.util.Set<io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, io.trino.spi.expression.ConnectorExpression, ===java.util.Map<java.lang.String, T>===, java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>, java.util.Set<T>) + 2 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>, ===java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>===, java.util.Set<io.trino.spi.connector.ColumnHandle>) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, T>, ===java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>===, java.util.Set<T>) + 3 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.parameterTypeParameterChanged + parameter void io.trino.spi.connector.Constraint::<init>(io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle>, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle>, java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>, ===java.util.Set<io.trino.spi.connector.ColumnHandle>===) + parameter void io.trino.spi.connector.Constraint<T>::<init>(io.trino.spi.predicate.TupleDomain<T>, io.trino.spi.expression.ConnectorExpression, java.util.Map<java.lang.String, T>, java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>, ===java.util.Set<T>===) + 4 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.returnTypeTypeParametersChanged + method java.util.Map<java.lang.String, io.trino.spi.connector.ColumnHandle> io.trino.spi.connector.Constraint::getAssignments() + method java.util.Map<java.lang.String, T> io.trino.spi.connector.Constraint<T>::getAssignments() + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.returnTypeTypeParametersChanged + method java.util.Optional<java.util.Set<io.trino.spi.connector.ColumnHandle>> io.trino.spi.connector.Constraint::getPredicateColumns() + method java.util.Optional<java.util.Set<T>> io.trino.spi.connector.Constraint<T>::getPredicateColumns() + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.returnTypeTypeParametersChanged + method io.trino.spi.predicate.TupleDomain<io.trino.spi.connector.ColumnHandle> io.trino.spi.connector.Constraint::getSummary() + method io.trino.spi.predicate.TupleDomain<T> io.trino.spi.connector.Constraint<T>::getSummary() + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.returnTypeTypeParametersChanged + method java.util.Optional<java.util.function.Predicate<java.util.Map<io.trino.spi.connector.ColumnHandle, io.trino.spi.predicate.NullableValue>>> io.trino.spi.connector.Constraint::predicate() + method java.util.Optional<java.util.function.Predicate<java.util.Map<T, io.trino.spi.predicate.NullableValue>>> io.trino.spi.connector.Constraint<T>::predicate() + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.generics.elementNowParameterized + class io.trino.spi.connector.Constraint + class io.trino.spi.connector.Constraint<T> + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.generics.formalTypeParameterAdded + class io.trino.spi.connector.Constraint + class io.trino.spi.connector.Constraint<T> + T + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + + true + java.method.parameterTypeParameterChanged + parameter java.util.Optional<io.trino.spi.connector.ConstraintApplicationResult<io.trino.spi.connector.ConnectorTableHandle>> io.trino.spi.connector.ConnectorMetadata::applyFilter(io.trino.spi.connector.ConnectorSession, io.trino.spi.connector.ConnectorTableHandle, ===io.trino.spi.connector.Constraint===) + parameter java.util.Optional<io.trino.spi.connector.ConstraintApplicationResult<io.trino.spi.connector.ConnectorTableHandle, io.trino.spi.connector.ColumnHandle>> io.trino.spi.connector.ConnectorMetadata::applyFilter(io.trino.spi.connector.ConnectorSession, io.trino.spi.connector.ConnectorTableHandle, ===io.trino.spi.connector.Constraint<io.trino.spi.connector.ColumnHandle>===) + 2 + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + + + true + java.method.returnTypeTypeParametersChanged + method java.util.Optional<io.trino.spi.connector.ConstraintApplicationResult<io.trino.spi.connector.ConnectorTableHandle>> io.trino.spi.connector.ConnectorMetadata::applyFilter(io.trino.spi.connector.ConnectorSession, io.trino.spi.connector.ConnectorTableHandle, io.trino.spi.connector.Constraint) + method java.util.Optional<io.trino.spi.connector.ConstraintApplicationResult<io.trino.spi.connector.ConnectorTableHandle, io.trino.spi.connector.ColumnHandle>> io.trino.spi.connector.ConnectorMetadata::applyFilter(io.trino.spi.connector.ConnectorSession, io.trino.spi.connector.ConnectorTableHandle, io.trino.spi.connector.Constraint<io.trino.spi.connector.ColumnHandle>) + ADD YOUR EXPLANATION FOR THE NECESSITY OF THIS CHANGE + diff --git a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java index 199bca0ebb81..6d7b24b5846b 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java +++ b/core/trino-spi/src/main/java/io/trino/spi/connector/ConnectorMetadata.java @@ -1088,7 +1088,7 @@ default Optional> applyLimit(Connec * * @param constraint constraint to be applied to the table. {@link Constraint#getSummary()} is guaranteed not to be {@link TupleDomain#isNone() none}. */ - default Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + default Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { // applyFilter is expected not to be invoked with a "false" constraint if (constraint.getSummary().isNone()) { diff --git a/core/trino-spi/src/main/java/io/trino/spi/connector/Constraint.java b/core/trino-spi/src/main/java/io/trino/spi/connector/Constraint.java index af40b8a46a08..1e617efe04e6 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/connector/Constraint.java +++ b/core/trino-spi/src/main/java/io/trino/spi/connector/Constraint.java @@ -26,16 +26,16 @@ import static io.trino.spi.expression.Constant.TRUE; import static java.util.Objects.requireNonNull; -public class Constraint +public class Constraint { private static final Constraint ALWAYS_TRUE = new Constraint(TupleDomain.all()); private static final Constraint ALWAYS_FALSE = new Constraint(TupleDomain.none(), bindings -> false, Set.of()); - private final TupleDomain summary; + private final TupleDomain summary; private final ConnectorExpression expression; - private final Map assignments; - private final Optional>> predicate; - private final Optional> predicateColumns; + private final Map assignments; + private final Optional>> predicate; + private final Optional> predicateColumns; public static Constraint alwaysTrue() { @@ -47,37 +47,37 @@ public static Constraint alwaysFalse() return ALWAYS_FALSE; } - public Constraint(TupleDomain summary) + public Constraint(TupleDomain summary) { this(summary, TRUE, Map.of(), Optional.empty(), Optional.empty()); } - public Constraint(TupleDomain summary, Predicate> predicate, Set predicateColumns) + public Constraint(TupleDomain summary, Predicate> predicate, Set predicateColumns) { this(summary, TRUE, Map.of(), Optional.of(predicate), Optional.of(predicateColumns)); } - public Constraint(TupleDomain summary, ConnectorExpression expression, Map assignments) + public Constraint(TupleDomain summary, ConnectorExpression expression, Map assignments) { this(summary, expression, assignments, Optional.empty(), Optional.empty()); } public Constraint( - TupleDomain summary, + TupleDomain summary, ConnectorExpression expression, - Map assignments, - Predicate> predicate, - Set predicateColumns) + Map assignments, + Predicate> predicate, + Set predicateColumns) { this(summary, expression, assignments, Optional.of(predicate), Optional.of(predicateColumns)); } private Constraint( - TupleDomain summary, + TupleDomain summary, ConnectorExpression expression, - Map assignments, - Optional>> predicate, - Optional> predicateColumns) + Map assignments, + Optional>> predicate, + Optional> predicateColumns) { this.summary = requireNonNull(summary, "summary is null"); this.expression = requireNonNull(expression, "expression is null"); @@ -96,7 +96,7 @@ private Constraint( /** * @return a predicate which is equivalent to, or looser than {@link #predicate} (if present), and should be AND-ed with, {@link #getExpression}. */ - public TupleDomain getSummary() + public TupleDomain getSummary() { return summary; } @@ -113,7 +113,7 @@ public ConnectorExpression getExpression() * @return mappings from variable names to table column handles * It is guaranteed that all the required mappings for {@link #getExpression} will be provided but not necessarily *all* the column handles of the table */ - public Map getAssignments() + public Map getAssignments() { return assignments; } @@ -126,7 +126,7 @@ public Map getAssignments() * * @see #getPredicateColumns() */ - public Optional>> predicate() + public Optional>> predicate() { return predicate; } @@ -134,7 +134,7 @@ public Optional>> predicate() /** * Set of columns the {@link #predicate()} result depends on. It's present if and only if {@link #predicate()} is present. */ - public Optional> getPredicateColumns() + public Optional> getPredicateColumns() { return predicateColumns; } diff --git a/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java b/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java index 23e413bb2710..c3993ef819f5 100644 --- a/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java +++ b/lib/trino-plugin-toolkit/src/main/java/io/trino/plugin/base/classloader/ClassLoaderSafeConnectorMetadata.java @@ -884,7 +884,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { try (ThreadContextClassLoader ignored = new ThreadContextClassLoader(classLoader)) { return delegate.applyFilter(session, table, constraint); diff --git a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java index 70269f132776..2bb0b11efabc 100644 --- a/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java +++ b/plugin/trino-accumulo/src/main/java/io/trino/plugin/accumulo/AccumuloMetadata.java @@ -365,7 +365,7 @@ public Map> listTableColumns(ConnectorSess } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { AccumuloTableHandle handle = (AccumuloTableHandle) table; diff --git a/plugin/trino-atop/src/main/java/io/trino/plugin/atop/AtopMetadata.java b/plugin/trino-atop/src/main/java/io/trino/plugin/atop/AtopMetadata.java index 8e1534de0f86..ade0e518270e 100644 --- a/plugin/trino-atop/src/main/java/io/trino/plugin/atop/AtopMetadata.java +++ b/plugin/trino-atop/src/main/java/io/trino/plugin/atop/AtopMetadata.java @@ -148,7 +148,7 @@ public ColumnMetadata getColumnMetadata(ConnectorSession session, ConnectorTable } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { AtopTableHandle handle = (AtopTableHandle) table; diff --git a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java index 786936c0889e..e97eeb6c1f9c 100644 --- a/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java +++ b/plugin/trino-base-jdbc/src/main/java/io/trino/plugin/jdbc/DefaultJdbcMetadata.java @@ -158,7 +158,7 @@ public Optional getSystemTable(ConnectorSession session, SchemaTabl } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { if (isTableHandleForProcedure(table)) { return Optional.empty(); diff --git a/plugin/trino-bigquery/src/main/java/io/trino/plugin/bigquery/BigQueryMetadata.java b/plugin/trino-bigquery/src/main/java/io/trino/plugin/bigquery/BigQueryMetadata.java index ae9abff05f31..b42473d20791 100644 --- a/plugin/trino-bigquery/src/main/java/io/trino/plugin/bigquery/BigQueryMetadata.java +++ b/plugin/trino-bigquery/src/main/java/io/trino/plugin/bigquery/BigQueryMetadata.java @@ -774,7 +774,7 @@ public Optional> applyProjecti public Optional> applyFilter( ConnectorSession session, ConnectorTableHandle handle, - Constraint constraint) + Constraint constraint) { log.debug("applyFilter(session=%s, handle=%s, summary=%s, predicate=%s, columns=%s)", session, handle, constraint.getSummary(), constraint.predicate(), constraint.getPredicateColumns()); diff --git a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java index 7f68202ecbe9..9e9d955eb224 100644 --- a/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java +++ b/plugin/trino-cassandra/src/main/java/io/trino/plugin/cassandra/CassandraMetadata.java @@ -227,7 +227,7 @@ public ColumnMetadata getColumnMetadata(ConnectorSession session, ConnectorTable } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle connectorTableHandle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle connectorTableHandle, Constraint constraint) { CassandraTableHandle tableHandle = (CassandraTableHandle) connectorTableHandle; if (tableHandle.isSynthetic()) { diff --git a/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnector.java b/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnector.java index 821c1818acea..c023cce04f77 100644 --- a/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnector.java +++ b/plugin/trino-cassandra/src/test/java/io/trino/plugin/cassandra/TestCassandraConnector.java @@ -188,7 +188,8 @@ public void testGetRecords() ConnectorTransactionHandle transaction = CassandraTransactionHandle.INSTANCE; - tableHandle = metadata.applyFilter(SESSION, tableHandle, Constraint.alwaysTrue()).get().getHandle(); + Constraint constraint = Constraint.alwaysTrue(); + tableHandle = metadata.applyFilter(SESSION, tableHandle, constraint).get().getHandle(); List splits = getAllSplits(splitManager.getSplits(transaction, SESSION, tableHandle, DynamicFilter.EMPTY, Constraint.alwaysTrue())); @@ -312,7 +313,8 @@ public void testGetUserDefinedType() ConnectorTransactionHandle transaction = CassandraTransactionHandle.INSTANCE; - tableHandle = metadata.applyFilter(SESSION, tableHandle, Constraint.alwaysTrue()).get().getHandle(); + Constraint constraint = Constraint.alwaysTrue(); + tableHandle = metadata.applyFilter(SESSION, tableHandle, constraint).get().getHandle(); List splits = getAllSplits(splitManager.getSplits(transaction, SESSION, tableHandle, DynamicFilter.EMPTY, Constraint.alwaysTrue())); diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java index f7ce92c9d5b3..2ac52fbcd347 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java @@ -2508,7 +2508,7 @@ public void rollback() } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { DeltaLakeTableHandle tableHandle = (DeltaLakeTableHandle) handle; SchemaTableName tableName = tableHandle.getSchemaTableName(); diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSplitManager.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSplitManager.java index b0cff466065e..98469f0b0a00 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSplitManager.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSplitManager.java @@ -144,7 +144,7 @@ private Stream getSplits( ConnectorSession session, Optional maxScannedFileSize, Set columnsCoveredByDynamicFilter, - Constraint constraint) + Constraint constraint) { TableSnapshot tableSnapshot; try { diff --git a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchMetadata.java b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchMetadata.java index bf4d52b506d7..b5e23913059f 100644 --- a/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchMetadata.java +++ b/plugin/trino-elasticsearch/src/main/java/io/trino/plugin/elasticsearch/ElasticsearchMetadata.java @@ -487,7 +487,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { ElasticsearchTableHandle handle = (ElasticsearchTableHandle) table; diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java index 7f93d9493bab..ea573253fe7a 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HiveMetadata.java @@ -2931,7 +2931,7 @@ public ConnectorTableProperties getTableProperties(ConnectorSession session, Con } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint) { HiveTableHandle handle = (HiveTableHandle) tableHandle; checkArgument(handle.getAnalyzePartitionValues().isEmpty() || constraint.getSummary().isAll(), "Analyze should not have a constraint"); diff --git a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePartitionManager.java b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePartitionManager.java index b105971a8aac..91cff3ce73dc 100644 --- a/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePartitionManager.java +++ b/plugin/trino-hive/src/main/java/io/trino/plugin/hive/HivePartitionManager.java @@ -67,7 +67,7 @@ public HivePartitionManager( this.domainCompactionThreshold = domainCompactionThreshold; } - public HivePartitionResult getPartitions(SemiTransactionalHiveMetastore metastore, ConnectorTableHandle tableHandle, Constraint constraint) + public HivePartitionResult getPartitions(SemiTransactionalHiveMetastore metastore, ConnectorTableHandle tableHandle, Constraint constraint) { HiveTableHandle hiveTableHandle = (HiveTableHandle) tableHandle; TupleDomain effectivePredicate = constraint.getSummary() @@ -140,7 +140,7 @@ public HivePartitionResult getPartitions(ConnectorTableHandle tableHandle, List< return new HivePartitionResult(partitionColumns, Optional.empty(), partitionList, TupleDomain.all(), TupleDomain.all(), bucketHandle, Optional.empty()); } - public HiveTableHandle applyPartitionResult(HiveTableHandle handle, HivePartitionResult partitions, Constraint constraint) + public HiveTableHandle applyPartitionResult(HiveTableHandle handle, HivePartitionResult partitions, Constraint constraint) { Optional> partitionNames = partitions.getPartitionNames(); TupleDomain enforcedConstraint = handle.getEnforcedConstraint(); diff --git a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java index f06ff628946d..22b458ea548f 100644 --- a/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java +++ b/plugin/trino-hive/src/test/java/io/trino/plugin/hive/AbstractTestHive.java @@ -5283,7 +5283,7 @@ protected ConnectorTableHandle getTableHandle(ConnectorMetadata metadata, Schema return handle; } - private HiveTableHandle applyFilter(ConnectorMetadata metadata, ConnectorTableHandle tableHandle, Constraint constraint) + private HiveTableHandle applyFilter(ConnectorMetadata metadata, ConnectorTableHandle tableHandle, Constraint constraint) { return metadata.applyFilter(newSession(), tableHandle, constraint) .map(ConstraintApplicationResult::getHandle) diff --git a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java index 4f684952b1e2..eea2e3b295c7 100644 --- a/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java +++ b/plugin/trino-hudi/src/main/java/io/trino/plugin/hudi/HudiMetadata.java @@ -158,7 +158,7 @@ public ConnectorTableMetadata getTableMetadata(ConnectorSession session, Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle tableHandle, Constraint constraint) { HudiTableHandle handle = (HudiTableHandle) tableHandle; HudiPredicates predicates = HudiPredicates.from(constraint.getSummary()); diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java index 09d574b50704..59dbeada5a08 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergMetadata.java @@ -2418,7 +2418,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { IcebergTableHandle table = (IcebergTableHandle) handle; ConstraintExtractor.ExtractionResult extractionResult = extractTupleDomain(constraint); diff --git a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergSplitSource.java b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergSplitSource.java index 0efebcf1a471..ee5237e98f98 100644 --- a/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergSplitSource.java +++ b/plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/IcebergSplitSource.java @@ -422,7 +422,7 @@ else if (upperBound != null) { static boolean partitionMatchesConstraint( Set identityPartitionColumns, Supplier> partitionValues, - Constraint constraint) + Constraint constraint) { // We use Constraint just to pass functional predicate here from DistributedExecutionPlanner verify(constraint.getSummary().isAll()); diff --git a/plugin/trino-jmx/src/main/java/io/trino/plugin/jmx/JmxMetadata.java b/plugin/trino-jmx/src/main/java/io/trino/plugin/jmx/JmxMetadata.java index 42956744c5a7..df5d433b899a 100644 --- a/plugin/trino-jmx/src/main/java/io/trino/plugin/jmx/JmxMetadata.java +++ b/plugin/trino-jmx/src/main/java/io/trino/plugin/jmx/JmxMetadata.java @@ -260,7 +260,7 @@ public Iterator streamTableColumns(ConnectorSession sessio } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { Map domains = constraint.getSummary().getDomains().orElseThrow(() -> new IllegalArgumentException("constraint summary is NONE")); diff --git a/plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/KafkaMetadata.java b/plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/KafkaMetadata.java index c0b2dead8918..aaba8df65d4b 100644 --- a/plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/KafkaMetadata.java +++ b/plugin/trino-kafka/src/main/java/io/trino/plugin/kafka/KafkaMetadata.java @@ -230,7 +230,7 @@ private ConnectorTableMetadata getTableMetadata(ConnectorSession session, Schema } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { KafkaTableHandle handle = (KafkaTableHandle) table; TupleDomain oldDomain = handle.getConstraint(); diff --git a/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java b/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java index 0a906fa90cf8..0a02f90dc73c 100755 --- a/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java +++ b/plugin/trino-kudu/src/main/java/io/trino/plugin/kudu/KuduMetadata.java @@ -443,7 +443,7 @@ public ConnectorTableProperties getTableProperties(ConnectorSession session, Con } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { KuduTableHandle handle = (KuduTableHandle) table; diff --git a/plugin/trino-local-file/src/main/java/io/trino/plugin/localfile/LocalFileMetadata.java b/plugin/trino-local-file/src/main/java/io/trino/plugin/localfile/LocalFileMetadata.java index be02610255c5..ffe25e42cf5b 100644 --- a/plugin/trino-local-file/src/main/java/io/trino/plugin/localfile/LocalFileMetadata.java +++ b/plugin/trino-local-file/src/main/java/io/trino/plugin/localfile/LocalFileMetadata.java @@ -132,7 +132,7 @@ private List listTables(ConnectorSession session, SchemaTablePr } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { LocalFileTableHandle handle = (LocalFileTableHandle) table; diff --git a/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java b/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java index 8aedb17db2a8..d9267671d890 100644 --- a/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java +++ b/plugin/trino-mongodb/src/main/java/io/trino/plugin/mongodb/MongoMetadata.java @@ -587,7 +587,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { MongoTableHandle handle = (MongoTableHandle) table; diff --git a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotMetadata.java b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotMetadata.java index 1910a1b30d22..57af83709124 100755 --- a/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotMetadata.java +++ b/plugin/trino-pinot/src/main/java/io/trino/plugin/pinot/PinotMetadata.java @@ -270,7 +270,7 @@ public Optional> applyLimit(Connect } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { PinotTableHandle handle = (PinotTableHandle) table; TupleDomain oldDomain = handle.getConstraint(); diff --git a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusMetadata.java b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusMetadata.java index ee0914065322..99f99fcdb841 100644 --- a/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusMetadata.java +++ b/plugin/trino-prometheus/src/main/java/io/trino/plugin/prometheus/PrometheusMetadata.java @@ -154,7 +154,7 @@ public ColumnMetadata getColumnMetadata(ConnectorSession session, ConnectorTable } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { PrometheusTableHandle tableHandle = ((PrometheusTableHandle) handle) .withPredicate(constraint.getSummary()); diff --git a/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java b/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java index 97ec15f9b81f..3b25517d4958 100644 --- a/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java +++ b/plugin/trino-raptor-legacy/src/main/java/io/trino/plugin/raptor/legacy/RaptorMetadata.java @@ -307,7 +307,7 @@ public Map> listTableColumns(ConnectorSess } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle handle, Constraint constraint) { RaptorTableHandle table = (RaptorTableHandle) handle; TupleDomain newDomain = constraint.getSummary().transformKeys(RaptorColumnHandle.class::cast); diff --git a/plugin/trino-redis/src/main/java/io/trino/plugin/redis/RedisMetadata.java b/plugin/trino-redis/src/main/java/io/trino/plugin/redis/RedisMetadata.java index 31ed3ff5b3ec..55f61bc6210b 100644 --- a/plugin/trino-redis/src/main/java/io/trino/plugin/redis/RedisMetadata.java +++ b/plugin/trino-redis/src/main/java/io/trino/plugin/redis/RedisMetadata.java @@ -188,7 +188,7 @@ public Map getColumnHandles(ConnectorSession session, Conn } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { RedisTableHandle handle = (RedisTableHandle) table; TupleDomain oldDomain = handle.getConstraint(); diff --git a/plugin/trino-thrift/src/main/java/io/trino/plugin/thrift/ThriftMetadata.java b/plugin/trino-thrift/src/main/java/io/trino/plugin/thrift/ThriftMetadata.java index b2595381d81e..d90b56305051 100644 --- a/plugin/trino-thrift/src/main/java/io/trino/plugin/thrift/ThriftMetadata.java +++ b/plugin/trino-thrift/src/main/java/io/trino/plugin/thrift/ThriftMetadata.java @@ -163,7 +163,7 @@ public Optional resolveIndex(ConnectorSession session, C } @Override - public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) + public Optional> applyFilter(ConnectorSession session, ConnectorTableHandle table, Constraint constraint) { ThriftTableHandle handle = (ThriftTableHandle) table; diff --git a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchMetadata.java b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchMetadata.java index 142811863a0b..2e6c5ae31435 100644 --- a/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchMetadata.java +++ b/plugin/trino-tpch/src/main/java/io/trino/plugin/tpch/TpchMetadata.java @@ -202,7 +202,7 @@ public TpchTableHandle getTableHandle(ConnectorSession session, SchemaTableName return new TpchTableHandle(tableName.getSchemaName(), tableName.getTableName(), scaleFactor); } - private Set filterValues(Set nullableValues, TpchColumn column, Constraint constraint) + private Set filterValues(Set nullableValues, TpchColumn column, Constraint constraint) { return nullableValues.stream() .filter(convertToPredicate(constraint.getSummary(), toColumnHandle(column)))